in cmd/amazon-cloudwatch-agent-target-allocator/config/config.go [94:150]
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.ReloadConfig, err = getConfigReloadEnabled(flagSet)
if err != nil {
return err
}
target.HTTPS.Enabled, err = getHttpsEnabled(flagSet)
if err != nil {
return err
}
target.HTTPS.ListenAddr, err = getHttpsListenAddr(flagSet)
if err != nil {
return err
}
target.HTTPS.CAFilePath, err = getHttpsCAFilePath(flagSet)
if err != nil {
return err
}
target.HTTPS.TLSCertFilePath, err = getHttpsTLSCertFilePath(flagSet)
if err != nil {
return err
}
target.HTTPS.TLSKeyFilePath, err = getHttpsTLSKeyFilePath(flagSet)
if err != nil {
return err
}
return nil
}