in otelcollector/otel-allocator/internal/config/config.go [179:246]
func LoadFromCLI(target *Config, flagSet *pflag.FlagSet) error {
var err error
// set the rest of the config attributes based on command-line flag values
target.RootLogger = zap.New(zap.UseFlagOptions(&zapCmdLineOpts))
klog.SetLogger(target.RootLogger)
ctrl.SetLogger(target.RootLogger)
target.KubeConfigFilePath, err = getKubeConfigFilePath(flagSet)
if err != nil {
return err
}
clusterConfig, err := clientcmd.BuildConfigFromFlags("", target.KubeConfigFilePath)
if err != nil {
pathError := &fs.PathError{}
if ok := errors.As(err, &pathError); !ok {
return err
}
clusterConfig, err = rest.InClusterConfig()
if err != nil {
return err
}
target.KubeConfigFilePath = ""
}
target.ClusterConfig = clusterConfig
target.ListenAddr, err = getListenAddr(flagSet)
if err != nil {
return err
}
if prometheusCREnabled, changed, flagErr := getPrometheusCREnabled(flagSet); flagErr != nil {
return flagErr
} else if changed {
target.PrometheusCR.Enabled = prometheusCREnabled
}
if httpsEnabled, changed, err := getHttpsEnabled(flagSet); err != nil {
return err
} else if changed {
target.HTTPS.Enabled = httpsEnabled
}
if listenAddrHttps, changed, err := getHttpsListenAddr(flagSet); err != nil {
return err
} else if changed {
target.HTTPS.ListenAddr = listenAddrHttps
}
if caFilePath, changed, err := getHttpsCAFilePath(flagSet); err != nil {
return err
} else if changed {
target.HTTPS.CAFilePath = caFilePath
}
if tlsCertFilePath, changed, err := getHttpsTLSCertFilePath(flagSet); err != nil {
return err
} else if changed {
target.HTTPS.TLSCertFilePath = tlsCertFilePath
}
if tlsKeyFilePath, changed, err := getHttpsTLSKeyFilePath(flagSet); err != nil {
return err
} else if changed {
target.HTTPS.TLSKeyFilePath = tlsKeyFilePath
}
return nil
}