Skip to content

🌱 Pass all feature gates explicitly in controller deployments#2700

Merged
openshift-merge-bot[bot] merged 1 commit into
operator-framework:mainfrom
pedjak:explicit-feature-flags
May 13, 2026
Merged

🌱 Pass all feature gates explicitly in controller deployments#2700
openshift-merge-bot[bot] merged 1 commit into
operator-framework:mainfrom
pedjak:explicit-feature-flags

Conversation

@pedjak
Copy link
Copy Markdown
Contributor

@pedjak pedjak commented May 13, 2026

Description

Previously, only non-default feature gates were passed as --feature-gates
args to controller pods:

  • Standard deployments had no feature gate args at all
  • 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 — you had to cross-reference
the Go source code to know the defaults.

Now all 10 feature gates (9 operator-controller + 1 catalogd) are listed
explicitly in every deployment variant (standard, standard-e2e, experimental,
experimental-e2e), improving readability when inspecting deployments or pods.

Changes

  • helm/olmv1/values.yaml: Populated empty enabled/disabled lists with
    all feature gates at their default values
  • helm/experimental.yaml: Added missing feature gates (WebhookProviderCertManager,
    SyntheticPermissions) so all flags are listed; sorted alphabetically
  • manifests/*.yaml: Regenerated

Reviewer Checklist

  • API Go Documentation
  • Tests: Unit Tests (and E2E Tests, if appropriate)
  • Comprehensive Commit Messages
  • Links to related GitHub Issue(s)

Copilot AI review requested due to automatic review settings May 13, 2026 13:12
@openshift-ci openshift-ci Bot requested review from tmshort and trgeiger May 13, 2026 13:12
@netlify
Copy link
Copy Markdown

netlify Bot commented May 13, 2026

Deploy Preview for olmv1 ready!

Name Link
🔨 Latest commit fc1fda4
🔍 Latest deploy log https://app.netlify.com/projects/olmv1/deploys/6a047facf865220008be40c6
😎 Deploy Preview https://deploy-preview-2700--olmv1.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR makes feature gate configuration fully explicit in rendered deployments by ensuring every controller deployment variant passes all known feature gates via --feature-gates arguments, instead of relying on implicit binary defaults.

Changes:

  • Populate Helm default values (helm/olmv1/values.yaml) with all feature gates at their default enabled/disabled states.
  • Update experimental Helm values (helm/experimental.yaml) to include all feature gates and keep lists consistent/alphabetized.
  • Regenerate rendered manifests so standard, standard-e2e, experimental, and experimental-e2e deployments include explicit feature gate args.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
manifests/standard.yaml Adds explicit --feature-gates=... args for catalogd and operator-controller in the standard install manifest.
manifests/standard-e2e.yaml Adds explicit --feature-gates=... args for catalogd and operator-controller in the standard e2e manifest.
manifests/experimental.yaml Reorders/completes feature gate args in the experimental manifest (including missing gates).
manifests/experimental-e2e.yaml Reorders/completes feature gate args in the experimental e2e manifest (including missing gates).
helm/olmv1/values.yaml Sets default feature gate enabled/disabled lists to explicitly reflect intended defaults.
helm/experimental.yaml Ensures experimental values enumerate all feature gates (including missing ones) and adds explicit empty disabled list for catalogd.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread helm/olmv1/values.yaml Outdated
disabled: []
enabled:
- WebhookProviderCertManager
- WebhookProviderOpenshiftServiceCA
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically, this copilot comment is my concern.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed, ptal.

Comment thread helm/olmv1/values.yaml Outdated
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>
@pedjak pedjak force-pushed the explicit-feature-flags branch from 365064d to fc1fda4 Compare May 13, 2026 13:42
@codecov
Copy link
Copy Markdown

codecov Bot commented May 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.10%. Comparing base (10ea84d) to head (fc1fda4).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2700      +/-   ##
==========================================
- Coverage   68.12%   68.10%   -0.02%     
==========================================
  Files         145      145              
  Lines       10700    10700              
==========================================
- Hits         7289     7287       -2     
- Misses       2884     2885       +1     
- Partials      527      528       +1     
Flag Coverage Δ
e2e 37.14% <ø> (ø)
experimental-e2e 52.46% <ø> (-0.20%) ⬇️
unit 53.79% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pedjak pedjak requested a review from tmshort May 13, 2026 14:36
@tmshort
Copy link
Copy Markdown
Contributor

tmshort commented May 13, 2026

/approve

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 13, 2026
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 13, 2026
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 13, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rashmigottipati, tmshort

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot Bot merged commit c02fe46 into operator-framework:main May 13, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants