44 "fmt"
55 "log"
66 "strings"
7+ "time"
78
89 "github.com/open-feature/flagd/core/pkg/logger"
910 "github.com/open-feature/flagd/core/pkg/sync"
@@ -16,22 +17,23 @@ import (
1617)
1718
1819const (
19- corsFlagName = "cors-origin"
20- logFormatFlagName = "log-format"
21- managementPortFlagName = "management-port"
22- metricsExporter = "metrics-exporter"
23- ofrepPortFlagName = "ofrep-port"
24- otelCollectorURI = "otel-collector-uri"
25- otelCertPathFlagName = "otel-cert-path"
26- otelKeyPathFlagName = "otel-key-path"
27- otelCAPathFlagName = "otel-ca-path"
28- portFlagName = "port"
29- serverCertPathFlagName = "server-cert-path"
30- serverKeyPathFlagName = "server-key-path"
31- socketPathFlagName = "socket-path"
32- sourcesFlagName = "sources"
33- syncPortFlagName = "sync-port"
34- uriFlagName = "uri"
20+ corsFlagName = "cors-origin"
21+ logFormatFlagName = "log-format"
22+ managementPortFlagName = "management-port"
23+ metricsExporter = "metrics-exporter"
24+ ofrepPortFlagName = "ofrep-port"
25+ otelCollectorURI = "otel-collector-uri"
26+ otelCertPathFlagName = "otel-cert-path"
27+ otelKeyPathFlagName = "otel-key-path"
28+ otelCAPathFlagName = "otel-ca-path"
29+ otelReloadIntervalFlagName = "otel-reload-interval"
30+ portFlagName = "port"
31+ serverCertPathFlagName = "server-cert-path"
32+ serverKeyPathFlagName = "server-key-path"
33+ socketPathFlagName = "socket-path"
34+ sourcesFlagName = "sources"
35+ syncPortFlagName = "sync-port"
36+ uriFlagName = "uri"
3537)
3638
3739func init () {
@@ -73,6 +75,7 @@ func init() {
7375 flags .StringP (otelCertPathFlagName , "D" , "" , "tls certificate path to use with OpenTelemetry collector" )
7476 flags .StringP (otelKeyPathFlagName , "K" , "" , "tls key path to use with OpenTelemetry collector" )
7577 flags .StringP (otelCAPathFlagName , "A" , "" , "tls certificate authority path to use with OpenTelemetry collector" )
78+ flags .DurationP (otelReloadIntervalFlagName , "I" , time .Hour , "how long between reloading the otel tls certificate from disk" )
7679
7780 _ = viper .BindPFlag (corsFlagName , flags .Lookup (corsFlagName ))
7881 _ = viper .BindPFlag (logFormatFlagName , flags .Lookup (logFormatFlagName ))
@@ -136,20 +139,21 @@ var startCmd = &cobra.Command{
136139
137140 // Build Runtime -----------------------------------------------------------
138141 rt , err := runtime .FromConfig (logger , Version , runtime.Config {
139- CORS : viper .GetStringSlice (corsFlagName ),
140- MetricExporter : viper .GetString (metricsExporter ),
141- ManagementPort : viper .GetUint16 (managementPortFlagName ),
142- OfrepServicePort : viper .GetUint16 (ofrepPortFlagName ),
143- OtelCollectorURI : viper .GetString (otelCollectorURI ),
144- OtelCertPath : viper .GetString (otelCertPathFlagName ),
145- OtelKeyPath : viper .GetString (otelKeyPathFlagName ),
146- OtelCAPath : viper .GetString (otelCAPathFlagName ),
147- ServiceCertPath : viper .GetString (serverCertPathFlagName ),
148- ServiceKeyPath : viper .GetString (serverKeyPathFlagName ),
149- ServicePort : viper .GetUint16 (portFlagName ),
150- ServiceSocketPath : viper .GetString (socketPathFlagName ),
151- SyncServicePort : viper .GetUint16 (syncPortFlagName ),
152- SyncProviders : syncProviders ,
142+ CORS : viper .GetStringSlice (corsFlagName ),
143+ MetricExporter : viper .GetString (metricsExporter ),
144+ ManagementPort : viper .GetUint16 (managementPortFlagName ),
145+ OfrepServicePort : viper .GetUint16 (ofrepPortFlagName ),
146+ OtelCollectorURI : viper .GetString (otelCollectorURI ),
147+ OtelCertPath : viper .GetString (otelCertPathFlagName ),
148+ OtelKeyPath : viper .GetString (otelKeyPathFlagName ),
149+ OtelReloadInterval : viper .GetDuration (otelReloadIntervalFlagName ),
150+ OtelCAPath : viper .GetString (otelCAPathFlagName ),
151+ ServiceCertPath : viper .GetString (serverCertPathFlagName ),
152+ ServiceKeyPath : viper .GetString (serverKeyPathFlagName ),
153+ ServicePort : viper .GetUint16 (portFlagName ),
154+ ServiceSocketPath : viper .GetString (socketPathFlagName ),
155+ SyncServicePort : viper .GetUint16 (syncPortFlagName ),
156+ SyncProviders : syncProviders ,
153157 })
154158 if err != nil {
155159 rtLogger .Fatal (err .Error ())
0 commit comments