diff --git a/ocis-pkg/config/parser/parse.go b/ocis-pkg/config/parser/parse.go index aa25038dd8..54c94d1e98 100644 --- a/ocis-pkg/config/parser/parse.go +++ b/ocis-pkg/config/parser/parse.go @@ -6,6 +6,7 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config" "github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" ) // ParseConfig loads the ocis configuration and @@ -36,7 +37,7 @@ func ParseConfig(cfg *config.Config, skipValidate bool) error { return Validate(cfg) } -// EnsureDefaults, ensures that all pointers in the +// EnsureDefaults ensures that all pointers in the // oCIS config (not the services configs) are initialized func EnsureDefaults(cfg *config.Config) { if cfg.Tracing == nil { @@ -67,39 +68,9 @@ func EnsureCommons(cfg *config.Config) { cfg.Commons = &shared.Commons{} } - // copy config to the commons part if set - if cfg.Log != nil { - cfg.Commons.Log = &shared.Log{ - Level: cfg.Log.Level, - Pretty: cfg.Log.Pretty, - Color: cfg.Log.Color, - File: cfg.File, - } - } else { - cfg.Commons.Log = &shared.Log{} - } - - // copy tracing to the commons part if set - if cfg.Tracing != nil { - cfg.Commons.Tracing = &shared.Tracing{ - Enabled: cfg.Tracing.Enabled, - Type: cfg.Tracing.Type, - Endpoint: cfg.Tracing.Endpoint, - Collector: cfg.Tracing.Collector, - } - } else { - cfg.Commons.Tracing = &shared.Tracing{} - } - - if cfg.CacheStore != nil { - cfg.Commons.CacheStore = &shared.CacheStore{ - Type: cfg.CacheStore.Type, - Address: cfg.CacheStore.Address, - Size: cfg.CacheStore.Size, - } - } else { - cfg.Commons.CacheStore = &shared.CacheStore{} - } + cfg.Commons.Log = structs.CopyOrZeroValue(cfg.Log) + cfg.Commons.Tracing = structs.CopyOrZeroValue(cfg.Tracing) + cfg.Commons.CacheStore = structs.CopyOrZeroValue(cfg.CacheStore) if cfg.GRPCClientTLS != nil { cfg.Commons.GRPCClientTLS = cfg.GRPCClientTLS @@ -111,12 +82,7 @@ func EnsureCommons(cfg *config.Config) { cfg.Commons.HTTPServiceTLS = cfg.HTTPServiceTLS - // copy token manager to the commons part if set - if cfg.TokenManager != nil { - cfg.Commons.TokenManager = cfg.TokenManager - } else { - cfg.Commons.TokenManager = &shared.TokenManager{} - } + cfg.Commons.TokenManager = structs.CopyOrZeroValue(cfg.TokenManager) // copy machine auth api key to the commons part if set if cfg.MachineAuthAPIKey != "" { @@ -147,6 +113,8 @@ func EnsureCommons(cfg *config.Config) { } } +// Validate checks that all required configs are set. If a required config value +// is missing an error will be returned. func Validate(cfg *config.Config) error { if cfg.TokenManager.JWTSecret == "" { return shared.MissingJWTTokenError("ocis") diff --git a/ocis-pkg/structs/structs.go b/ocis-pkg/structs/structs.go new file mode 100644 index 0000000000..b6545d048a --- /dev/null +++ b/ocis-pkg/structs/structs.go @@ -0,0 +1,11 @@ +// Package structs provides some utility functions for dealing with structs. +package structs + +// CopyOrZeroValue returns a copy of s if s is not nil otherwise the zero value of T will be returned. +func CopyOrZeroValue[T any](s *T) *T { + cp := new(T) + if s != nil { + *cp = *s + } + return cp +} diff --git a/ocis-pkg/structs/structs_test.go b/ocis-pkg/structs/structs_test.go new file mode 100644 index 0000000000..1e8f4096cd --- /dev/null +++ b/ocis-pkg/structs/structs_test.go @@ -0,0 +1,38 @@ +package structs + +import "testing" + +type example struct { + Attribute1 string + Attribute2 string +} + +func TestCopyOrZeroValue(t *testing.T) { + var e *example + + zv := CopyOrZeroValue(e) + + if zv == nil { + t.Error("CopyOrZeroValue returned nil") + } + + if zv.Attribute1 != "" || zv.Attribute2 != "" { + t.Error("CopyOrZeroValue didn't return zero value") + } + + e2 := &example{Attribute1: "One", Attribute2: "Two"} + + cp := CopyOrZeroValue(e2) + + if cp == nil { + t.Error("CopyOrZeroValue returned nil") + } + + if cp == e2 { + t.Error("CopyOrZeroValue returned reference with same address") + } + + if cp.Attribute1 != e2.Attribute1 || cp.Attribute2 != e2.Attribute2 { + t.Error("CopyOrZeroValue didn't correctly copy attributes") + } +} diff --git a/services/app-provider/pkg/config/defaults/defaultconfig.go b/services/app-provider/pkg/config/defaults/defaultconfig.go index 57a4be8343..33e1506bdd 100644 --- a/services/app-provider/pkg/config/defaults/defaultconfig.go +++ b/services/app-provider/pkg/config/defaults/defaultconfig.go @@ -2,9 +2,11 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/app-provider/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -12,6 +14,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -39,6 +42,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -63,13 +67,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -80,20 +79,18 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } +// Validate checks that all required configs are set. If a required config value +// is missing an error will be returned. func Validate(cfg *config.Config) error { if cfg.TokenManager.JWTSecret == "" { return shared.MissingJWTTokenError(cfg.Service.Name) diff --git a/services/app-registry/pkg/config/defaults/defaultconfig.go b/services/app-registry/pkg/config/defaults/defaultconfig.go index de7e019529..5cbc26c715 100644 --- a/services/app-registry/pkg/config/defaults/defaultconfig.go +++ b/services/app-registry/pkg/config/defaults/defaultconfig.go @@ -2,9 +2,11 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/app-registry/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -12,6 +14,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -104,6 +107,7 @@ func defaultMimeTypeConfig() []config.MimeTypeConfig { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -128,13 +132,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -145,13 +144,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } diff --git a/services/auth-basic/pkg/config/defaults/defaultconfig.go b/services/auth-basic/pkg/config/defaults/defaultconfig.go index 630aec30b6..82d6c254e1 100644 --- a/services/auth-basic/pkg/config/defaults/defaultconfig.go +++ b/services/auth-basic/pkg/config/defaults/defaultconfig.go @@ -5,9 +5,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/auth-basic/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -15,6 +17,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -78,6 +81,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -102,13 +106,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -119,16 +118,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/auth-bearer/pkg/config/defaults/defaultconfig.go b/services/auth-bearer/pkg/config/defaults/defaultconfig.go index e9a3eaf2da..457eae88f0 100644 --- a/services/auth-bearer/pkg/config/defaults/defaultconfig.go +++ b/services/auth-bearer/pkg/config/defaults/defaultconfig.go @@ -2,9 +2,11 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/auth-bearer/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -12,6 +14,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -37,6 +40,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -61,13 +65,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -78,16 +77,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/auth-machine/pkg/config/defaults/defaultconfig.go b/services/auth-machine/pkg/config/defaults/defaultconfig.go index 242db54a57..3123334d56 100644 --- a/services/auth-machine/pkg/config/defaults/defaultconfig.go +++ b/services/auth-machine/pkg/config/defaults/defaultconfig.go @@ -2,9 +2,11 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/auth-machine/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -12,6 +14,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -32,6 +35,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -56,13 +60,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -77,16 +76,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.MachineAuthAPIKey = cfg.Commons.MachineAuthAPIKey } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/eventhistory/pkg/command/root.go b/services/eventhistory/pkg/command/root.go index 73107f1085..f2cf663899 100644 --- a/services/eventhistory/pkg/command/root.go +++ b/services/eventhistory/pkg/command/root.go @@ -43,7 +43,7 @@ type SutureService struct { // NewSutureService creates a new eventhistory.SutureService func NewSutureService(cfg *ociscfg.Config) suture.Service { - cfg.Notifications.Commons = cfg.Commons + cfg.EventHistory.Commons = cfg.Commons return SutureService{ cfg: cfg.EventHistory, } diff --git a/services/eventhistory/pkg/config/defaults/defaultconfig.go b/services/eventhistory/pkg/config/defaults/defaultconfig.go index a61d411c4b..d37b6fbe1b 100644 --- a/services/eventhistory/pkg/config/defaults/defaultconfig.go +++ b/services/eventhistory/pkg/config/defaults/defaultconfig.go @@ -3,7 +3,7 @@ package defaults import ( "time" - "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/eventhistory/pkg/config" ) @@ -51,20 +51,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.Log = &config.Log{} } - if cfg.GRPCClientTLS == nil { - cfg.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.GRPCClientTLS = cfg.Commons.GRPCClientTLS - } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } diff --git a/services/frontend/pkg/config/defaults/defaultconfig.go b/services/frontend/pkg/config/defaults/defaultconfig.go index 526d5a81b6..ed03512773 100644 --- a/services/frontend/pkg/config/defaults/defaultconfig.go +++ b/services/frontend/pkg/config/defaults/defaultconfig.go @@ -2,9 +2,11 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/frontend/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -12,6 +14,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -114,6 +117,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -138,13 +142,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -165,6 +164,7 @@ func EnsureDefaults(cfg *config.Config) { } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/gateway/pkg/config/defaults/defaultconfig.go b/services/gateway/pkg/config/defaults/defaultconfig.go index adf7a84226..72ffb74b00 100644 --- a/services/gateway/pkg/config/defaults/defaultconfig.go +++ b/services/gateway/pkg/config/defaults/defaultconfig.go @@ -2,9 +2,11 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/gateway/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -12,6 +14,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -61,6 +64,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -85,13 +89,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -106,16 +105,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.TransferSecret = cfg.Commons.TransferSecret } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/graph/pkg/config/defaults/defaultconfig.go b/services/graph/pkg/config/defaults/defaultconfig.go index 7b9a4563db..d6c11b6f96 100644 --- a/services/graph/pkg/config/defaults/defaultconfig.go +++ b/services/graph/pkg/config/defaults/defaultconfig.go @@ -7,9 +7,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/graph/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -17,6 +19,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -88,6 +91,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -130,12 +134,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPCClientTLS == nil { - cfg.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.GRPCClientTLS.Mode = cfg.Commons.GRPCClientTLS.Mode - cfg.GRPCClientTLS.CACert = cfg.Commons.GRPCClientTLS.CACert - } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } if cfg.Commons != nil { @@ -143,6 +143,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // sanitize config if cfg.HTTP.Root != "/" { diff --git a/services/groups/pkg/config/defaults/defaultconfig.go b/services/groups/pkg/config/defaults/defaultconfig.go index 62cfe0e4e9..1a93ea1525 100644 --- a/services/groups/pkg/config/defaults/defaultconfig.go +++ b/services/groups/pkg/config/defaults/defaultconfig.go @@ -5,9 +5,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/groups/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -15,6 +17,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -79,6 +82,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -103,13 +107,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -120,16 +119,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/idm/pkg/config/defaults/defaultconfig.go b/services/idm/pkg/config/defaults/defaultconfig.go index c44dc13124..2a977b354e 100644 --- a/services/idm/pkg/config/defaults/defaultconfig.go +++ b/services/idm/pkg/config/defaults/defaultconfig.go @@ -7,6 +7,7 @@ import ( "github.com/owncloud/ocis/v2/services/idm/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -14,6 +15,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -32,6 +34,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -61,6 +64,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitizes the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here } diff --git a/services/idp/pkg/config/defaults/defaultconfig.go b/services/idp/pkg/config/defaults/defaultconfig.go index c65dafda06..c996b42795 100644 --- a/services/idp/pkg/config/defaults/defaultconfig.go +++ b/services/idp/pkg/config/defaults/defaultconfig.go @@ -6,9 +6,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/idp/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -16,6 +18,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -128,6 +131,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -152,13 +156,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.MachineAuthAPIKey == "" && cfg.Commons != nil && cfg.Commons.MachineAuthAPIKey != "" { @@ -166,6 +165,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitizes the configuration func Sanitize(cfg *config.Config) { // sanitize config if cfg.HTTP.Root != "/" { diff --git a/services/nats/pkg/config/defaults/defaultconfig.go b/services/nats/pkg/config/defaults/defaultconfig.go index 30ef1ace24..f4bf4f64e2 100644 --- a/services/nats/pkg/config/defaults/defaultconfig.go +++ b/services/nats/pkg/config/defaults/defaultconfig.go @@ -10,6 +10,7 @@ import ( // NOTE: Most of this configuration is not needed to keep it as simple as possible // TODO: Clean up unneeded configuration +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -17,6 +18,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -37,6 +39,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -51,6 +54,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitizes the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/notifications/pkg/config/defaults/defaultconfig.go b/services/notifications/pkg/config/defaults/defaultconfig.go index 20e3582d87..20cd473304 100644 --- a/services/notifications/pkg/config/defaults/defaultconfig.go +++ b/services/notifications/pkg/config/defaults/defaultconfig.go @@ -2,9 +2,11 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/notifications/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -15,6 +17,7 @@ func FullDefaultConfig() *config.Config { // NOTE: Most of this configuration is not needed to keep it as simple as possible // TODO: Clean up unneeded configuration +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -43,6 +46,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -59,14 +63,12 @@ func EnsureDefaults(cfg *config.Config) { if cfg.Notifications.MachineAuthAPIKey == "" && cfg.Commons != nil && cfg.Commons.MachineAuthAPIKey != "" { cfg.Notifications.MachineAuthAPIKey = cfg.Commons.MachineAuthAPIKey } - if cfg.Notifications.GRPCClientTLS == nil { - cfg.Notifications.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.Notifications.GRPCClientTLS = cfg.Commons.GRPCClientTLS - } + if cfg.Notifications.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.Notifications.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } } +// Sanitize sanitizes the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/ocdav/pkg/config/defaults/defaultconfig.go b/services/ocdav/pkg/config/defaults/defaultconfig.go index 6d6fae5223..e29abfe39a 100644 --- a/services/ocdav/pkg/config/defaults/defaultconfig.go +++ b/services/ocdav/pkg/config/defaults/defaultconfig.go @@ -2,10 +2,12 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/ocis-pkg/version" "github.com/owncloud/ocis/v2/services/ocdav/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -13,6 +15,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -49,6 +52,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -73,13 +77,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -95,6 +94,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitizes the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/ocs/pkg/config/defaults/defaultconfig.go b/services/ocs/pkg/config/defaults/defaultconfig.go index 9b04fb99f8..eaf58ede56 100644 --- a/services/ocs/pkg/config/defaults/defaultconfig.go +++ b/services/ocs/pkg/config/defaults/defaultconfig.go @@ -6,6 +6,7 @@ import ( "github.com/owncloud/ocis/v2/services/ocs/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -13,6 +14,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -38,6 +40,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -85,6 +88,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitizes the configuration func Sanitize(cfg *config.Config) { // sanitize config if cfg.HTTP.Root != "/" { diff --git a/services/proxy/pkg/config/defaults/defaultconfig.go b/services/proxy/pkg/config/defaults/defaultconfig.go index daf3a7534e..f1316cf912 100644 --- a/services/proxy/pkg/config/defaults/defaultconfig.go +++ b/services/proxy/pkg/config/defaults/defaultconfig.go @@ -6,9 +6,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/proxy/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -16,6 +18,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -63,6 +66,7 @@ func DefaultConfig() *config.Config { } } +// DefaultPolicies returns the default proxy policies. func DefaultPolicies() []config.Policy { return []config.Policy{ { @@ -249,21 +253,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.MachineAuthAPIKey = cfg.Commons.MachineAuthAPIKey } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } - if cfg.GRPCClientTLS == nil { - cfg.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.GRPCClientTLS.Mode = cfg.Commons.GRPCClientTLS.Mode - cfg.GRPCClientTLS.CACert = cfg.Commons.GRPCClientTLS.CACert - } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } } diff --git a/services/search/pkg/config/defaults/defaultconfig.go b/services/search/pkg/config/defaults/defaultconfig.go index 7fb9ef946f..095a6891bf 100644 --- a/services/search/pkg/config/defaults/defaultconfig.go +++ b/services/search/pkg/config/defaults/defaultconfig.go @@ -5,9 +5,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/search/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() @@ -16,6 +18,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -83,28 +86,14 @@ func EnsureDefaults(cfg *config.Config) { cfg.MachineAuthAPIKey = cfg.Commons.MachineAuthAPIKey } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } - if cfg.GRPCClientTLS == nil { - cfg.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.GRPCClientTLS.Mode = cfg.Commons.GRPCClientTLS.Mode - cfg.GRPCClientTLS.CACert = cfg.Commons.GRPCClientTLS.CACert - } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } diff --git a/services/settings/pkg/config/defaults/defaultconfig.go b/services/settings/pkg/config/defaults/defaultconfig.go index 1c07e7005a..bb216f51b6 100644 --- a/services/settings/pkg/config/defaults/defaultconfig.go +++ b/services/settings/pkg/config/defaults/defaultconfig.go @@ -7,12 +7,13 @@ import ( "strings" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" - "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/settings/pkg/config" rdefaults "github.com/owncloud/ocis/v2/services/settings/pkg/store/defaults" "github.com/pkg/errors" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -60,6 +61,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -104,20 +106,11 @@ func EnsureDefaults(cfg *config.Config) { cfg.AdminUserID = cfg.Commons.AdminUserID } - if cfg.GRPCClientTLS == nil { - cfg.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.GRPCClientTLS.Mode = cfg.Commons.GRPCClientTLS.Mode - cfg.GRPCClientTLS.CACert = cfg.Commons.GRPCClientTLS.CACert - } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } if cfg.Commons != nil { @@ -125,6 +118,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // sanitize config if cfg.HTTP.Root != "/" { diff --git a/services/sharing/pkg/config/defaults/defaultconfig.go b/services/sharing/pkg/config/defaults/defaultconfig.go index 5049e1d8ea..044e4694a3 100644 --- a/services/sharing/pkg/config/defaults/defaultconfig.go +++ b/services/sharing/pkg/config/defaults/defaultconfig.go @@ -5,9 +5,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/sharing/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -15,6 +17,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -75,14 +78,14 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { cfg.Log = &config.Log{ Level: cfg.Commons.Log.Level, - Pretty: cfg.Commons.Log.Pretty, - Color: cfg.Commons.Log.Color, - File: cfg.Commons.Log.File, + Pretty: cfg.Commons.Log.Pretty, Color: cfg.Commons.Log.Color, + File: cfg.Commons.Log.File, } } else if cfg.Log == nil { cfg.Log = &config.Log{} @@ -99,13 +102,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -116,13 +114,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } if cfg.UserSharingDrivers.CS3.SystemUserAPIKey == "" && cfg.Commons != nil && cfg.Commons.SystemUserAPIKey != "" { @@ -158,6 +151,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/storage-publiclink/pkg/config/defaults/defaultconfig.go b/services/storage-publiclink/pkg/config/defaults/defaultconfig.go index 9497a28ed0..c69e97616e 100644 --- a/services/storage-publiclink/pkg/config/defaults/defaultconfig.go +++ b/services/storage-publiclink/pkg/config/defaults/defaultconfig.go @@ -2,9 +2,11 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/storage-publiclink/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -12,6 +14,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -35,6 +38,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -59,13 +63,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -76,16 +75,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/storage-shares/pkg/config/defaults/defaultconfig.go b/services/storage-shares/pkg/config/defaults/defaultconfig.go index dcc1d3c4f5..44680f424a 100644 --- a/services/storage-shares/pkg/config/defaults/defaultconfig.go +++ b/services/storage-shares/pkg/config/defaults/defaultconfig.go @@ -2,9 +2,11 @@ package defaults import ( "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/storage-shares/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -12,6 +14,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -35,6 +38,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -59,13 +63,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -76,16 +75,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/storage-system/pkg/config/defaults/defaultconfig.go b/services/storage-system/pkg/config/defaults/defaultconfig.go index 01a1a459ec..141ccc725c 100644 --- a/services/storage-system/pkg/config/defaults/defaultconfig.go +++ b/services/storage-system/pkg/config/defaults/defaultconfig.go @@ -5,9 +5,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/storage-system/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -15,6 +17,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -54,6 +57,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -78,13 +82,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -103,17 +102,13 @@ func EnsureDefaults(cfg *config.Config) { cfg.SystemUserID = cfg.Commons.SystemUserID } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/storage-users/pkg/config/defaults/defaultconfig.go b/services/storage-users/pkg/config/defaults/defaultconfig.go index 494a7c8ea8..78f982fd20 100644 --- a/services/storage-users/pkg/config/defaults/defaultconfig.go +++ b/services/storage-users/pkg/config/defaults/defaultconfig.go @@ -6,9 +6,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -16,6 +18,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -99,6 +102,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -123,13 +127,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -140,13 +139,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } if cfg.Tasks.PurgeTrashBin.UserID == "" && cfg.Commons != nil { @@ -154,6 +148,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/store/pkg/config/defaults/defaultconfig.go b/services/store/pkg/config/defaults/defaultconfig.go index ffd1dc0ad3..c07c3161e2 100644 --- a/services/store/pkg/config/defaults/defaultconfig.go +++ b/services/store/pkg/config/defaults/defaultconfig.go @@ -4,10 +4,11 @@ import ( "path" "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" - "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/store/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -15,6 +16,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -34,6 +36,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -58,23 +61,15 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.GRPCClientTLS == nil { - cfg.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.GRPCClientTLS.Mode = cfg.Commons.GRPCClientTLS.Mode - cfg.GRPCClientTLS.CACert = cfg.Commons.GRPCClientTLS.CACert - } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/thumbnails/pkg/config/defaults/defaultconfig.go b/services/thumbnails/pkg/config/defaults/defaultconfig.go index 3349521a72..84c1011ef6 100644 --- a/services/thumbnails/pkg/config/defaults/defaultconfig.go +++ b/services/thumbnails/pkg/config/defaults/defaultconfig.go @@ -6,9 +6,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/thumbnails/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -16,6 +18,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -49,6 +52,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -73,20 +77,11 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.GRPCClientTLS == nil { - cfg.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.GRPCClientTLS.Mode = cfg.Commons.GRPCClientTLS.Mode - cfg.GRPCClientTLS.CACert = cfg.Commons.GRPCClientTLS.CACert - } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } if cfg.Commons != nil { @@ -94,6 +89,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm if len(cfg.Thumbnail.Resolutions) == 1 && strings.Contains(cfg.Thumbnail.Resolutions[0], ",") { diff --git a/services/userlog/pkg/config/defaults/defaultconfig.go b/services/userlog/pkg/config/defaults/defaultconfig.go index 5db2b5ce58..a228e387e6 100644 --- a/services/userlog/pkg/config/defaults/defaultconfig.go +++ b/services/userlog/pkg/config/defaults/defaultconfig.go @@ -4,6 +4,7 @@ import ( "strings" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/userlog/pkg/config" ) @@ -62,11 +63,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.MachineAuthAPIKey = cfg.Commons.MachineAuthAPIKey } - if cfg.GRPCClientTLS == nil { - cfg.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.GRPCClientTLS = cfg.Commons.GRPCClientTLS - } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { diff --git a/services/users/pkg/config/defaults/defaultconfig.go b/services/users/pkg/config/defaults/defaultconfig.go index 1fe0ee094c..8bfb21245e 100644 --- a/services/users/pkg/config/defaults/defaultconfig.go +++ b/services/users/pkg/config/defaults/defaultconfig.go @@ -5,9 +5,11 @@ import ( "github.com/owncloud/ocis/v2/ocis-pkg/config/defaults" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/users/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -15,6 +17,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -80,6 +83,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -104,13 +108,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.Reva == nil && cfg.Commons != nil && cfg.Commons.Reva != nil { - cfg.Reva = &shared.Reva{ - Address: cfg.Commons.Reva.Address, - TLS: cfg.Commons.Reva.TLS, - } - } else if cfg.Reva == nil { - cfg.Reva = &shared.Reva{} + if cfg.Reva == nil && cfg.Commons != nil { + cfg.Reva = structs.CopyOrZeroValue(cfg.Commons.Reva) } if cfg.TokenManager == nil && cfg.Commons != nil && cfg.Commons.TokenManager != nil { @@ -121,16 +120,12 @@ func EnsureDefaults(cfg *config.Config) { cfg.TokenManager = &config.TokenManager{} } - if cfg.GRPC.TLS == nil { - cfg.GRPC.TLS = &shared.GRPCServiceTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCServiceTLS != nil { - cfg.GRPC.TLS.Enabled = cfg.Commons.GRPCServiceTLS.Enabled - cfg.GRPC.TLS.Cert = cfg.Commons.GRPCServiceTLS.Cert - cfg.GRPC.TLS.Key = cfg.Commons.GRPCServiceTLS.Key - } + if cfg.GRPC.TLS == nil && cfg.Commons != nil { + cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // nothing to sanitize here atm } diff --git a/services/web/pkg/config/defaults/defaultconfig.go b/services/web/pkg/config/defaults/defaultconfig.go index af64d6635a..1c1446320d 100644 --- a/services/web/pkg/config/defaults/defaultconfig.go +++ b/services/web/pkg/config/defaults/defaultconfig.go @@ -8,6 +8,7 @@ import ( "github.com/owncloud/ocis/v2/services/web/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -15,6 +16,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -72,6 +74,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -108,6 +111,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // sanitize config if cfg.HTTP.Root != "/" { diff --git a/services/webdav/pkg/config/defaults/defaultconfig.go b/services/webdav/pkg/config/defaults/defaultconfig.go index 083d0a1a32..3b8350436b 100644 --- a/services/webdav/pkg/config/defaults/defaultconfig.go +++ b/services/webdav/pkg/config/defaults/defaultconfig.go @@ -4,9 +4,11 @@ import ( "strings" "github.com/owncloud/ocis/v2/ocis-pkg/shared" + "github.com/owncloud/ocis/v2/ocis-pkg/structs" "github.com/owncloud/ocis/v2/services/webdav/pkg/config" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -14,6 +16,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -42,6 +45,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -66,12 +70,8 @@ func EnsureDefaults(cfg *config.Config) { cfg.Tracing = &config.Tracing{} } - if cfg.GRPCClientTLS == nil { - cfg.GRPCClientTLS = &shared.GRPCClientTLS{} - if cfg.Commons != nil && cfg.Commons.GRPCClientTLS != nil { - cfg.GRPCClientTLS.Mode = cfg.Commons.GRPCClientTLS.Mode - cfg.GRPCClientTLS.CACert = cfg.Commons.GRPCClientTLS.CACert - } + if cfg.GRPCClientTLS == nil && cfg.Commons != nil { + cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } if cfg.Commons != nil { @@ -79,6 +79,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // sanitize config if cfg.HTTP.Root != "/" { diff --git a/services/webfinger/pkg/config/defaults/defaultconfig.go b/services/webfinger/pkg/config/defaults/defaultconfig.go index 8804756b37..1fc4cf9f2e 100644 --- a/services/webfinger/pkg/config/defaults/defaultconfig.go +++ b/services/webfinger/pkg/config/defaults/defaultconfig.go @@ -7,6 +7,7 @@ import ( "github.com/owncloud/ocis/v2/services/webfinger/pkg/relations" ) +// FullDefaultConfig returns a fully initialized default configuration func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) @@ -14,6 +15,7 @@ func FullDefaultConfig() *config.Config { return cfg } +// DefaultConfig returns a basic default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ @@ -49,6 +51,7 @@ func DefaultConfig() *config.Config { } } +// EnsureDefaults adds default values to the configuration if they are not set yet func EnsureDefaults(cfg *config.Config) { // provide with defaults for shared logging, since we need a valid destination address for "envdecode". if cfg.Log == nil && cfg.Commons != nil && cfg.Commons.Log != nil { @@ -78,6 +81,7 @@ func EnsureDefaults(cfg *config.Config) { } } +// Sanitize sanitized the configuration func Sanitize(cfg *config.Config) { // sanitize config if cfg.HTTP.Root != "/" {