Skip to content

Commit 6d1e710

Browse files
Merge pull request #44 from mfojtik/fix-flags
render: pluralize --config-overrides-file
2 parents f554d75 + 9c49c95 commit 6d1e710

File tree

1 file changed

+20
-14
lines changed
  • cmd/cluster-kube-controller-manager-operator/render

1 file changed

+20
-14
lines changed

cmd/cluster-kube-controller-manager-operator/render/render.go

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,12 @@ type manifestOpts struct {
3737
type renderOpts struct {
3838
manifest manifestOpts
3939

40-
templatesDir string
41-
assetInputDir string
42-
assetOutputDir string
43-
configOverrideFile string
44-
configOutputFile string
40+
templatesDir string
41+
assetInputDir string
42+
assetOutputDir string
43+
configOverrideFiles []string
44+
deprecatedConfigOverrideFile string
45+
configOutputFile string
4546

4647
skipSchedulerBootstrapManifest bool
4748
}
@@ -79,13 +80,17 @@ func NewRenderCommand() *cobra.Command {
7980
cmd.Flags().StringVar(&renderOpts.assetOutputDir, "asset-output-dir", "", "Output path for rendered manifests.")
8081
cmd.Flags().StringVar(&renderOpts.assetInputDir, "asset-input-dir", "", "A path to directory with certificates and secrets.")
8182
cmd.Flags().StringVar(&renderOpts.templatesDir, "templates-input-dir", "/usr/share/bootkube/manifests", "A path to a directory with manifest templates.")
82-
cmd.Flags().StringVar(&renderOpts.configOverrideFile, "config-override-file", "", "A sparse KubeControllerManagerConfig.kubecontrolplane."+
83-
"config.openshift.io/v1 file (default: kube-controller-manager-config-overrides.yaml in the asset-input-dir)")
83+
cmd.Flags().StringSliceVar(&renderOpts.configOverrideFiles, "config-override-files", nil, "Additional sparse KubeControllerManagerConfig.kubecontrolplane.config.openshift.io/v1 files for customiziation through the installer, merged into the default config in the given order.")
8484
cmd.Flags().StringVar(&renderOpts.configOutputFile, "config-output-file", "", "Output path for the KubeControllerManagerConfig yaml file.")
8585

8686
// TODO: Remove this when the render command exists in scheduler operator
8787
cmd.Flags().BoolVar(&renderOpts.skipSchedulerBootstrapManifest, "skip-scheduler", false, "Skip copying the scheduler manifests.")
8888

89+
// TODO: Remove these once we break the flag dependency loop in installer
90+
cmd.Flags().StringVar(&renderOpts.deprecatedConfigOverrideFile, "config-override-file", "", "")
91+
cmd.Flags().MarkHidden("config-override-file")
92+
cmd.Flags().MarkDeprecated("config-override-file", "Use 'config-override-files' flag instead")
93+
8994
return cmd
9095
}
9196

@@ -129,10 +134,6 @@ func (r *renderOpts) Validate() error {
129134
}
130135

131136
func (r *renderOpts) complete() error {
132-
if len(r.configOverrideFile) == 0 {
133-
r.configOverrideFile = filepath.Join(r.assetInputDir, "kube-controller-manager-config-overrides.yaml")
134-
}
135-
136137
return nil
137138
}
138139

@@ -195,10 +196,15 @@ func (r *renderOpts) configFromDefaultsPlusOverride(data *Config, tlsOverride st
195196
return nil, fmt.Errorf("failed to load config override file %q: %v", tlsOverride, err)
196197
}
197198
configs := [][]byte{defaultConfig, bootstrapOverrides}
198-
if len(r.configOverrideFile) > 0 {
199-
overrides, err := readFileTemplate(r.configOverrideFile, data)
199+
200+
// TODO: Remove this when the flag is gone
201+
if len(r.deprecatedConfigOverrideFile) > 0 {
202+
r.configOverrideFiles = append(r.configOverrideFiles, r.deprecatedConfigOverrideFile)
203+
}
204+
for _, fname := range r.configOverrideFiles {
205+
overrides, err := readFileTemplate(fname, data)
200206
if err != nil {
201-
return nil, fmt.Errorf("failed to load config overrides at %q: %v", r.configOverrideFile, err)
207+
return nil, fmt.Errorf("failed to load config overrides at %q: %v", fname, err)
202208
}
203209

204210
configs = append(configs, overrides)

0 commit comments

Comments
 (0)