normalize ocs

This commit is contained in:
A.Unger
2021-11-08 12:19:26 +01:00
parent a515a97c8f
commit e297142529
4 changed files with 16 additions and 78 deletions
+3 -20
View File
@@ -73,11 +73,8 @@ func ParseConfig(c *cli.Context, cfg *config.Config) error {
// load all env variables relevant to the config in the current context.
conf.LoadOSEnv(config.GetEnv(), false)
if err = cfg.UnmapEnv(conf); err != nil {
return err
}
return nil
bindings := config.StructMappings(cfg)
return ociscfg.BindEnv(conf, bindings)
}
// SutureService allows for the ocs command to be embedded and supervised by a suture supervisor tree.
@@ -87,11 +84,7 @@ type SutureService struct {
// NewSutureService creates a new ocs.SutureService
func NewSutureService(cfg *ociscfg.Config) suture.Service {
inheritLogging(cfg)
if cfg.Mode == 0 {
cfg.OCS.Supervised = true
}
cfg.OCS.Log.File = cfg.Log.File
cfg.OCS.Log = cfg.Log
return SutureService{
cfg: cfg.OCS,
}
@@ -105,13 +98,3 @@ func (s SutureService) Serve(ctx context.Context) error {
return nil
}
// inheritLogging is a poor man's global logging state tip-toeing around circular dependencies. It sets the logging
// of the service to whatever is in the higher config (in this case coming from ocis.yaml) and sets them as defaults,
// being overwritten when the extension parses its config file / env variables.
func inheritLogging(cfg *ociscfg.Config) {
cfg.OCS.Log.File = cfg.Log.File
cfg.OCS.Log.Color = cfg.Log.Color
cfg.OCS.Log.Pretty = cfg.Log.Pretty
cfg.OCS.Log.Level = cfg.Log.Level
}
+1 -5
View File
@@ -26,11 +26,7 @@ func Server(cfg *config.Config) *cli.Command {
cfg.HTTP.Root = strings.TrimSuffix(cfg.HTTP.Root, "/")
}
if err := ParseConfig(ctx, cfg); err != nil {
return err
}
return nil
return ParseConfig(ctx, cfg)
},
Action: func(c *cli.Context) error {
logger := NewLogger(cfg)