refactor(config): move loading and setup into init

This commit is contained in:
Trong Huu Nguyen
2022-07-20 11:21:54 +02:00
parent eac2d5789d
commit 13f1713fc2
2 changed files with 29 additions and 25 deletions

View File

@@ -4,13 +4,11 @@ import (
"context"
"fmt"
"github.com/nais/liberator/pkg/conftools"
log "github.com/sirupsen/logrus"
"github.com/nais/wonderwall/pkg/config"
"github.com/nais/wonderwall/pkg/crypto"
"github.com/nais/wonderwall/pkg/handler"
"github.com/nais/wonderwall/pkg/logging"
"github.com/nais/wonderwall/pkg/metrics"
openidconfig "github.com/nais/wonderwall/pkg/openid/config"
"github.com/nais/wonderwall/pkg/router"
@@ -18,33 +16,11 @@ import (
"github.com/nais/wonderwall/pkg/session"
)
var maskedConfig = []string{
config.OpenIDClientJWK,
config.EncryptionKey,
config.RedisPassword,
}
func run() error {
cfg, err := config.Initialize()
if err != nil {
return err
}
if err := conftools.Load(cfg); err != nil {
return err
}
if err := cfg.Validate(); err != nil {
return err
}
if err := logging.Setup(cfg.LogLevel, cfg.LogFormat); err != nil {
return err
}
log.Tracef("Trace logging enabled")
for _, line := range conftools.Format(maskedConfig) {
log.WithField("logger", "wonderwall.config").Info(line)
}
key, err := crypto.EncryptionKeyOrGenerate(cfg)
if err != nil {

View File

@@ -6,8 +6,11 @@ import (
"time"
"github.com/nais/liberator/pkg/conftools"
log "github.com/sirupsen/logrus"
flag "github.com/spf13/pflag"
"github.com/spf13/viper"
"github.com/nais/wonderwall/pkg/logging"
)
type Config struct {
@@ -128,5 +131,30 @@ func Initialize() (*Config, error) {
viper.Set(OpenIDProvider, ProviderOpenID)
}
return &Config{}, nil
cfg := new(Config)
if err := conftools.Load(cfg); err != nil {
return nil, err
}
if err := cfg.Validate(); err != nil {
return nil, err
}
if err := logging.Setup(cfg.LogLevel, cfg.LogFormat); err != nil {
return nil, err
}
log.Tracef("Trace logging enabled")
maskedConfig := []string{
OpenIDClientJWK,
EncryptionKey,
RedisPassword,
}
for _, line := range conftools.Format(maskedConfig) {
log.WithField("logger", "wonderwall.config").Info(line)
}
return cfg, nil
}