Skip to content

NO-ISSUE: Synchronize From Upstream Repositories - #752

Merged
openshift-merge-bot[bot] merged 121 commits into
openshift:mainfrom
openshift-bot:synchronize-upstream
Jun 19, 2026
Merged

NO-ISSUE: Synchronize From Upstream Repositories#752
openshift-merge-bot[bot] merged 121 commits into
openshift:mainfrom
openshift-bot:synchronize-upstream

Conversation

@openshift-bot

@openshift-botopenshift-bot commented Jun 10, 2026

Copy link
Copy Markdown

The downstream repository has been updated with the following following upstream commits:

DateCommitAuthorMessage
2026-06-17 20:37:06operator-framework/operator-controller@a12398adependabot[bot]🌱 Bump actions/checkout from 6.0.2 to 6.0.3 (#2768)
2026-06-17 20:31:30operator-framework/operator-controller@23f6365dependabot[bot]🌱 Bump github.com/prometheus/common from 0.68.0 to 0.68.1 (#2773)
2026-06-17 07:23:26operator-framework/operator-controller@96df561dependabot[bot]🌱 Bump idna from 3.17 to 3.18 (#2769)
2026-06-16 12:07:06operator-framework/operator-controller@f600212Todd ShortApply cluster TLS profile to outgoing HTTP client (#2767)
2026-06-16 07:40:23operator-framework/operator-controller@af1dffbPredrag Knezevicdocs: add API conventions and deprecation guidance to AGENTS.md (#2763)
2026-06-12 15:48:00operator-framework/operator-controller@8807a64Predrag Knezevicfix: allow api-lint-diff to run from a git worktree (#2765)
2026-06-12 15:45:06operator-framework/operator-controller@90a99bfdependabot[bot]🌱 Bump github.com/prometheus/common from 0.67.5 to 0.68.0 (#2766)
2026-06-11 20:18:59operator-framework/operator-controller@b5f05bbTodd ShortUpdate operator-registry and api (#2762)
2026-06-11 16:01:13operator-framework/operator-controller@c5d627fdependabot[bot]🌱 Bump idna from 3.16 to 3.17 (#2760)
2026-06-11 15:11:29operator-framework/operator-controller@c4e5bf3dependabot[bot]🌱 Bump platformdirs from 4.9.6 to 4.10.0 (#2761)
2026-06-11 14:42:04operator-framework/operator-controller@79f6c2aPredrag Knezevicfix: resolve crdUpgradeSafety reporting OneOf changes as unhandled (#2759)
2026-06-11 14:20:50operator-framework/operator-controller@df4bd9aPredrag Knezevicfix: use $(HELM) instead of bare helm in lint-helm target (#2758)
2026-06-11 12:16:49operator-framework/operator-controller@9c49467Predrag Knezevicrefactor: migrate e2e prometheus from custom chart to kube-prometheus-stack (#2757)
2026-06-10 14:16:24operator-framework/operator-controller@23b7e52Daniel FranzE2E Summary Output Fix (#2751)
2026-06-10 14:10:44operator-framework/operator-controller@b63979edependabot[bot]Bump k8s dependencies to v1.36.0 and update tooling (#2717)
2026-06-10 09:53:40operator-framework/operator-controller@f96144fTodd Shorttlsprofiles: add SecP256r1MLKEM768, SecP384r1MLKEM1024, and secp256r1 alias (#2754)
2026-06-09 17:36:04operator-framework/operator-controller@53b5ecfPredrag Knezevic🐛 Fix support-bundle collection on e2e failure (#2755)
2026-06-09 16:31:51operator-framework/operator-controller@b15d736Predrag KnezevicAdd network policy for prometheus-operator in e2e tests (#2756)

The vendor/ directory has been updated and the following commits were carried:

DateCommitAuthorMessage
2026-06-08 22:07:40openshift/operator-framework-operator-controller@14a3978dtfranzUPSTREAM: <carry>: Add OpenShift specific files
2026-06-08 22:07:42openshift/operator-framework-operator-controller@910369bCamila MacedoUPSTREAM: <carry>: Add new tests for single/own namespaces install modes
2026-06-08 22:07:42openshift/operator-framework-operator-controller@02ba15fCamila MacedoUPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
2026-06-08 22:07:43openshift/operator-framework-operator-controller@ec486cbCamila MacedoUPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp images from openshift/catalogd/manifests.yaml
2026-06-08 22:07:43openshift/operator-framework-operator-controller@edfaa59Todd ShortUPSTREAM: <carry>: Update OCP catalogs to v4.21
2026-06-08 22:07:44openshift/operator-framework-operator-controller@56ddaa2Kui WangUPSTREAM: <carry>: support singleown cases in disconnected
2026-06-08 22:07:44openshift/operator-framework-operator-controller@3b22ba6Kui WangUPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
2026-06-08 22:07:45openshift/operator-framework-operator-controller@68a8231Camila MacedoUPSTREAM: <carry>: Define Default timeouts and apply their usage accross to avoid flakes
2026-06-08 22:07:45openshift/operator-framework-operator-controller@1a85cb5Todd ShortUPSTREAM: <carry>: Update to new feature-gate options in helm
2026-06-08 22:07:46openshift/operator-framework-operator-controller@0ca0b2cCamila MacedoUPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniquess and waiting for k8s cleanups
2026-06-08 22:07:46openshift/operator-framework-operator-controller@fe0cea5Camila MacedoUPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comments ( Follow-Up of: 714977c )
2026-06-08 22:07:47openshift/operator-framework-operator-controller@391b2bdKui WangUPSTREAM: <carry>: Update OwnSingle template to use spec.config.inline.watchNamespace
2026-06-08 22:07:47openshift/operator-framework-operator-controller@a24383cCamila MacedoUPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension uninstall
2026-06-08 22:07:48openshift/operator-framework-operator-controller@2c11f1bKui WangUPSTREAM: <carry>: Add [OTP] to migrated cases
2026-06-08 22:07:49openshift/operator-framework-operator-controller@380ec02Camila MacedoUPSTREAM: <carry>: [OTE]: Upgrade dependencies used
2026-06-08 22:07:50openshift/operator-framework-operator-controller@15bac6fCamila MacedoUPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version format
2026-06-08 22:07:51openshift/operator-framework-operator-controller@a97e0d4Camila MacedoUPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and dependencies
2026-06-08 22:07:51openshift/operator-framework-operator-controller@a1824dfKui WangUPSTREAM: <carry>: add disconnected environment support with custom prow job for migrated qe cases
2026-06-08 22:07:52openshift/operator-framework-operator-controller@b267af5Jian ZhangUPSTREAM: <carry>: migrate jiazha test cases to OTE
2026-06-08 22:07:52openshift/operator-framework-operator-controller@569c004Xia ZhaoUPSTREAM: <carry>: migrate clustercatalog case to ote
2026-06-08 22:07:53openshift/operator-framework-operator-controller@ddfdc8bKui WangUPSTREAM: <carry>: migrate olmv1 QE stress cases
2026-06-08 22:07:53openshift/operator-framework-operator-controller@02227b4Todd ShortUPSTREAM: <carry>: Use busybox/httpd to simulate probes
2026-06-08 22:07:54openshift/operator-framework-operator-controller@5a71fdbXia ZhaoUPSTREAM: <carry>: migrate olmv1 QE cases
2026-06-08 22:07:54openshift/operator-framework-operator-controller@7dddb32Kui WangUPSTREAM: <carry>: add agent for olmv1 qe cases
2026-06-08 22:07:55openshift/operator-framework-operator-controller@a3ca9e4Todd ShortUPSTREAM: <carry>: Disable upstream PodDisruptionBudget
2026-06-08 22:07:56openshift/operator-framework-operator-controller@4d8fff9Rashmi GottipatiUPSTREAM: <carry>: Add AGENTS.md for AI code contributions
2026-06-08 22:07:56openshift/operator-framework-operator-controller@30eaf28Rashmi GottipatiUPSTREAM: <carry>: address review comments through addl prompts
2026-06-08 22:07:57openshift/operator-framework-operator-controller@1e5f74dRashmi GottipatiUPSTREAM: <carry>: addressing some more review comments
2026-06-08 22:07:57openshift/operator-framework-operator-controller@4975209Rashmi GottipatiUPSTREAM: <carry>: remove DCO line
2026-06-08 22:07:58openshift/operator-framework-operator-controller@363f4beBruno AndradeUPSTREAM: <carry>: migrate bandrade test cases to OTE
2026-06-08 22:07:58openshift/operator-framework-operator-controller@57d0c2cBruno AndradeUPSTREAM: <carry>: update metadata
2026-06-08 22:07:59openshift/operator-framework-operator-controller@a73371fBruno AndradeUPSTREAM: <carry>: remove originalName
2026-06-08 22:07:59openshift/operator-framework-operator-controller@b480d06Jian ZhangUPSTREAM: <carry>: update 80458's timeout to 180s
2026-06-08 22:08:00openshift/operator-framework-operator-controller@8744896Jian ZhangUPSTREAM: <carry>: update 83026 to specify the clustercatalog
2026-06-08 22:08:00openshift/operator-framework-operator-controller@a7d8dc4Catherine Chan-TseUPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
2026-06-08 22:08:01openshift/operator-framework-operator-controller@d1280e4Predrag KnezevicUPSTREAM: <carry>: Use oc client for running e2e tests
2026-06-08 22:08:01openshift/operator-framework-operator-controller@8eaf98dPredrag KnezevicUPSTREAM: <carry>: Run upstream e2e tests tagged with @catalogd-update
2026-06-08 22:08:02openshift/operator-framework-operator-controller@a504cf8Kui WangUPSTREAM: <carry>: enhance case to make it more stable
2026-06-08 22:08:02openshift/operator-framework-operator-controller@a9e7ef3Evan HearneUPSTREAM: <carry>: add service account to curl job
2026-06-08 22:08:03openshift/operator-framework-operator-controller@822b03bEvan HearneUPSTREAM: <carry>: move sa creation out of buildCurlJob()
2026-06-08 22:08:03openshift/operator-framework-operator-controller@848406fEvan HearneUPSTREAM: <carry>: comment out delete service account
2026-06-08 22:08:04openshift/operator-framework-operator-controller@f628919Evan HearneUPSTREAM: <carry>: move defercleanup for sa for LIFO
2026-06-08 22:08:04openshift/operator-framework-operator-controller@aac6420Evan HearneUPSTREAM: <carry>: add polling so job fully deleted before proceed
2026-06-08 22:08:05openshift/operator-framework-operator-controller@26c54c3Luke MeyerUPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redhat/add-service-account-curl-job"
2026-06-08 22:08:06openshift/operator-framework-operator-controller@d3827d1Camila MacedoUPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
2026-06-08 22:08:06openshift/operator-framework-operator-controller@1283ad8Kui WangUPSTREAM: <carry>: config watchnamespace cases
2026-06-08 22:08:07openshift/operator-framework-operator-controller@275d494Xia ZhaoUPSTREAM: <carry>: enhance ocp-79770
2026-06-08 22:08:07openshift/operator-framework-operator-controller@1b5e8a6Kui WangUPSTREAM: <carry>: upgrade version support case
2026-06-08 22:08:08openshift/operator-framework-operator-controller@58e406aPer Goncalves da SilvaUPSTREAM: <carry>: Remove installed condition check from auth preflight test
2026-06-08 22:08:08openshift/operator-framework-operator-controller@38fdc45Per Goncalves da SilvaUPSTREAM: <carry>: Add openshift/api dependency
2026-06-08 22:08:09openshift/operator-framework-operator-controller@9a9408aPer Goncalves da SilvaUPSTREAM: <carry>: Add boxcutter specific preflight auth test
2026-06-08 22:08:09openshift/operator-framework-operator-controller@7764a41Kui WangUPSTREAM: <carry>: adjust watchnamespace case based on change
2026-06-08 22:08:10openshift/operator-framework-operator-controller@9ff8b93Camila MacedoUPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root dir
2026-06-08 22:08:11openshift/operator-framework-operator-controller@1c4b846Bruno AndradeUPSTREAM: <carry>: add 83979 automation
2026-06-08 22:08:12openshift/operator-framework-operator-controller@510765fBruno AndradeUPSTREAM: <carry>: add 85889 automation
2026-06-08 22:08:12openshift/operator-framework-operator-controller@0d864caPer Goncalves da SilvaUPSTREAM: <carry>: Update test-operator startup script to fix pod probe endpoints
2026-06-08 22:08:13openshift/operator-framework-operator-controller@9ddbb4bPer Goncalves da SilvaUPSTREAM: <carry>: Fix up own-namespace invalid configuration test
2026-06-08 22:08:13openshift/operator-framework-operator-controller@bf4f2c6Camila MacedoUPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles instead of openshift-pipelines-operator-rh
2026-06-08 22:08:14openshift/operator-framework-operator-controller@53a9f05Kui WangUPSTREAM: <carry>: adjust sa and permission test cases per new change from boxcutterruntime
2026-06-08 22:08:14openshift/operator-framework-operator-controller@6796bc5Camila MacedoUPSTREAM: <carry>: Update OCP catalogs to v4.22
2026-06-08 22:08:16openshift/operator-framework-operator-controller@ada2315Camila MacedoUPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and dependencies
2026-06-08 22:08:17openshift/operator-framework-operator-controller@6539fb3Jian ZhangUPSTREAM: <carry>: fix 83026 for TP cluster
2026-06-08 22:08:17openshift/operator-framework-operator-controller@5507429Kui WangUPSTREAM: <carry>: serviceAccount validation unified across all runtimes
2026-06-08 22:08:18openshift/operator-framework-operator-controller@98cf592Stephen BenjaminUPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
2026-06-08 22:08:18openshift/operator-framework-operator-controller@12f7266Camila MacedoUPSTREAM: <carry>: Increase install timeout and add diagnostic logging for CE install tests
2026-06-08 22:08:19openshift/operator-framework-operator-controller@38d5a03Evan HearneUPSTREAM: <carry>: add service account to curl job
2026-06-08 22:08:19openshift/operator-framework-operator-controller@fbd4dfaJian ZhangUPSTREAM: <carry>: update OCP-75441 to support multi-arch
2026-06-08 22:08:20openshift/operator-framework-operator-controller@8bd05ccKui WangUPSTREAM: <carry>: deployment config cases
2026-06-08 22:08:20openshift/operator-framework-operator-controller@1835b29Todd ShortUPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
2026-06-08 22:08:21openshift/operator-framework-operator-controller@6bb078cTodd ShortUPSTREAM: <carry>: Update openshift/api and client-go
2026-06-08 22:08:21openshift/operator-framework-operator-controller@021d3f4Camila MacedoUPSTREAM: <carry>: Add boxcutter tests
2026-06-08 22:08:22openshift/operator-framework-operator-controller@fc8c86fXia ZhaoUPSTREAM: <carry>: enhance QE cases
2026-06-08 22:08:23openshift/operator-framework-operator-controller@3de7d85Daniel FranzUPSTREAM: <carry>: Update quay-operator version to one containing arm64 support
2026-06-08 22:08:23openshift/operator-framework-operator-controller@829f8c6Kui WangUPSTREAM: <carry>: verify volume/volumeMount override
2026-06-08 22:08:24openshift/operator-framework-operator-controller@b73b5b5Jian ZhangUPSTREAM: <carry>: Add long-duration test script and documents
2026-06-08 22:08:24openshift/operator-framework-operator-controller@572b257Todd ShortUPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
2026-06-08 22:08:25openshift/operator-framework-operator-controller@6b48d7aCamila MacedoUPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSet in OTE tests
2026-06-08 22:08:25openshift/operator-framework-operator-controller@0269e2eCamila MacedoUPSTREAM: <carry>: Skip incompatible operator test when Boxcutter uses ClusterObjectSet
2026-06-08 22:08:26openshift/operator-framework-operator-controller@9f5d8d7Bruno AndradeUPSTREAM: <carry>: add ocp-87557
2026-06-08 22:08:26openshift/operator-framework-operator-controller@0538da2Francesco GiudiciUPSTREAM: <carry>: Add fgiudici as reviewer
2026-06-08 22:08:27openshift/operator-framework-operator-controller@c6edb1dCamila MacedoUPSTREAM: <carry>: Remove skip for incompatible operator check after rename of CER
2026-06-08 22:08:28openshift/operator-framework-operator-controller@81df913Kui WangUPSTREAM: <carry>: Test empty affinity erasure and cleanup
2026-06-08 22:08:29openshift/operator-framework-operator-controller@3bdd2c1Camila MacedoUPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in preflight test
2026-06-08 22:08:29openshift/operator-framework-operator-controller@567eb17Camila MacedoUPSTREAM: <carry>: Expand OTE docs with more comprehensive details
2026-06-08 22:08:30openshift/operator-framework-operator-controller@f83be17Todd ShortUPSTREAM: <carry>: Disable upstream TLSProfile tests
2026-06-08 22:08:30openshift/operator-framework-operator-controller@ed45ce2Camila MacedoUPSTREAM: <carry>: OTE: Simplify by remove option to configure tests to run outside of OCP
2026-06-08 22:08:31openshift/operator-framework-operator-controller@559eda7Camila MacedoUPSTREAM: <carry>: OTE - Make OTE local output easier to read
2026-06-08 22:08:31openshift/operator-framework-operator-controller@e425ab5Joe LanfordUPSTREAM: <carry>: remove dead e2e registry push job and related variables
2026-06-08 22:08:32openshift/operator-framework-operator-controller@ade3b02Todd ShortUPSTREAM: <carry>: OCPBUGS-62517: Set replicas=1, PDB, and pod anti-affinity for HA topology
2026-06-08 22:08:32openshift/operator-framework-operator-controller@c8da353Todd ShortUPSTREAM: <carry>: fix(test): drop blocking namespace-deletion wait between both-watch-modes scenarios
2026-06-08 22:08:33openshift/operator-framework-operator-controller@7db3475Todd ShortUPSTREAM: <carry>: Fix downstream e2e test invocation
2026-06-08 22:08:34openshift/operator-framework-operator-controller@7bf1e85Joe LanfordUPSTREAM: <carry>: Delete openshift/registry.Dockerfile
2026-06-08 22:08:34openshift/operator-framework-operator-controller@b0188a1Todd ShortUPSTREAM: <carry>: Remove test-experimenal-e2e
2026-06-08 22:08:35openshift/operator-framework-operator-controller@cdd9f61Camila MacedoUPSTREAM: <carry>: Update readme Default Catalog Tests
2026-06-08 22:08:35openshift/operator-framework-operator-controller@8ae8616Todd ShortUPSTREAM: <carry>: add OLMv1 topology-based deployment scaling e2e test
2026-06-08 22:08:36openshift/operator-framework-operator-controller@5e377a8Todd ShortUPSTREAM: <carry>: Update dockerfiles to use golang-1.26-release-4.23 builders
2026-06-08 22:08:36openshift/operator-framework-operator-controller@df4c685AOS Automation Release TeamUPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-operator-controller.yml
2026-06-08 22:08:37openshift/operator-framework-operator-controller@0fc4671AOS Automation Release TeamUPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-catalogd.yml
2026-06-16 13:54:34openshift/operator-framework-operator-controller@4fe2e7dTodd ShortUPSTREAM: <carry>: Update catalogs for 4.23/5.0

This pull request is expected to merge without any human intervention. If tests are failing here, changes must land upstream to fix any issues so that future downstreaming efforts succeed.

/assign @openshift/openshift-team-operator-runtime

pedjakand others added 2 commits June 9, 2026 16:31
The default-deny-all-traffic NetworkPolicy in olmv1-system blocks all
egress by default. The prometheus-operator pod (label
app.kubernetes.io/name: prometheus-operator) had no matching allow
policy, so it could not reach the Kubernetes API server. This caused
intermittent e2e failures with "dial tcp 10.96.0.1:443: i/o timeout"
when the operator was scheduled on the second control-plane node in
the 2-node kind cluster used by experimental-e2e.
Add an egress-allowing NetworkPolicy for the prometheus-operator pod,
matching the existing pattern used for the Prometheus server pod.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add test/e2e/support-bundle.yaml spec file with collectors for cluster
diagnostics and pass it to the support-bundle CLI in the e2e workflow.
Fixes the "no collectors specified to run" error introduced in #2750.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@openshift-botopenshift-bot added tide/merge-method-merge Denotes a PR that should use a standard merge by tide when it merges. kind/sync 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. labels Jun 10, 2026
@openshift-ci-robotopenshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 10, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@openshift-bot: This pull request explicitly references no jira issue.

Details

In response to this:

The downstream repository has been updated with the following following upstream commits:

DateCommitAuthorMessage
2026-06-09 17:36:04operator-framework/operator-controller@53b5ecfPredrag Knezevic🐛 Fix support-bundle collection on e2e failure (#2755)
2026-06-09 16:31:51operator-framework/operator-controller@b15d736Predrag KnezevicAdd network policy for prometheus-operator in e2e tests (#2756)

The vendor/ directory has been updated and the following commits were carried:

DateCommitAuthorMessage
2026-06-08 22:07:40openshift/operator-framework-operator-controller@14a3978dtfranzUPSTREAM: <carry>: Add OpenShift specific files
2026-06-08 22:07:42openshift/operator-framework-operator-controller@910369bCamila MacedoUPSTREAM: <carry>: Add new tests for single/own namespaces install modes
2026-06-08 22:07:42openshift/operator-framework-operator-controller@02ba15fCamila MacedoUPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
2026-06-08 22:07:43openshift/operator-framework-operator-controller@ec486cbCamila MacedoUPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp images from openshift/catalogd/manifests.yaml
2026-06-08 22:07:43openshift/operator-framework-operator-controller@edfaa59Todd ShortUPSTREAM: <carry>: Update OCP catalogs to v4.21
2026-06-08 22:07:44openshift/operator-framework-operator-controller@56ddaa2Kui WangUPSTREAM: <carry>: support singleown cases in disconnected
2026-06-08 22:07:44openshift/operator-framework-operator-controller@3b22ba6Kui WangUPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
2026-06-08 22:07:45openshift/operator-framework-operator-controller@68a8231Camila MacedoUPSTREAM: <carry>: Define Default timeouts and apply their usage accross to avoid flakes
2026-06-08 22:07:45openshift/operator-framework-operator-controller@1a85cb5Todd ShortUPSTREAM: <carry>: Update to new feature-gate options in helm
2026-06-08 22:07:46openshift/operator-framework-operator-controller@0ca0b2cCamila MacedoUPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniquess and waiting for k8s cleanups
2026-06-08 22:07:46openshift/operator-framework-operator-controller@fe0cea5Camila MacedoUPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comments ( Follow-Up of: 714977c )
2026-06-08 22:07:47openshift/operator-framework-operator-controller@391b2bdKui WangUPSTREAM: <carry>: Update OwnSingle template to use spec.config.inline.watchNamespace
2026-06-08 22:07:47openshift/operator-framework-operator-controller@a24383cCamila MacedoUPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension uninstall
2026-06-08 22:07:48openshift/operator-framework-operator-controller@2c11f1bKui WangUPSTREAM: <carry>: Add [OTP] to migrated cases
2026-06-08 22:07:49openshift/operator-framework-operator-controller@380ec02Camila MacedoUPSTREAM: <carry>: [OTE]: Upgrade dependencies used
2026-06-08 22:07:50openshift/operator-framework-operator-controller@15bac6fCamila MacedoUPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version format
2026-06-08 22:07:51openshift/operator-framework-operator-controller@a97e0d4Camila MacedoUPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and dependencies
2026-06-08 22:07:51openshift/operator-framework-operator-controller@a1824dfKui WangUPSTREAM: <carry>: add disconnected environment support with custom prow job for migrated qe cases
2026-06-08 22:07:52openshift/operator-framework-operator-controller@b267af5Jian ZhangUPSTREAM: <carry>: migrate jiazha test cases to OTE
2026-06-08 22:07:52openshift/operator-framework-operator-controller@569c004Xia ZhaoUPSTREAM: <carry>: migrate clustercatalog case to ote
2026-06-08 22:07:53openshift/operator-framework-operator-controller@ddfdc8bKui WangUPSTREAM: <carry>: migrate olmv1 QE stress cases
2026-06-08 22:07:53openshift/operator-framework-operator-controller@02227b4Todd ShortUPSTREAM: <carry>: Use busybox/httpd to simulate probes
2026-06-08 22:07:54openshift/operator-framework-operator-controller@5a71fdbXia ZhaoUPSTREAM: <carry>: migrate olmv1 QE cases
2026-06-08 22:07:54openshift/operator-framework-operator-controller@7dddb32Kui WangUPSTREAM: <carry>: add agent for olmv1 qe cases
2026-06-08 22:07:55openshift/operator-framework-operator-controller@a3ca9e4Todd ShortUPSTREAM: <carry>: Disable upstream PodDisruptionBudget
2026-06-08 22:07:56openshift/operator-framework-operator-controller@4d8fff9Rashmi GottipatiUPSTREAM: <carry>: Add AGENTS.md for AI code contributions
2026-06-08 22:07:56openshift/operator-framework-operator-controller@30eaf28Rashmi GottipatiUPSTREAM: <carry>: address review comments through addl prompts
2026-06-08 22:07:57openshift/operator-framework-operator-controller@1e5f74dRashmi GottipatiUPSTREAM: <carry>: addressing some more review comments
2026-06-08 22:07:57openshift/operator-framework-operator-controller@4975209Rashmi GottipatiUPSTREAM: <carry>: remove DCO line
2026-06-08 22:07:58openshift/operator-framework-operator-controller@363f4beBruno AndradeUPSTREAM: <carry>: migrate bandrade test cases to OTE
2026-06-08 22:07:58openshift/operator-framework-operator-controller@57d0c2cBruno AndradeUPSTREAM: <carry>: update metadata
2026-06-08 22:07:59openshift/operator-framework-operator-controller@a73371fBruno AndradeUPSTREAM: <carry>: remove originalName
2026-06-08 22:07:59openshift/operator-framework-operator-controller@b480d06Jian ZhangUPSTREAM: <carry>: update 80458's timeout to 180s
2026-06-08 22:08:00openshift/operator-framework-operator-controller@8744896Jian ZhangUPSTREAM: <carry>: update 83026 to specify the clustercatalog
2026-06-08 22:08:00openshift/operator-framework-operator-controller@a7d8dc4Catherine Chan-TseUPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
2026-06-08 22:08:01openshift/operator-framework-operator-controller@d1280e4Predrag KnezevicUPSTREAM: <carry>: Use oc client for running e2e tests
2026-06-08 22:08:01openshift/operator-framework-operator-controller@8eaf98dPredrag KnezevicUPSTREAM: <carry>: Run upstream e2e tests tagged with @catalogd-update
2026-06-08 22:08:02openshift/operator-framework-operator-controller@a504cf8Kui WangUPSTREAM: <carry>: enhance case to make it more stable
2026-06-08 22:08:02openshift/operator-framework-operator-controller@a9e7ef3Evan HearneUPSTREAM: <carry>: add service account to curl job
2026-06-08 22:08:03openshift/operator-framework-operator-controller@822b03bEvan HearneUPSTREAM: <carry>: move sa creation out of buildCurlJob()
2026-06-08 22:08:03openshift/operator-framework-operator-controller@848406fEvan HearneUPSTREAM: <carry>: comment out delete service account
2026-06-08 22:08:04openshift/operator-framework-operator-controller@f628919Evan HearneUPSTREAM: <carry>: move defercleanup for sa for LIFO
2026-06-08 22:08:04openshift/operator-framework-operator-controller@aac6420Evan HearneUPSTREAM: <carry>: add polling so job fully deleted before proceed
2026-06-08 22:08:05openshift/operator-framework-operator-controller@26c54c3Luke MeyerUPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redhat/add-service-account-curl-job"
2026-06-08 22:08:06openshift/operator-framework-operator-controller@d3827d1Camila MacedoUPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
2026-06-08 22:08:06openshift/operator-framework-operator-controller@1283ad8Kui WangUPSTREAM: <carry>: config watchnamespace cases
2026-06-08 22:08:07openshift/operator-framework-operator-controller@275d494Xia ZhaoUPSTREAM: <carry>: enhance ocp-79770
2026-06-08 22:08:07openshift/operator-framework-operator-controller@1b5e8a6Kui WangUPSTREAM: <carry>: upgrade version support case
2026-06-08 22:08:08openshift/operator-framework-operator-controller@58e406aPer Goncalves da SilvaUPSTREAM: <carry>: Remove installed condition check from auth preflight test
2026-06-08 22:08:08openshift/operator-framework-operator-controller@38fdc45Per Goncalves da SilvaUPSTREAM: <carry>: Add openshift/api dependency
2026-06-08 22:08:09openshift/operator-framework-operator-controller@9a9408aPer Goncalves da SilvaUPSTREAM: <carry>: Add boxcutter specific preflight auth test
2026-06-08 22:08:09openshift/operator-framework-operator-controller@7764a41Kui WangUPSTREAM: <carry>: adjust watchnamespace case based on change
2026-06-08 22:08:10openshift/operator-framework-operator-controller@9ff8b93Camila MacedoUPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root dir
2026-06-08 22:08:11openshift/operator-framework-operator-controller@1c4b846Bruno AndradeUPSTREAM: <carry>: add 83979 automation
2026-06-08 22:08:12openshift/operator-framework-operator-controller@510765fBruno AndradeUPSTREAM: <carry>: add 85889 automation
2026-06-08 22:08:12openshift/operator-framework-operator-controller@0d864caPer Goncalves da SilvaUPSTREAM: <carry>: Update test-operator startup script to fix pod probe endpoints
2026-06-08 22:08:13openshift/operator-framework-operator-controller@9ddbb4bPer Goncalves da SilvaUPSTREAM: <carry>: Fix up own-namespace invalid configuration test
2026-06-08 22:08:13openshift/operator-framework-operator-controller@bf4f2c6Camila MacedoUPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles instead of openshift-pipelines-operator-rh
2026-06-08 22:08:14openshift/operator-framework-operator-controller@53a9f05Kui WangUPSTREAM: <carry>: adjust sa and permission test cases per new change from boxcutterruntime
2026-06-08 22:08:14openshift/operator-framework-operator-controller@6796bc5Camila MacedoUPSTREAM: <carry>: Update OCP catalogs to v4.22
2026-06-08 22:08:16openshift/operator-framework-operator-controller@ada2315Camila MacedoUPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and dependencies
2026-06-08 22:08:17openshift/operator-framework-operator-controller@6539fb3Jian ZhangUPSTREAM: <carry>: fix 83026 for TP cluster
2026-06-08 22:08:17openshift/operator-framework-operator-controller@5507429Kui WangUPSTREAM: <carry>: serviceAccount validation unified across all runtimes
2026-06-08 22:08:18openshift/operator-framework-operator-controller@98cf592Stephen BenjaminUPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
2026-06-08 22:08:18openshift/operator-framework-operator-controller@12f7266Camila MacedoUPSTREAM: <carry>: Increase install timeout and add diagnostic logging for CE install tests
2026-06-08 22:08:19openshift/operator-framework-operator-controller@38d5a03Evan HearneUPSTREAM: <carry>: add service account to curl job
2026-06-08 22:08:19openshift/operator-framework-operator-controller@fbd4dfaJian ZhangUPSTREAM: <carry>: update OCP-75441 to support multi-arch
2026-06-08 22:08:20openshift/operator-framework-operator-controller@8bd05ccKui WangUPSTREAM: <carry>: deployment config cases
2026-06-08 22:08:20openshift/operator-framework-operator-controller@1835b29Todd ShortUPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
2026-06-08 22:08:21openshift/operator-framework-operator-controller@6bb078cTodd ShortUPSTREAM: <carry>: Update openshift/api and client-go
2026-06-08 22:08:21openshift/operator-framework-operator-controller@021d3f4Camila MacedoUPSTREAM: <carry>: Add boxcutter tests
2026-06-08 22:08:22openshift/operator-framework-operator-controller@fc8c86fXia ZhaoUPSTREAM: <carry>: enhance QE cases
2026-06-08 22:08:23openshift/operator-framework-operator-controller@3de7d85Daniel FranzUPSTREAM: <carry>: Update quay-operator version to one containing arm64 support
2026-06-08 22:08:23openshift/operator-framework-operator-controller@829f8c6Kui WangUPSTREAM: <carry>: verify volume/volumeMount override
2026-06-08 22:08:24openshift/operator-framework-operator-controller@b73b5b5Jian ZhangUPSTREAM: <carry>: Add long-duration test script and documents
2026-06-08 22:08:24openshift/operator-framework-operator-controller@572b257Todd ShortUPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
2026-06-08 22:08:25openshift/operator-framework-operator-controller@6b48d7aCamila MacedoUPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSet in OTE tests
2026-06-08 22:08:25openshift/operator-framework-operator-controller@0269e2eCamila MacedoUPSTREAM: <carry>: Skip incompatible operator test when Boxcutter uses ClusterObjectSet
2026-06-08 22:08:26openshift/operator-framework-operator-controller@9f5d8d7Bruno AndradeUPSTREAM: <carry>: add ocp-87557
2026-06-08 22:08:26openshift/operator-framework-operator-controller@0538da2Francesco GiudiciUPSTREAM: <carry>: Add fgiudici as reviewer
2026-06-08 22:08:27openshift/operator-framework-operator-controller@c6edb1dCamila MacedoUPSTREAM: <carry>: Remove skip for incompatible operator check after rename of CER
2026-06-08 22:08:28openshift/operator-framework-operator-controller@81df913Kui WangUPSTREAM: <carry>: Test empty affinity erasure and cleanup
2026-06-08 22:08:29openshift/operator-framework-operator-controller@3bdd2c1Camila MacedoUPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in preflight test
2026-06-08 22:08:29openshift/operator-framework-operator-controller@567eb17Camila MacedoUPSTREAM: <carry>: Expand OTE docs with more comprehensive details
2026-06-08 22:08:30openshift/operator-framework-operator-controller@f83be17Todd ShortUPSTREAM: <carry>: Disable upstream TLSProfile tests
2026-06-08 22:08:30openshift/operator-framework-operator-controller@ed45ce2Camila MacedoUPSTREAM: <carry>: OTE: Simplify by remove option to configure tests to run outside of OCP
2026-06-08 22:08:31openshift/operator-framework-operator-controller@559eda7Camila MacedoUPSTREAM: <carry>: OTE - Make OTE local output easier to read
2026-06-08 22:08:31openshift/operator-framework-operator-controller@e425ab5Joe LanfordUPSTREAM: <carry>: remove dead e2e registry push job and related variables
2026-06-08 22:08:32openshift/operator-framework-operator-controller@ade3b02Todd ShortUPSTREAM: <carry>: OCPBUGS-62517: Set replicas=1, PDB, and pod anti-affinity for HA topology
2026-06-08 22:08:32openshift/operator-framework-operator-controller@c8da353Todd ShortUPSTREAM: <carry>: fix(test): drop blocking namespace-deletion wait between both-watch-modes scenarios
2026-06-08 22:08:33openshift/operator-framework-operator-controller@7db3475Todd ShortUPSTREAM: <carry>: Fix downstream e2e test invocation
2026-06-08 22:08:34openshift/operator-framework-operator-controller@7bf1e85Joe LanfordUPSTREAM: <carry>: Delete openshift/registry.Dockerfile
2026-06-08 22:08:34openshift/operator-framework-operator-controller@b0188a1Todd ShortUPSTREAM: <carry>: Remove test-experimenal-e2e
2026-06-08 22:08:35openshift/operator-framework-operator-controller@cdd9f61Camila MacedoUPSTREAM: <carry>: Update readme Default Catalog Tests
2026-06-08 22:08:35openshift/operator-framework-operator-controller@8ae8616Todd ShortUPSTREAM: <carry>: add OLMv1 topology-based deployment scaling e2e test
2026-06-08 22:08:36openshift/operator-framework-operator-controller@5e377a8Todd ShortUPSTREAM: <carry>: Update dockerfiles to use golang-1.26-release-4.23 builders
2026-06-08 22:08:36openshift/operator-framework-operator-controller@df4c685AOS Automation Release TeamUPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-operator-controller.yml
2026-06-08 22:08:37openshift/operator-framework-operator-controller@0fc4671AOS Automation Release TeamUPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-catalogd.yml

This pull request is expected to merge without any human intervention. If tests are failing here, changes must land upstream to fix any issues so that future downstreaming efforts succeed.

/assign @openshift/openshift-team-operator-runtime

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 openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitaiBot commented Jun 10, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Upgraded Kubernetes modules to v0.36.1, migrated Prometheus deployment from kustomize/scripts to helm, added post-quantum-hybrid TLS curves with e2e validation, extended generated applyconfiguration extraction helpers and parser schema, enhanced CRD upgrade-safety testing, and refactored test infrastructure.

Changes

Kubernetes 1.36 Upgrade with Prometheus Helm Migration

Layer / File(s)Summary
Build tooling and go.mod updates
.bingo/Variables.mk, .bingo/controller-gen.mod, .bingo/crd-diff.mod, .bingo/variables.env, go.mod
Updated controller-gen → v0.21.0, crd-diff → v0.6.0, removed Kustomize pin; bumped Kubernetes modules to v0.36.1, controller-runtime to v0.24.1, and many transitive/indirect dependencies; updated replace directives for k8s.io modules.
Makefile refactoring
Makefile
Narrowed lint-helm to olmv1 only; added generation revert logic for controller-gen version annotations across update-crds, generate, and $(MANIFESTS) targets; rewrote prometheus target to helm upgrade --install with TLS secret wiring via --set-string; updated test-experimental-e2e to use testdata/prometheus/values-experimental.yaml.
API scheme registration refactor
api/v1/groupversion_info.go, api/v1/clustercatalog_types.go, api/v1/clusterextension_types.go, api/v1/clusterobjectset_types.go
Switched SchemeBuilder from controller-runtime's scheme.Builder to runtime.NewSchemeBuilder; updated all three types to register via AddKnownTypes callbacks instead of direct registration.
Generated extraction helpers and parser schema
applyconfigurations/api/v1/clustercatalog.go, applyconfigurations/api/v1/clusterextension.go, applyconfigurations/api/v1/clusterobjectset.go, applyconfigurations/internal/internal.go
Added Extract*From, Extract*, and Extract*Status helpers using managedfields.ExtractInto; updated controller-gen header (v0.20 → v0.21) and expanded embedded schemaYAML with updated structured-merge-diff type schemas.
Prometheus helm migration
Makefile, helm/prometheus/ (removed), testdata/prometheus/values.yaml, testdata/prometheus/values-experimental.yaml
Removed prometheus kustomize installation script, old helm chart templates (ServiceMonitors, ClusterRole, Prometheus CR, Service, RBAC, NetworkPolicy, Secret), and values.yaml; added comprehensive e2e Helm values with Prometheus/prometheus-operator config, dual ServiceMonitors for operator-controller/catalogd, kubelet/cAdvisor scraping, and alerting rules; added experimental values for resource-usage thresholds.
TLS post-quantum hybrid curves
internal/shared/util/tlsprofiles/tlsprofiles.go, internal/shared/util/tlsprofiles/tlsprofiles_test.go, test/e2e/features/tls.feature, test/e2e/steps/tls_steps.go, test/e2e/steps/steps.go, internal/shared/util/http/httputil.go, internal/shared/util/http/httputil_test.go
Added ML-KEM constants (SecP256r1MLKEM768, SecP384r1MLKEM1024) and secp256r1 alias; extended curve lookup map and test coverage; added two e2e TLS scenarios validating secp256r1/prime256v1 equivalence and SecP256r1MLKEM768 acceptance; integrated TLS profile enforcement in HTTP client via tlsprofiles.GetTLSConfigFunc.
CRD upgrade-safety tests
internal/operator-controller/rukpak/preflights/crdupgradesafety/crdupgradesafety_test.go, internal/operator-controller/rukpak/preflights/crdupgradesafety/testdata/manifests/*
Narrowed TestUpgrade assertion expectations for oneOf errors; added TestUpgrade_OneOfRemoved and TestUpgrade_OneOfAdded test functions; added four CRD test manifests modeling service.networking.example.com with oneOf schema variants.
Test infrastructure refactoring
test/internal/summary/artifacts.go, test/internal/summary/summary.go, test/e2e/features_test.go, test/e2e/support-bundle.yaml, openshift/tests-extension/go.mod, internal/shared/util/image/helm_test.go, internal/shared/util/test/utils.go
Relocated summary package from internal/shared to test/internal; relaxed Prometheus matrix validation (allow multiple result sets, removed min-datapoint check); changed summary error handling to not exit; added e2e SupportBundle manifest; bumped openshift extension go.mod to Kubernetes v0.36.1; enabled Helm OCI plain HTTP; removed FindK8sClient helper.
Supporting changes
AGENTS.md, requirements.txt, hack/conftest/policy/README.md, hack/api-lint-diff/run.sh, .bingo/kustomize.mod, internal/operator-controller/rukpak/bundle/registryv1bundleconfig.json
Updated AGENTS.md folder structure (testdata/ parent) and added API Conventions section; bumped Python dependencies (idna 3.16→3.17, platformdirs 4.9.6→4.10.0); rewrote conftest README for main-only NetworkPolicy validation; improved repo-root detection for git worktrees; removed kustomize.mod; updated bundle schema descriptions; removed Prometheus conftest policy.

🎯 4 (Complex) | ⏱️ ~45 minutes

Suggested labels: lgtm


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (2 errors, 3 warnings)

Check nameStatusExplanationResolution
Ote Binary Stdout Contract❌ Errortest/e2e/features_test.go TestMain contains fmt.Println and fmt.Printf calls writing to stdout, violating OTE JSON stdout contract in process-level code.Replace fmt.Println and fmt.Printf with os.Stderr writes or remove them; use fmt.Fprintln(os.Stderr, ...) or log.Print with stderr output.
No-Weak-Crypto❌ ErrorPR introduces 3DES cipher (TLS_RSA_WITH_3DES_EDE_CBC_SHA) in new old_profile.go for backward compatibility, flagged as insecure in tests but remains vulnerable.Remove TLS_RSA_WITH_3DES_EDE_CBC_SHA or document security implications; consider requiring explicit opt-in for deprecated profiles with stronger warnings.
Docstring Coverage⚠️ WarningDocstring coverage is 45.45% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
Topology-Aware Scheduling Compatibility⚠️ WarningPR introduces scheduling constraints that break on non-HA topologies: maxUnavailable: 0 + 1 replica (deadlock on SNO/TNF/TNA), nodeSelector requiring control-plane nodes (Pending on HyperShift), PD...Check infrastructure.Status.ControlPlaneTopology at runtime, use maxUnavailable ≥ 1, set replicas dynamically per topology (SNO:1, TNF/TNA:2, HA:2+), avoid control-plane nodeSelector, and exclude arbiter nodes via taint tolerations on TN...
Ipv6 And Disconnected Network Test Compatibility⚠️ WarningNew e2e test scenarios in test/e2e/features/tls.feature depend on test/e2e/steps/tls_steps.go which hardcodes IPv4 localhost (127.0.0.1) in randomAvailablePort() and portForward(), failing in IPv6-...Fix randomAvailablePort() to use "tcp6" and "[::1]:0" for IPv6 support. Update portForward() to return IPv6 address format using net.JoinHostPort(), or detect cluster IP family and adapt accordingly.
✅ Passed checks (10 passed)
Check nameStatusExplanation
Title check✅ PassedThe title accurately describes the PR's primary purpose: synchronizing upstream repository changes into the downstream openshift repository.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names✅ PassedAll test names are stable and deterministic. BDD scenarios use static descriptive titles (e.g., "catalogd metrics endpoint accepts connections using post-quantum hybrid curves"), and Go test functi...
Test Structure And Quality✅ PassedAll test code in the PR demonstrates high quality. Tests have single responsibility (each tests one behavior), proper setup/cleanup using t.Cleanup and defer, appropriate timeouts via require.Event...
Microshift Test Compatibility✅ PassedThe PR adds 5 new Ginkgo e2e test scenarios in test/e2e/features/tls.feature (@TLSProfile tag). All scenarios use only standard Kubernetes APIs (Deployment, kubectl patch, port-forwarding) with no...
Single Node Openshift (Sno) Test Compatibility✅ PassedNo new tests make multi-node or HA assumptions. TLS feature tests use port-forwarding to test single pod metrics endpoint, CRD upgrade tests are unit tests. Both are SNO-compatible.
Container-Privileges✅ PassedNo container privilege escalation settings (privileged: true, hostPID/Network/IPC, SYS_ADMIN, allowPrivilegeEscalation: true, or runAsUser: 0) found in Kubernetes manifests. All containers properly...
No-Sensitive-Data-In-Logs✅ PassedPR contains no sensitive data logging. All fmt.Printf calls log only error messages/paths, not secret contents. Secrets and pod logs are written to restricted files (0600), not logged to stdout/std...
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@helm/prometheus/templates/networkpolicy-prometheus-operator.yml`:
- Around line 8-9: The current NetworkPolicy egress entry is an open rule
(`egress: - {}`) allowing prometheus-operator unrestricted outbound access;
replace that wildcard with explicit egress rules that enumerate only the
required destinations and ports. Update the egress section in
networkpolicy-prometheus-operator.yml to include specific peer selectors
(namespaceSelector or podSelector) and/or ipBlock CIDRs plus required
ports/protocols for scraping and webhooks (e.g., HTTP/HTTPS ports), and add a
default-deny by ensuring policyTypes includes Egress; target the
prometheus-operator podSelector (or label) so only that controller gets the
narrowed egress permissions.
- Around line 13-14: The NetworkPolicy currently only lists "Egress" in the
policyTypes field and therefore does not enforce ingress restrictions; update
the policyTypes array in networkpolicy-prometheus-operator.yml to include both
"Ingress" and "Egress" so the NetworkPolicy will also block inbound traffic as
intended (modify the policyTypes entry that currently contains only Egress to
contain both Ingress and Egress).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 29109d2a-811b-44c8-a1aa-97363cf20467

📥 Commits

Reviewing files that changed from the base of the PR and between 8dcfe85 and a88cedc.

📒 Files selected for processing (2)
  • helm/prometheus/templates/networkpolicy-prometheus-operator.yml
  • test/e2e/support-bundle.yaml

Comment on lines +8 to +9
egress:
- {}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚖️ Poor tradeoff

Consider restricting egress destinations.

The egress rule - {} allows prometheus-operator to connect to any destination. While this may be necessary for operational flexibility (metrics scraping, webhooks, etc.), it weakens defense-in-depth by allowing unrestricted outbound connections if the operator is compromised.

If the operator's required egress destinations are known, consider constraining the egress rules to specific namespaces, CIDR blocks, or ports.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@helm/prometheus/templates/networkpolicy-prometheus-operator.yml` around lines
8 - 9, The current NetworkPolicy egress entry is an open rule (`egress: - {}`)
allowing prometheus-operator unrestricted outbound access; replace that wildcard
with explicit egress rules that enumerate only the required destinations and
ports. Update the egress section in networkpolicy-prometheus-operator.yml to
include specific peer selectors (namespaceSelector or podSelector) and/or
ipBlock CIDRs plus required ports/protocols for scraping and webhooks (e.g.,
HTTP/HTTPS ports), and add a default-deny by ensuring policyTypes includes
Egress; target the prometheus-operator podSelector (or label) so only that
controller gets the narrowed egress permissions.

Comment on lines +13 to +14
policyTypes:
- Egress

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

NetworkPolicy does not block ingress traffic as intended.

The policyTypes field contains only Egress, which means this policy controls egress but does not restrict ingress. According to Kubernetes NetworkPolicy semantics, when Ingress is not included in policyTypes, ingress traffic remains uncontrolled (default allow).

The PR description states this policy "restricts prometheus-operator to egress-only traffic," but the current configuration allows both egress and ingress. To actually block ingress while allowing egress, add Ingress to policyTypes:

🔒 Proposed fix to block ingress traffic
 policyTypes:
- Egress
+ - Ingress
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@helm/prometheus/templates/networkpolicy-prometheus-operator.yml` around lines
13 - 14, The NetworkPolicy currently only lists "Egress" in the policyTypes
field and therefore does not enforce ingress restrictions; update the
policyTypes array in networkpolicy-prometheus-operator.yml to include both
"Ingress" and "Egress" so the NetworkPolicy will also block inbound traffic as
intended (modify the policyTypes entry that currently contains only Egress to
contain both Ingress and Egress).

tmshortand others added 3 commits June 10, 2026 09:53
… alias (#2754)
Add the two NIST-curve ML-KEM post-quantum hybrids introduced in Go 1.26
to the custom curve map and local constants. Also add "secp256r1" as an
alias for "prime256v1" using the IANA name for P-256.
Signed-off-by: Todd Short <tshort@redhat.com>
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Bump k8s.io/* staging modules to v0.36.0
- Bump controller-tools to v0.21.0 and crdify to v0.6.0
- Update SchemeBuilder to use k8s.io/apimachinery/pkg/runtime
- Suppress no-op diffs from controller-gen version bumps in generated
files, CRDs, and manifests
- Ignore controller-gen version annotation in CRD generator test
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Predrag Knezevic <pknezevi@redhat.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The serial e2e tests require pod restarts which causes the metrics to scrape two sets of results, which the summary generator did not allow. Now, the results from the new pod will be aggregated to the final set.
Signed-off-by: Daniel Franz <dfranz@redhat.com>
@openshift-ciopenshift-ciBot removed the lgtm Indicates that a PR is ready to be merged. label Jun 11, 2026

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
helm/prometheus/templates/networkpolicy-prometheus-operator.yml (1)

13-14: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

NetworkPolicy does not block ingress traffic as intended.

The policyTypes field contains only Egress, which means this policy controls egress but does not restrict ingress. When Ingress is not included in policyTypes, ingress traffic remains uncontrolled (default allow).

To block ingress while allowing egress, add Ingress to policyTypes:

🔒 Proposed fix to block ingress traffic
 policyTypes:
- Egress
+ - Ingress

Note: This NetworkPolicy was added upstream (commit b15d736). If changes are needed, they should be proposed to the upstream repository first.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@helm/prometheus/templates/networkpolicy-prometheus-operator.yml` around lines
13 - 14, The NetworkPolicy currently only lists "Egress" under the policyTypes
field so ingress remains allowed; update the policyTypes list in
networkpolicy-prometheus-operator.yml to include "Ingress" (i.e., make the list
contain both "Ingress" and "Egress") so ingress traffic is subject to the
NetworkPolicy rules and will be blocked as intended.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Duplicate comments:
In `@helm/prometheus/templates/networkpolicy-prometheus-operator.yml`:
- Around line 13-14: The NetworkPolicy currently only lists "Egress" under the
policyTypes field so ingress remains allowed; update the policyTypes list in
networkpolicy-prometheus-operator.yml to include "Ingress" (i.e., make the list
contain both "Ingress" and "Egress") so ingress traffic is subject to the
NetworkPolicy rules and will be blocked as intended.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e1744936-73b8-478f-a12a-c4b81ef2ae29

📥 Commits

Reviewing files that changed from the base of the PR and between a88cedc and a41183a.

⛔ Files ignored due to path filters (269)
  • .bingo/controller-gen.sum is excluded by !**/*.sum
  • .bingo/crd-diff.sum is excluded by !**/*.sum
  • api/v1/zz_generated.deepcopy.go is excluded by !**/zz_generated*
  • go.sum is excluded by !**/*.sum
  • openshift/tests-extension/go.sum is excluded by !**/*.sum
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/.cliff.toml is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/.gitignore is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/CONTRIBUTORS.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/NOTICE is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/README.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/errors.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/ifaces.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/options.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/pointer.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/.gitignore is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/CONTRIBUTORS.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/README.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/SECURITY.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/go.work is excluded by !**/*.work, !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/jsonname/go_name_provider.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/jsonname/ifaces.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/jsonname/name_provider.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/clustercatalog_types.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/clusterextension_types.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/clusterobjectset_types.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/groupversion_info.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !**/zz_generated*
  • openshift/tests-extension/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/encoding/protojson/decode.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/encoding/prototext/decode.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/internal/version/version.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/modules.txt is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/errors.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/restmapper.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/applyconfigurations.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/options.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/typed_client.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/scheme/scheme.go is excluded by !**/vendor/**
  • vendor/github.com/fatih/color/color.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/fatih/color/color_windows.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/.cliff.toml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/.gitignore is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/CONTRIBUTORS.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/NOTICE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/errors.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/ifaces.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/options.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/pointer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/.gitignore is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/CONTRIBUTORS.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/SECURITY.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/go.work is excluded by !**/*.work, !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/go_name_provider.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/ifaces.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/name_provider.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gregjones/httpcache/.travis.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gregjones/httpcache/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/flowrate/flowrate.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/flowrate/io.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/flowrate/util.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/atom/atom.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/atom/table.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/const.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/doctype.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/entity.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/escape.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/foreign.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/iter.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/node.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/nodetype_string.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/parse.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/render.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/token.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/protojson/decode.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/prototext/decode.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/internal/descfmt/stringer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/internal/version/version.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/admissionregistration/v1/zz_generated.model_name.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/admissionregistration/v1/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/apidiscovery/v2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apidiscovery/v2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apidiscovery/v2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apidiscovery/v2beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apidiscovery/v2beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apiserverinternal/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apiserverinternal/v1alpha1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1alpha1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1alpha1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.model_name.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta2/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.model_name.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/batch/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/certificates/v1beta1/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/coordination/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1alpha2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1alpha2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1alpha2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/core/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/core/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/core/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/core/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/core/v1/zz_generated.model_name.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/discovery/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/discovery/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/discovery/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/discovery/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/discovery/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/discovery/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/events/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/events/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/extensions/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/extensions/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/extensions/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/extensions/v1beta1/zz_generated.validations.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/flowcontrol/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1beta2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1beta2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1beta3/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1beta3/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/flowcontrol/v1beta3/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/imagepolicy/v1alpha1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/imagepolicy/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/imagepolicy/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/networking/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/networking/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/networking/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/networking/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/networking/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/networking/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/node/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/node/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/node/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/node/v1alpha1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/node/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/node/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/node/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/node/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/node/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/policy/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/policy/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/policy/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/policy/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/policy/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/policy/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/rbac/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/rbac/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/rbac/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/rbac/v1alpha1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/rbac/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/rbac/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/rbac/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/rbac/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/rbac/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/resource/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/resource/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/resource/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/resource/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/resource/v1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/resource/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/resource/v1/zz_generated.model_name.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/resource/v1alpha3/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/resource/v1alpha3/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/resource/v1alpha3/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
📒 Files selected for processing (31)
  • .bingo/Variables.mk
  • .bingo/controller-gen.mod
  • .bingo/crd-diff.mod
  • .bingo/variables.env
  • Makefile
  • api/v1/clustercatalog_types.go
  • api/v1/clusterextension_types.go
  • api/v1/clusterobjectset_types.go
  • api/v1/groupversion_info.go
  • applyconfigurations/api/v1/clustercatalog.go
  • applyconfigurations/api/v1/clusterextension.go
  • applyconfigurations/api/v1/clusterobjectset.go
  • applyconfigurations/internal/internal.go
  • go.mod
  • hack/tools/crd-generator/main_test.go
  • helm/prometheus/templates/networkpolicy-prometheus-operator.yml
  • internal/operator-controller/rukpak/bundle/registryv1bundleconfig.json
  • internal/shared/util/test/utils.go
  • internal/shared/util/tlsprofiles/tlsprofiles.go
  • internal/shared/util/tlsprofiles/tlsprofiles_test.go
  • openshift/tests-extension/go.mod
  • test/e2e/features/tls.feature
  • test/e2e/features_test.go
  • test/e2e/steps/steps.go
  • test/e2e/steps/tls_steps.go
  • test/e2e/support-bundle.yaml
  • test/internal/summary/artifacts.go
  • test/internal/summary/summary.go
  • test/internal/summary/templates/alert.md.tmpl
  • test/internal/summary/templates/mermaid_chart.md.tmpl
  • test/internal/summary/templates/summary.md.tmpl
💤 Files with no reviewable changes (1)
  • internal/shared/util/test/utils.go
✅ Files skipped from review due to trivial changes (6)
  • .bingo/controller-gen.mod
  • .bingo/variables.env
  • .bingo/crd-diff.mod
  • applyconfigurations/api/v1/clusterextension.go
  • applyconfigurations/api/v1/clustercatalog.go
  • internal/operator-controller/rukpak/bundle/registryv1bundleconfig.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • test/e2e/support-bundle.yaml

pedjakand others added 6 commits June 11, 2026 12:16
…-stack (#2757)
Replace the hand-rolled prometheus-operator install script and custom
Helm chart (helm/prometheus/) with the official kube-prometheus-stack
community chart (v86.2.2), installed from OCI registry.
- Disable all unused components (grafana, alertmanager, exporters,
default rules, admission webhooks, operator TLS)
- Configure Prometheus instance, NetworkPolicies, and kubelet
ServiceMonitor via chart values
- Add operator-controller and catalogd ServiceMonitors as
additionalServiceMonitors using bearerTokenFile (projected SA token)
instead of the legacy prometheus-metrics-token Secret
- Split PrometheusRules into controller-panic-alerts and
controller-resource-alerts so the experimental override only
replaces the resource-usage group
- Inline the install logic into the Makefile prometheus target
- Remove conftest prometheus-networkpolicies.rego policy (NetworkPolicy
now managed by the chart)
- Remove unused kustomize bingo tooling
Co-authored-by: Claude <noreply@anthropic.com>
The lint-helm target depends on $(HELM) but invoked helm directly,
which could pick up an unpinned system Helm or fail if Helm isn't
on PATH. Use $(HELM) consistently, matching other targets.
Co-authored-by: Claude <noreply@anthropic.com>
…2759)
OneOf schema changes (e.g. adding required-field constraints) were
falling back to the generic "unhandled" comparator, blocking legitimate
operator upgrades like Serverless Operator 1.35.0 to 1.36.0.
Pin sigs.k8s.io/crdify to latest master (bb9957dbf465) which includes
a dedicated oneOf validator.
Co-authored-by: Claude <noreply@anthropic.com>
Bumps [platformdirs](https://github.com/tox-dev/platformdirs) from 4.9.6 to 4.10.0.
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst)
- [Commits](tox-dev/platformdirs@4.9.6...4.10.0)
---
updated-dependencies:
- dependency-name: platformdirs
dependency-version: 4.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [idna](https://github.com/kjd/idna) from 3.16 to 3.17.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)
- [Commits](kjd/idna@v3.16...v3.17)
---
updated-dependencies:
- dependency-name: idna
dependency-version: '3.17'
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Todd Short <tshort@redhat.com>
@openshift-botopenshift-bot added the lgtm Indicates that a PR is ready to be merged. label Jun 12, 2026
@openshift-ciopenshift-ciBot removed the lgtm Indicates that a PR is ready to be merged. label Jun 12, 2026

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
Makefile (1)

124-127: ⚡ Quick win

Keep the Prometheus values under a render-time lint step.

lint-helm now validates only helm/olmv1, but the new e2e monitoring config lives in testdata/prometheus/values.yaml and testdata/prometheus/values-experimental.yaml and is only exercised later by Line 353. That means a bad values key or chart-schema drift will bypass sanity/lint and fail much later in make test-e2e.

Suggested direction
 lint-helm: $(HELM) $(CONFTEST) `#HELP` Run helm linter
$(HELM) lint helm/olmv1
(set -euo pipefail; $(HELM) template olmv1 helm/olmv1) | $(CONFTEST) test --policy hack/conftest/policy/ --combine -n main -
+	$(HELM) template prometheus oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack \+ --version $(PROMETHEUS_CHART_VERSION) \+ -f testdata/prometheus/values.yaml > /dev/null+	$(HELM) template prometheus oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack \+ --version $(PROMETHEUS_CHART_VERSION) \+ -f testdata/prometheus/values.yaml \+ -f testdata/prometheus/values-experimental.yaml > /dev/null
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Makefile` around lines 124 - 127, The lint-helm target currently only
templates helm/olmv1 and skips the Prometheus value files under testdata; update
the lint-helm recipe (target name: lint-helm) to also render the Prometheus
configs and feed them into conftest so schema/key drift is caught early: run
helm template against helm/olmv1 with -f testdata/prometheus/values.yaml and -f
testdata/prometheus/values-experimental.yaml (or separately render each file)
and pipe those outputs into $(CONFTEST) test --policy hack/conftest/policy/
--combine -n main - just like the existing helm template invocation so both
Prometheus values files are validated at lint time.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Makefile`:
- Around line 348-361: The prometheus Makefile target currently pulls
kube-prometheus-stack from the public OCI registry using only
PROMETHEUS_CHART_VERSION which makes e2e builds depend on a live registry and an
unpinned tag; update the prometheus target to pin the chart by digest (sha256)
or vendor the chart into the repo and reference the local copy instead of
oci://ghcr.io/... with only --version. Specifically, replace the OCI URL/version
usage in the prometheus target (the helm/$(HELM) upgrade --install line that
references PROMETHEUS_CHART_VERSION) with either a fully digested OCI reference
(including `@sha256`:...) built into a new PROMETHEUS_CHART_DIGEST variable or
switch to a local chart path (checked into testdata/prometheus/) and adjust
PROMETHEUS_CHART_VERSION handling accordingly so test-e2e no longer depends on
the live registry.
---
Nitpick comments:
In `@Makefile`:
- Around line 124-127: The lint-helm target currently only templates helm/olmv1
and skips the Prometheus value files under testdata; update the lint-helm recipe
(target name: lint-helm) to also render the Prometheus configs and feed them
into conftest so schema/key drift is caught early: run helm template against
helm/olmv1 with -f testdata/prometheus/values.yaml and -f
testdata/prometheus/values-experimental.yaml (or separately render each file)
and pipe those outputs into $(CONFTEST) test --policy hack/conftest/policy/
--combine -n main - just like the existing helm template invocation so both
Prometheus values files are validated at lint time.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f80d8606-8102-486d-a588-b7b502f562a3

📥 Commits

Reviewing files that changed from the base of the PR and between a41183a and 453f9a4.

⛔ Files ignored due to path filters (242)
  • .bingo/controller-gen.sum is excluded by !**/*.sum
  • .bingo/crd-diff.sum is excluded by !**/*.sum
  • .bingo/kustomize.sum is excluded by !**/*.sum
  • api/v1/zz_generated.deepcopy.go is excluded by !**/zz_generated*
  • go.sum is excluded by !**/*.sum
  • openshift/tests-extension/go.sum is excluded by !**/*.sum
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/.cliff.toml is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/.gitignore is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/CONTRIBUTORS.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/NOTICE is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/README.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/errors.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/ifaces.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/options.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/jsonpointer/pointer.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/.gitignore is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/CONTRIBUTORS.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/README.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/SECURITY.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/go.work is excluded by !**/*.work, !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/jsonname/go_name_provider.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/jsonname/ifaces.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/go-openapi/swag/jsonname/name_provider.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/clustercatalog_types.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/clusterextension_types.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/clusterobjectset_types.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/groupversion_info.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/operator-framework/operator-controller/api/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !**/zz_generated*
  • openshift/tests-extension/vendor/golang.org/x/sync/singleflight/singleflight.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_386.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/encoding/protojson/decode.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/encoding/prototext/decode.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/internal/version/version.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/modules.txt is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/errors.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/restmapper.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/applyconfigurations.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/options.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/client/typed_client.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/sigs.k8s.io/controller-runtime/pkg/scheme/scheme.go is excluded by !**/vendor/**
  • vendor/github.com/fatih/color/color.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/fatih/color/color_windows.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/.cliff.toml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/.gitignore is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/CONTRIBUTORS.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/NOTICE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/errors.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/ifaces.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/options.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/pointer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/.gitignore is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/CONTRIBUTORS.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/SECURITY.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/go.work is excluded by !**/*.work, !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/go_name_provider.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/ifaces.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/name_provider.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gregjones/httpcache/.travis.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gregjones/httpcache/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mattn/go-sqlite3/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3_context.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3_opt_dbstat.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vtable.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/flowrate/flowrate.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/flowrate/io.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/flowrate/util.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/mod/modfile/read.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/mod/modfile/rule.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/atom/atom.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/atom/table.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/const.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/doctype.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/entity.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/escape.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/foreign.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/iter.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/node.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/nodetype_string.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/parse.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/render.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/html/token.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sync/errgroup/errgroup.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sync/semaphore/semaphore.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sync/singleflight/singleflight.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_386.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_arm.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_mips.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/protojson/decode.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/prototext/decode.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/internal/descfmt/stringer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/internal/version/version.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admission/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/admissionregistration/v1/zz_generated.model_name.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/admissionregistration/v1/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1alpha1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/apidiscovery/v2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apidiscovery/v2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apidiscovery/v2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apidiscovery/v2beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apidiscovery/v2beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apiserverinternal/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apiserverinternal/v1alpha1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/apps/v1beta2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1alpha1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1alpha1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authentication/v1beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/authorization/v1beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.model_name.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta2/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.model_name.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/batch/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/batch/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1alpha1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/types_swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/certificates/v1beta1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/certificates/v1beta1/zz_generated.prerelease-lifecycle.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/k8s.io/api/coordination/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1alpha2/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1alpha2/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1alpha2/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1beta1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1beta1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/k8s.io/api/coordination/v1beta1/types.go is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (58)
  • .bingo/Variables.mk
  • .bingo/controller-gen.mod
  • .bingo/crd-diff.mod
  • .bingo/kustomize.mod
  • .bingo/variables.env
  • AGENTS.md
  • Makefile
  • api/v1/clustercatalog_types.go
  • api/v1/clusterextension_types.go
  • api/v1/clusterobjectset_types.go
  • api/v1/groupversion_info.go
  • applyconfigurations/api/v1/clustercatalog.go
  • applyconfigurations/api/v1/clusterextension.go
  • applyconfigurations/api/v1/clusterobjectset.go
  • applyconfigurations/internal/internal.go
  • go.mod
  • hack/conftest/policy/README.md
  • hack/conftest/policy/prometheus-networkpolicies.rego
  • hack/test/install-prometheus.sh
  • hack/tools/crd-generator/main_test.go
  • helm/prom_experimental.yaml
  • helm/prometheus/Chart.yaml
  • helm/prometheus/templates/clusterrole-prometheus.yml
  • helm/prometheus/templates/clusterrolebinding-prometheus.yml
  • helm/prometheus/templates/networkpolicy-prometheus.yml
  • helm/prometheus/templates/prometheus-prometheus.yml
  • helm/prometheus/templates/prometheusrule-controller-alerts.yml
  • helm/prometheus/templates/secret-prometheus-metrics-token.yml
  • helm/prometheus/templates/service-prometheus-service.yml
  • helm/prometheus/templates/serviceaccount-prometheus.yml
  • helm/prometheus/templates/servicemonitor-catalogd-controller-manager-metrics-monitor.yml
  • helm/prometheus/templates/servicemonitor-kubelet.yml
  • helm/prometheus/templates/servicemonitor-operator-controller-controller-manager-metrics-monitor.yml
  • helm/prometheus/values.yaml
  • internal/operator-controller/rukpak/bundle/registryv1bundleconfig.json
  • internal/operator-controller/rukpak/preflights/crdupgradesafety/crdupgradesafety_test.go
  • internal/operator-controller/rukpak/preflights/crdupgradesafety/testdata/manifests/crd-oneof-removed-new.json
  • internal/operator-controller/rukpak/preflights/crdupgradesafety/testdata/manifests/crd-oneof-removed-old.json
  • internal/operator-controller/rukpak/preflights/crdupgradesafety/testdata/manifests/crd-oneof-safe-addition-new.json
  • internal/operator-controller/rukpak/preflights/crdupgradesafety/testdata/manifests/crd-oneof-safe-addition-old.json
  • internal/shared/util/image/helm_test.go
  • internal/shared/util/test/utils.go
  • internal/shared/util/tlsprofiles/tlsprofiles.go
  • internal/shared/util/tlsprofiles/tlsprofiles_test.go
  • openshift/tests-extension/go.mod
  • requirements.txt
  • test/e2e/features/tls.feature
  • test/e2e/features_test.go
  • test/e2e/steps/steps.go
  • test/e2e/steps/tls_steps.go
  • test/e2e/support-bundle.yaml
  • test/internal/summary/artifacts.go
  • test/internal/summary/summary.go
  • test/internal/summary/templates/alert.md.tmpl
  • test/internal/summary/templates/mermaid_chart.md.tmpl
  • test/internal/summary/templates/summary.md.tmpl
  • testdata/prometheus/values-experimental.yaml
  • testdata/prometheus/values.yaml
💤 Files with no reviewable changes (18)
  • helm/prometheus/templates/clusterrole-prometheus.yml
  • hack/conftest/policy/prometheus-networkpolicies.rego
  • helm/prometheus/templates/clusterrolebinding-prometheus.yml
  • helm/prometheus/Chart.yaml
  • helm/prometheus/templates/service-prometheus-service.yml
  • helm/prometheus/templates/prometheusrule-controller-alerts.yml
  • helm/prometheus/values.yaml
  • helm/prometheus/templates/networkpolicy-prometheus.yml
  • helm/prometheus/templates/serviceaccount-prometheus.yml
  • helm/prometheus/templates/servicemonitor-operator-controller-controller-manager-metrics-monitor.yml
  • helm/prom_experimental.yaml
  • internal/shared/util/test/utils.go
  • hack/test/install-prometheus.sh
  • helm/prometheus/templates/secret-prometheus-metrics-token.yml
  • helm/prometheus/templates/servicemonitor-kubelet.yml
  • helm/prometheus/templates/servicemonitor-catalogd-controller-manager-metrics-monitor.yml
  • helm/prometheus/templates/prometheus-prometheus.yml
  • .bingo/kustomize.mod
✅ Files skipped from review due to trivial changes (8)
  • test/e2e/support-bundle.yaml
  • internal/operator-controller/rukpak/preflights/crdupgradesafety/testdata/manifests/crd-oneof-removed-old.json
  • internal/operator-controller/rukpak/preflights/crdupgradesafety/testdata/manifests/crd-oneof-safe-addition-new.json
  • .bingo/crd-diff.mod
  • internal/operator-controller/rukpak/preflights/crdupgradesafety/testdata/manifests/crd-oneof-removed-new.json
  • AGENTS.md
  • internal/operator-controller/rukpak/bundle/registryv1bundleconfig.json
  • applyconfigurations/api/v1/clusterobjectset.go
🚧 Files skipped from review as they are similar to previous changes (17)
  • .bingo/controller-gen.mod
  • test/e2e/features/tls.feature
  • test/e2e/features_test.go
  • api/v1/clustercatalog_types.go
  • applyconfigurations/api/v1/clusterextension.go
  • api/v1/clusterobjectset_types.go
  • test/e2e/steps/steps.go
  • test/e2e/steps/tls_steps.go
  • api/v1/groupversion_info.go
  • api/v1/clusterextension_types.go
  • internal/shared/util/tlsprofiles/tlsprofiles_test.go
  • internal/shared/util/tlsprofiles/tlsprofiles.go
  • test/internal/summary/summary.go
  • hack/tools/crd-generator/main_test.go
  • applyconfigurations/api/v1/clustercatalog.go
  • openshift/tests-extension/go.mod
  • applyconfigurations/internal/internal.go

Comment threadMakefile
Comment on lines +348 to +361
prometheus: PROMETHEUS_CHART_VERSION := 86.2.2
prometheus: $(HELM) #EXHELP Deploy Prometheus into specified namespace
ifeq ($(strip $(E2E_SUMMARY_OUTPUT)),)
@echo "E2E_SUMMARY_OUTPUT unset; skipping prometheus deployment"
else
./hack/test/install-prometheus.sh $(PROMETHEUS_NAMESPACE) $(PROMETHEUS_VERSION) $(VERSION) $(PROMETHEUS_VALUES)
$(HELM) upgrade --install prometheus oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack \
--namespace $(PROMETHEUS_NAMESPACE) --create-namespace \
--version $(PROMETHEUS_CHART_VERSION) \
-f testdata/prometheus/values.yaml \
$(if $(PROMETHEUS_VALUES),-f $(PROMETHEUS_VALUES)) \
--set-string 'prometheus.additionalServiceMonitors[1].endpoints[0].tlsConfig.ca.secret.name=$(CATALOGD_CERT_SECRET)' \
--set-string 'prometheus.additionalServiceMonitors[1].endpoints[0].tlsConfig.cert.secret.name=$(CATALOGD_CERT_SECRET)' \
--set-string 'prometheus.additionalServiceMonitors[1].endpoints[0].tlsConfig.keySecret.name=$(CATALOGD_CERT_SECRET)' \
--wait --timeout 5m

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bashset -euo pipefail
# Locate and print the referenced Makefile section with line numbersecho"== Makefile: lines 330-390 =="
nl -ba Makefile | sed -n '330,390p'# Search for the chart reference / variables across the repoechoecho"== Search: kube-prometheus-stack / ghcr.io / PROMETHEUS_* =="
rg -n --hidden --no-ignore -S "kube-prometheus-stack|ghcr\.io/prometheus-community/charts|PROMETHEUS_CHART|PROMETHEUS_VALUES|E2E_SUMMARY_OUTPUT".||true# Search for digest pinning patterns for the same chartechoecho"== Search: any `@sha256` or digest-like pin for kube-prometheus-stack =="
rg -n --hidden --no-ignore -S "kube-prometheus-stack.*`@sha256`:|`@sha256`:".||true# Show relevant env/testdata paths if presentechoecho"== List testdata/prometheus (if exists) =="
ls -la testdata/prometheus 2>/dev/null ||true

Repository: openshift/operator-framework-operator-controller

Length of output: 183


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"== Makefile: lines 330-390 =="
awk 'NR>=330 && NR<=390 {printf "%d:%s\n", NR, $0}' Makefile
echoecho"== Search: kube-prometheus-stack / ghcr.io / PROMETHEUS_* =="
rg -n -S --hidden --no-ignore "kube-prometheus-stack|ghcr\.io/prometheus-community/charts|PROMETHEUS_CHART|PROMETHEUS_VALUES|E2E_SUMMARY_OUTPUT".echoecho"== Search: digest pinning patterns for kube-prometheus-stack =="
rg -n -S --hidden --no-ignore "kube-prometheus-stack.*`@sha256`:|kube-prometheus-stack.*`@sha256`|`@sha256`:".||trueechoecho"== List testdata/prometheus (if exists) =="
ls -la testdata/prometheus 2>/dev/null ||true

Repository: openshift/operator-framework-operator-controller

Length of output: 50404


Avoid making e2e setup depend on a live public chart pull.

make prometheus (run by make test-e2e / make test-experimental-e2e) installs kube-prometheus-stack from oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack using only --version $(PROMETHEUS_CHART_VERSION) (86.2.2) with no digest pinning, so the test harness depends on live registry availability and can drift if the tagged OCI artifact changes. Pin the OCI artifact by digest (sha256) or vendor/mirror the chart into the repo (then reference the local artifact). [Makefile: ~346-361]

🧰 Tools
🪛 checkmake (0.3.2)

[warning] 353-353: Target body for "$(HELM) upgrade --install prometheus oci" exceeds allowed length of 5 lines (8).

(maxbodylength)


[warning] 348-348: Target "prometheus" defined multiple times (lines 347 and 348).

(uniquetargets)


[warning] 349-349: Target "prometheus" defined multiple times (lines 347 and 349).

(uniquetargets)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Makefile` around lines 348 - 361, The prometheus Makefile target currently
pulls kube-prometheus-stack from the public OCI registry using only
PROMETHEUS_CHART_VERSION which makes e2e builds depend on a live registry and an
unpinned tag; update the prometheus target to pin the chart by digest (sha256)
or vendor the chart into the repo and reference the local copy instead of
oci://ghcr.io/... with only --version. Specifically, replace the OCI URL/version
usage in the prometheus target (the helm/$(HELM) upgrade --install line that
references PROMETHEUS_CHART_VERSION) with either a fully digested OCI reference
(including `@sha256`:...) built into a new PROMETHEUS_CHART_DIGEST variable or
switch to a local chart path (checked into testdata/prometheus/) and adjust
PROMETHEUS_CHART_VERSION handling accordingly so test-e2e no longer depends on
the live registry.

@perdasilva

Copy link
Copy Markdown
Contributor

/retest

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.67.5 to 0.68.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/CHANGELOG.md)
- [Commits](prometheus/common@v0.67.5...v0.68.0)
---
updated-dependencies:
- dependency-name: github.com/prometheus/common
dependency-version: 0.68.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
tmshortand others added 14 commits June 18, 2026 00:07
…ffinity for HA topology
Rolling updates in HighlyAvailable clusters leave catalogd and
operator-controller unavailable when the only running pod is evicted
before its replacement is ready.
Fix by defaulting replicas=1 and PDB disabled in the static Helm values
(safe for SNO/External topologies, passes the SNO conformance test that
asserts exactly one replica in SingleReplica topology mode). Add pod
anti-affinity to prefer scheduling replicas on different nodes.
cluster-olm-operator detects the cluster's ControlPlaneTopology at
startup and overrides these values to replicas=2 and PDB enabled when a
HighlyAvailable topology is detected, then re-renders the manifests
before starting controllers. When a topology change is observed at
runtime (exceedingly rare), the operator exits so its deployment
controller restarts it, triggering a fresh Helm render with the correct
values for the new topology.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Todd Short <tshort@redhat.com>
…etween both-watch-modes scenarios
The both-watch-modes test loops over two scenarios (singlens, ownns) inside
a single It block and was blocking on full namespace deletion between them.
This caused flaky 300s timeouts on GCP techpreview clusters where master
nodes run at 94-99% CPU, which starves the namespace controller and makes
namespace termination arbitrarily slow.
The wait was not guarding anything real:
- EnsureCleanupClusterExtension already ensures the CE and CRD are gone;
since CE deletion uses ForegroundPropagation, the ClusterObjectSet teardown
must complete before the CE disappears, meaning all managed resources
(Deployments, Services, etc.) are already deleted at that point.
- The singleown bundle installs no ValidatingWebhookConfiguration or
MutatingWebhookConfiguration, so there is no webhook admission risk.
- Each scenario generates unique namespace names and CRD group suffixes via
rand.String(4), so a terminating namespace from scenario 1 cannot collide
with or interfere with scenario 2's resources.
Trigger both namespace deletions and proceed without waiting. The DeferCleanup
registrations that already exist will handle any residual cleanup after the
spec exits.
Fixes: OCPBUGS-84943
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Todd Short <tshort@redhat.com>
- Replace broken test-experimental-e2e target (test/experimental-e2e no
longer exists) with /bin/true so triggered jobs always succeed
- Pass -timeout=60m to go test; the previous invocation relied on Go's
10m default which is too short for BoxcutterRuntime clusters
- Set E2E_STEP_TIMEOUT=15m; BoxcutterRuntime applies resources through
sequential phases (CRD must reach Established before the deploy phase
starts), making installations slower than the upstream 5m default
- Skip ~@CatalogdHA scenarios (require multiple catalogd replicas not
present in standard topology)
- Skip ~@ProgressDeadline scenarios (require progressDeadlineMinutes < 10
but the OpenShift CRD enforces a minimum of 10)
- Skip ~@httpproxy scenarios (too disruptive to cluster networking)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Todd Short <tshort@redhat.com>
The e2e-test-registry image is no longer built by CI after
openshift/release#78581 removed it from the CI config. The dynamic
per-scenario catalog system replaced the pre-built registry image,
making this Dockerfile dead code.
It's no longer bring used.
Signed-off-by: Todd Short <tshort@redhat.com>
Adds a new test that verifies cluster-olm-operator correctly configures
operator-controller and catalogd deployments based on the cluster's
control plane topology:
- HA topologies (HighlyAvailable, HighlyAvailableArbiter, DualReplica):
replicas=2 with a PodDisruptionBudget present
- Non-HA topologies (SingleReplica/SNO, External): replicas=1, no PDB
Also registers policyv1 in the test scheme to support PDB list queries.
Assisted-by: claude
Signed-off-by: Todd Short <tshort@redhat.com>
… builders
Signed-off-by: Todd Short <tshort@redhat.com>
Set catalog image tags to v5.0 for the 4.23/5.0 release.
Dynamically discover an installable package from the serving catalogs
instead of hardcoding quay-operator v3.13.10, preferring quay-operator,
cluster-logging, serverless-operator, logic-operator in that order then
alling back to the first available package.
Signed-off-by: Todd Short <tshort@redhat.com>
@openshift-ciopenshift-ciBot removed the lgtm Indicates that a PR is ready to be merged. label Jun 18, 2026
@perdasilva

Copy link
Copy Markdown
Contributor

/retest

@perdasilva

Copy link
Copy Markdown
Contributor

/approve
/lgtm

@openshift-ciopenshift-ciBot added the lgtm Indicates that a PR is ready to be merged. label Jun 18, 2026
@tmshort

Copy link
Copy Markdown
Contributor

/retest

@rashmigottipatirashmigottipati left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/verified by @rashmigottipati

@openshift-ci-robotopenshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jun 18, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@rashmigottipati: This PR has been marked as verified by @rashmigottipati.

Details

In response to this:

/verified by @rashmigottipati

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: openshift-bot, perdasilva, rashmigottipati

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

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 9a3ec7c and 2 for PR HEAD 5d4f32e in total

@rashmigottipati

Copy link
Copy Markdown
Member

/test openshift-e2e-aws

@openshift-ci

Copy link
Copy Markdown
Contributor

@openshift-bot: all tests passed!

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.

@openshift-merge-bot
openshift-merge-botBot merged commit ecd140b into openshift:mainJun 19, 2026
16 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approvedIndicates a PR has been approved by an approver from all required OWNERS files.jira/valid-referenceIndicates that this PR references a valid Jira ticket of any type.kind/synclgtmIndicates that a PR is ready to be merged.tide/merge-method-mergeDenotes a PR that should use a standard merge by tide when it merges.verifiedSignifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

18 participants

@openshift-bot@openshift-ci-robot@perdasilva@tmshort@rashmigottipati@pedjak@dtfranz@camilamacedo86@kuiwang02@jianzhangbjz@Xia-Zhao-rh@bandrade@oceanc80@ehearne-redhat@sosiouxme@stbenjam@fgiudici@joelanford