Skip to content

Commit fc1fda4

Browse files
pedjakclaude
andcommitted
Pass all feature gates explicitly in controller deployments
Previously, only non-default feature gates were passed as --feature-gates args to controller pods. Standard deployments had no feature gate args at all, and experimental deployments only listed flags that differed from defaults. This made it impossible to determine the active feature gate configuration by inspecting a running deployment or pod spec. Now all 10 feature gates (9 operator-controller + 1 catalogd) are listed explicitly in every deployment variant, improving readability when inspecting deployments or pods. WebhookProviderOpenshiftServiceCA is listed as disabled in standard defaults because getCertificateProvider() checks WebhookProviderCertManager first — when both are enabled, OpenshiftServiceCA has no effect. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 10ea84d commit fc1fda4

6 files changed

Lines changed: 52 additions & 15 deletions

File tree

helm/experimental.yaml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@ options:
1111
replicas: 2
1212
features:
1313
enabled:
14-
- SingleOwnNamespaceInstallSupport
15-
- PreflightPermissions
16-
- HelmChartSupport
1714
- BoxcutterRuntime
18-
- DeploymentConfig
1915
- BundleReleaseSupport
16+
- DeploymentConfig
17+
- HelmChartSupport
18+
- PreflightPermissions
19+
- SingleOwnNamespaceInstallSupport
20+
- WebhookProviderCertManager
2021
disabled:
22+
- SyntheticPermissions
2123
- WebhookProviderOpenshiftServiceCA
2224
# List of enabled experimental features for catalogd
2325
# Use with {{- if has "FeatureGate" .Values.options.catalogd.features.enabled }}
@@ -28,5 +30,6 @@ options:
2830
features:
2931
enabled:
3032
- APIV1MetasHandler
33+
disabled: []
3134
# This can be one of: standard or experimental
3235
featureSet: experimental

helm/olmv1/values.yaml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@ options:
1111
replicas: 1
1212
extraArguments: []
1313
features:
14-
enabled: []
15-
disabled: []
14+
enabled:
15+
- WebhookProviderCertManager
16+
disabled:
17+
- BoxcutterRuntime
18+
- BundleReleaseSupport
19+
- DeploymentConfig
20+
- HelmChartSupport
21+
- PreflightPermissions
22+
- SingleOwnNamespaceInstallSupport
23+
- SyntheticPermissions
24+
- WebhookProviderOpenshiftServiceCA
1625
podDisruptionBudget:
1726
enabled: true
1827
minAvailable: 1
@@ -24,7 +33,8 @@ options:
2433
extraArguments: []
2534
features:
2635
enabled: []
27-
disabled: []
36+
disabled:
37+
- APIV1MetasHandler
2838
podDisruptionBudget:
2939
enabled: true
3040
minAvailable: 1

manifests/experimental-e2e.yaml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2823,12 +2823,14 @@ spec:
28232823
- --metrics-bind-address=:8443
28242824
- --pprof-bind-address=:6060
28252825
- --leader-elect
2826-
- --feature-gates=SingleOwnNamespaceInstallSupport=true
2827-
- --feature-gates=PreflightPermissions=true
2828-
- --feature-gates=HelmChartSupport=true
28292826
- --feature-gates=BoxcutterRuntime=true
2830-
- --feature-gates=DeploymentConfig=true
28312827
- --feature-gates=BundleReleaseSupport=true
2828+
- --feature-gates=DeploymentConfig=true
2829+
- --feature-gates=HelmChartSupport=true
2830+
- --feature-gates=PreflightPermissions=true
2831+
- --feature-gates=SingleOwnNamespaceInstallSupport=true
2832+
- --feature-gates=WebhookProviderCertManager=true
2833+
- --feature-gates=SyntheticPermissions=false
28322834
- --feature-gates=WebhookProviderOpenshiftServiceCA=false
28332835
- --tls-cert=/var/certs/tls.crt
28342836
- --tls-key=/var/certs/tls.key

manifests/experimental.yaml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2729,12 +2729,14 @@ spec:
27292729
- --health-probe-bind-address=:8081
27302730
- --metrics-bind-address=:8443
27312731
- --leader-elect
2732-
- --feature-gates=SingleOwnNamespaceInstallSupport=true
2733-
- --feature-gates=PreflightPermissions=true
2734-
- --feature-gates=HelmChartSupport=true
27352732
- --feature-gates=BoxcutterRuntime=true
2736-
- --feature-gates=DeploymentConfig=true
27372733
- --feature-gates=BundleReleaseSupport=true
2734+
- --feature-gates=DeploymentConfig=true
2735+
- --feature-gates=HelmChartSupport=true
2736+
- --feature-gates=PreflightPermissions=true
2737+
- --feature-gates=SingleOwnNamespaceInstallSupport=true
2738+
- --feature-gates=WebhookProviderCertManager=true
2739+
- --feature-gates=SyntheticPermissions=false
27382740
- --feature-gates=WebhookProviderOpenshiftServiceCA=false
27392741
- --tls-cert=/var/certs/tls.crt
27402742
- --tls-key=/var/certs/tls.key

manifests/standard-e2e.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1805,6 +1805,7 @@ spec:
18051805
- --metrics-bind-address=:7443
18061806
- --pprof-bind-address=:6060
18071807
- --external-address=catalogd-service.olmv1-system.svc
1808+
- --feature-gates=APIV1MetasHandler=false
18081809
- --tls-cert=/var/certs/tls.crt
18091810
- --tls-key=/var/certs/tls.key
18101811
- --pull-cas-dir=/var/ca-certs
@@ -1955,6 +1956,15 @@ spec:
19551956
- --metrics-bind-address=:8443
19561957
- --pprof-bind-address=:6060
19571958
- --leader-elect
1959+
- --feature-gates=WebhookProviderCertManager=true
1960+
- --feature-gates=BoxcutterRuntime=false
1961+
- --feature-gates=BundleReleaseSupport=false
1962+
- --feature-gates=DeploymentConfig=false
1963+
- --feature-gates=HelmChartSupport=false
1964+
- --feature-gates=PreflightPermissions=false
1965+
- --feature-gates=SingleOwnNamespaceInstallSupport=false
1966+
- --feature-gates=SyntheticPermissions=false
1967+
- --feature-gates=WebhookProviderOpenshiftServiceCA=false
19581968
- --tls-cert=/var/certs/tls.crt
19591969
- --tls-key=/var/certs/tls.key
19601970
- --catalogd-cas-dir=/var/ca-certs

manifests/standard.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1724,6 +1724,7 @@ spec:
17241724
- --leader-elect
17251725
- --metrics-bind-address=:7443
17261726
- --external-address=catalogd-service.olmv1-system.svc
1727+
- --feature-gates=APIV1MetasHandler=false
17271728
- --tls-cert=/var/certs/tls.crt
17281729
- --tls-key=/var/certs/tls.key
17291730
- --pull-cas-dir=/var/ca-certs
@@ -1861,6 +1862,15 @@ spec:
18611862
- --health-probe-bind-address=:8081
18621863
- --metrics-bind-address=:8443
18631864
- --leader-elect
1865+
- --feature-gates=WebhookProviderCertManager=true
1866+
- --feature-gates=BoxcutterRuntime=false
1867+
- --feature-gates=BundleReleaseSupport=false
1868+
- --feature-gates=DeploymentConfig=false
1869+
- --feature-gates=HelmChartSupport=false
1870+
- --feature-gates=PreflightPermissions=false
1871+
- --feature-gates=SingleOwnNamespaceInstallSupport=false
1872+
- --feature-gates=SyntheticPermissions=false
1873+
- --feature-gates=WebhookProviderOpenshiftServiceCA=false
18641874
- --tls-cert=/var/certs/tls.crt
18651875
- --tls-key=/var/certs/tls.key
18661876
- --catalogd-cas-dir=/var/ca-certs

0 commit comments

Comments
 (0)