Skip to content

Add PodCertificateRequest feature gate to TechPreview - #2982

Open
redhat-chai-bot wants to merge 1 commit into
openshift:masterfrom
redhat-chai-bot:enable-podcertificaterequest-techpreview
Open

Add PodCertificateRequest feature gate to TechPreview#2982
redhat-chai-bot wants to merge 1 commit into
openshift:masterfrom
redhat-chai-bot:enable-podcertificaterequest-techpreview

Conversation

@redhat-chai-bot

Copy link
Copy Markdown
Contributor

Summary

Register the PodCertificateRequest feature gate and enable it under TechPreviewNoUpgrade and DevPreviewNoUpgrade feature sets.

Details

This adds the upstream Kubernetes PodCertificateRequest feature gate (KEP 4317) to OpenShift.

  • Feature gate: PodCertificateRequest
  • Product scope: Kubernetes
  • Enabled in: TechPreviewNoUpgrade, DevPreviewNoUpgrade
  • Jira component: kube-apiserver
  • Contact: ibihim

Changed files

  • features/features.go — feature gate definition
  • features.md — documentation table update
  • payload-manifests/featuregates/featureGate-*.yaml — generated manifest updates for all SelfManagedHA and Hypershift profiles

Companion PR: cluster-kube-apiserver-operator#2266 (runtime-config mapping)


AI-generated. Review for accuracy.

@dgoodwin requested in Slack thread

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci

openshift-ci Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Hello @redhat-chai-bot! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Advanced

Run ID: 53b0f74b-7514-4e24-804d-a235f8acbbfd

📥 Commits

Reviewing files that changed from the base of the PR and between 0ed3a20 and 2ac763b.

📒 Files selected for processing (10)
  • features.md
  • features/features.go
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

The change registers the PodCertificateRequest feature gate with Kubernetes ownership and preview metadata. The feature support matrix enables it for DevPreviewNoUpgrade and TechPreviewNoUpgrade. Hypershift and SelfManagedHA manifests enable it in preview profiles and disable it in Default and OKD profiles.

Suggested reviewers: vr4manta

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to 2ac76

This change exposes PodCertificateRequest only in DevPreviewNoUpgrade and TechPreviewNoUpgrade while retaining disabled states in Default and OKD profiles. The reviewed configuration is consistent and ready to merge.

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the addition of the PodCertificateRequest feature gate. It highlights TechPreview, which is a primary part of the change, although it does not mention DevPreviewNoUpgrade.
Description check ✅ Passed The description accurately describes registering PodCertificateRequest, enabling it in TechPreviewNoUpgrade and DevPreviewNoUpgrade, and updating related documentation and manifests.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The pull request changes only feature-gate metadata, documentation, and YAML manifests. The diff adds no Ginkgo test files, test declarations, or test-title expressions such as It(), Describe(), Conte…
Test Structure And Quality ✅ Passed PASS: The pull request does not add or modify Ginkgo test code. The exact commit changes only features.md, features/features.go, and feature-gate YAML manifests; the diff contains no It, `Before…
Microshift Test Compatibility ✅ Passed PASS: The pull request changes only feature metadata, documentation, and generated YAML manifests. The exact commit diff contains no new Ginkgo tests or test constructs such as It, Describe, Context, …
Single Node Openshift (Sno) Test Compatibility ✅ Passed The pull request adds one feature-gate declaration, documentation, and generated YAML manifest entries. The verified diff contains no new Ginkgo tests or other test constructs. Therefore, the SNO mult…
Topology-Aware Scheduling Compatibility ✅ Passed PASS. The pull request changes one documentation row, one feature-gate registration, and eight FeatureGate configuration manifests. The added manifest entries only add the PodCertificateRequest na…
Ote Binary Stdout Contract ✅ Passed PASS: The pull request changes only feature-gate metadata, one top-level feature-gate registration, and generated YAML manifests. The added initializer calls in-memory builder methods and `mustRegiste…
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The pull request adds no Ginkgo e2e tests. The exact diff contains only feature metadata, documentation, and YAML feature-gate manifests; the only changed Go file is features/features.go, and it con…
No-Weak-Crypto ✅ Passed PASS. The pull request adds only the PodCertificateRequest feature-gate declaration, documentation, and generated manifest entries. The declaration contains metadata and enablement calls only. The d…
Container-Privileges ✅ Passed The pull request adds a feature-gate definition, documentation, and FeatureGate status entries only. The changed JSON manifests are all kind: FeatureGate objects, not container or workload manifests…
No-Sensitive-Data-In-Logs ✅ Passed PASS. The pull request adds feature-gate metadata and manifest entries only. The changed Go code has no logging or print calls, and the added lines contain no passwords, tokens, API keys, PII, session…
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Some tools did not complete. Review the errors below.

🔧 golangci-lint (2.13.2)

Error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented
The command is terminated due to an error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented


Comment @coderabbitai help to get the list of available commands.

@openshift-ci openshift-ci Bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Aug 14, 2026
@dgoodwin

Copy link
Copy Markdown
Contributor

/payload-job-with-prs periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview openshift/cluster-kube-apiserver-operator#2266/payload-job-with-prs periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview-serial openshift/cluster-kube-apiserver-operator#2266

@openshift-ci

openshift-ci Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

@dgoodwin: An error was encountered. No known errors were detected, please see the full error message for details.

Full error message. unable to get additional pr info from string: openshift/cluster-kube-apiserver-operator#2266/payload-job-with-prs: string: openshift/cluster-kube-apiserver-operator#2266/payload-job-with-prs doesn't match expected format: org/repo#number

Please contact an administrator to resolve this issue.

@JoelSpeed

Copy link
Copy Markdown
Contributor

/lgtm

@dgoodwin verified on you once you've worked out the payload testing you were trying

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 17, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn
/test e2e-aws-ovn-hypershift
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-techpreview
/test e2e-aws-serial-1of2
/test e2e-aws-serial-2of2
/test e2e-aws-serial-techpreview-1of2
/test e2e-aws-serial-techpreview-2of2
/test e2e-azure
/test e2e-gcp
/test e2e-upgrade
/test e2e-upgrade-out-of-change
/test minor-e2e-upgrade-minor

@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: JoelSpeed

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-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 17, 2026
@dgoodwin

Copy link
Copy Markdown
Contributor

/payload-job-with-prs periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview openshift/cluster-kube-apiserver-operator#2266

/payload-job-with-prs periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview-serial openshift/cluster-kube-apiserver-operator#2266

@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@dgoodwin: given command is invalid: at least one of the commands given is only supported on a one-command-per-comment basis, please separate out commands as multiple comments

@dgoodwin

Copy link
Copy Markdown
Contributor

/payload-job-with-prs periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview openshift/cluster-kube-apiserver-operator#2266

@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@dgoodwin: it appears that you have attempted to use some version of the payload command, but your comment was incorrectly formatted and cannot be acted upon. See the docs for usage info.

@dgoodwin

Copy link
Copy Markdown
Contributor

/payload-job-with-prs periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview-serial openshift/cluster-kube-apiserver-operator#2266

@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@dgoodwin: it appears that you have attempted to use some version of the payload command, but your comment was incorrectly formatted and cannot be acted upon. See the docs for usage info.

@dgoodwin

Copy link
Copy Markdown
Contributor

/payload-job-with-prs periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview-serial openshift/cluster-kube-apiserver-operator#2266

@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@dgoodwin: trigger 3 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview-serial-1of3
  • periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview-serial-2of3
  • periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview-serial-3of3

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/ad466c10-9a2f-11f1-9d41-29316589e5d5-0

@dgoodwin

Copy link
Copy Markdown
Contributor

/payload-job-with-prs periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview openshift/cluster-kube-apiserver-operator#2266

@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@dgoodwin: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/c0d5e620-9a2f-11f1-9453-547627e4939d-0

@dgoodwin

Copy link
Copy Markdown
Contributor

/retest

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 17, 2026
@redhat-chai-bot
redhat-chai-bot force-pushed the enable-podcertificaterequest-techpreview branch from 0ed3a20 to 4d190b9 Compare August 17, 2026 18:30
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Aug 17, 2026
@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

New changes are detected. LGTM label has been removed.

@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 17, 2026
@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@redhat-chai-bot: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-hypershift 0ed3a20 link true /test e2e-aws-ovn-hypershift
ci/prow/e2e-aws-serial-techpreview-2of2 0ed3a20 link true /test e2e-aws-serial-techpreview-2of2
ci/prow/e2e-aws-serial-techpreview-1of2 0ed3a20 link true /test e2e-aws-serial-techpreview-1of2
ci/prow/minor-e2e-upgrade-minor 0ed3a20 link true /test minor-e2e-upgrade-minor
ci/prow/e2e-aws-ovn-techpreview 0ed3a20 link true /test e2e-aws-ovn-techpreview
ci/prow/e2e-aws-ovn 0ed3a20 link true /test e2e-aws-ovn

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@JoelSpeed

Copy link
Copy Markdown
Contributor

CC @everettraven

Register the upstream Kubernetes PodCertificateRequest feature gate
(KEP-4317) and enable it in TechPreviewNoUpgrade and DevPreviewNoUpgrade
FeatureSets. This feature provides native workload identity via
PodCertificateRequest API and podCertificate projected volumes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@redhat-chai-bot
redhat-chai-bot force-pushed the enable-podcertificaterequest-techpreview branch from 4d190b9 to 2ac763b Compare September 9, 2026 16:12
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. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants