package defaults import ( "github.com/qsfera/server/pkg/structs" "github.com/qsfera/server/services/eventhistory/pkg/config" ) // FullDefaultConfig returns the full default config func FullDefaultConfig() *config.Config { cfg := DefaultConfig() EnsureDefaults(cfg) Sanitize(cfg) return cfg } // DefaultConfig return the default configuration func DefaultConfig() *config.Config { return &config.Config{ Debug: config.Debug{ Addr: "127.0.0.1:9270", Token: "", Pprof: false, Zpages: false, }, Service: config.Service{ Name: "eventhistory", }, Events: config.Events{ Endpoint: "127.0.0.1:9233", Cluster: "qsfera-cluster", EnableTLS: false, }, Store: config.Store{ Store: "nats-js-kv", Nodes: []string{"127.0.0.1:9233"}, Database: "eventhistory", Table: "", TTL: 0, }, GRPC: config.GRPCConfig{ Addr: "127.0.0.1:9274", Namespace: "qsfera.api", }, } } // EnsureDefaults ensures the config contains default values func EnsureDefaults(cfg *config.Config) { if cfg.LogLevel == "" { cfg.LogLevel = "error" } if cfg.GRPCClientTLS == nil && cfg.Commons != nil { cfg.GRPCClientTLS = structs.CopyOrZeroValue(cfg.Commons.GRPCClientTLS) } if cfg.GRPC.TLS == nil && cfg.Commons != nil { cfg.GRPC.TLS = structs.CopyOrZeroValue(cfg.Commons.GRPCServiceTLS) } } // Sanitize sanitizes the config func Sanitize(cfg *config.Config) { // nothing to sanitize here atm }