(cmd *cobra.Command, v *viper.Viper)
| 131 | } |
| 132 | |
| 133 | func bindFlags(cmd *cobra.Command, v *viper.Viper) { |
| 134 | cmd.Flags().VisitAll(func(f *pflag.Flag) { |
| 135 | if strings.Contains(f.Name, "-") { |
| 136 | envVarSuffix := strings.ToUpper(strings.ReplaceAll(f.Name, "-", "_")) |
| 137 | err := v.BindEnv(f.Name, fmt.Sprintf("%s_%s", envPrefix, envVarSuffix)) |
| 138 | if err != nil { |
| 139 | klog.Errorf("error binding flag %s to env var %s_%s: %v", f.Name, envPrefix, envVarSuffix, err) |
| 140 | return |
| 141 | } |
| 142 | } |
| 143 | |
| 144 | if !f.Changed && v.IsSet(f.Name) { |
| 145 | val := v.Get(f.Name) |
| 146 | err := cmd.Flags().Set(f.Name, fmt.Sprintf("%v", val)) |
| 147 | if err != nil { |
| 148 | klog.Errorf("error setting flag %s to %v: %v", f.Name, val, err) |
| 149 | return |
| 150 | } |
| 151 | } |
| 152 | }) |
| 153 | } |
| 154 | |
| 155 | var rootCmd = &cobra.Command{ |
| 156 | Use: "pluto", |
no outgoing calls
no test coverage detected
searching dependent graphs…