Skip to content

NE-2739: Migrate operator to native metrics protection with centralized TLS - #313

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
bentito:feature/NE-2739-native-metrics
Aug 18, 2026
Merged

NE-2739: Migrate operator to native metrics protection with centralized TLS#313
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
bentito:feature/NE-2739-native-metrics

Conversation

@bentito

@bentito bentito commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Migrates the aws-load-balancer-operator from utilizing kube-rbac-proxy sidecars to the native secure serving metrics server introduced in newer versions of controller-runtime.

Key Changes:

  • main.go: Integrated secure serving on port :8443 using the native auth and authz filters. Added startup resolution of the OpenShift APIServer configuration named cluster to parse and apply the centralized TLSSecurityProfile (MinVersion, CipherSuites, and elliptic curves/groups, including post-quantum X25519MLKEM768). Restressed HTTP/2 by disabling it on the metrics server to match External DNS Operator (EDO) PR 502's security posture.
  • config/: Deleted kube-rbac-proxy patches, updated manager deployment configuration to expose port 8443 directly, and commented out the auth proxy references in default Kustomizations.
  • bundle/ & vendor/: Regenerated the OLM bundle using make bundle and validated it successfully with operator-sdk. Resolved the vendored dependencies and updated the test CRD fixtures to keep test pipelines completely green.

Fully validated and verified locally using make verify and make lint with zero issues found.

@openshift-ci-robot

openshift-ci-robot commented Jul 15, 2026

Copy link
Copy Markdown

@bentito: This pull request references NE-2739 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Migrates the aws-load-balancer-operator from utilizing kube-rbac-proxy sidecars to the native secure serving metrics server introduced in newer versions of controller-runtime.

Key Changes:

  • main.go: Integrated secure serving on port :8443 using the native auth and authz filters. Added startup resolution of the OpenShift APIServer configuration named cluster to parse and apply the centralized TLSSecurityProfile (MinVersion, CipherSuites, and elliptic curves/groups, including post-quantum X25519MLKEM768). Restressed HTTP/2 by disabling it on the metrics server to match External DNS Operator (EDO) PR 502's security posture.
  • config/: Deleted kube-rbac-proxy patches, updated manager deployment configuration to expose port 8443 directly, and commented out the auth proxy references in default Kustomizations.
  • bundle/ & vendor/: Regenerated the OLM bundle using make bundle and validated it successfully with operator-sdk. Resolved the vendored dependencies and updated the test CRD fixtures to keep test pipelines completely green.

Fully validated and verified locally using make verify and make lint with zero issues found.

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-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 15, 2026
@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Caution

Review failed

An error occurred during the review process. Please try again later.

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

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Pro Plus

Run ID: f4bcdb70-94bc-4c64-944e-3a2fcd1f4708

📥 Commits

Reviewing files that changed from the base of the PR and between 322397a and a72d83b.

📒 Files selected for processing (1)
  • hack/generate-iam-from-credrequest.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • hack/generate-iam-from-credrequest.sh

📝 Walkthrough

Walkthrough

The operator metrics endpoint now uses TLS on port 8443 with authentication and authorization filtering. Deployment manifests remove the kube-rbac-proxy sidecar and expose the HTTPS metrics port. The Infrastructure CRD adds cloud load balancer configuration and updates vSphere and topology validation. Go dependencies, IAM policy generation, and a temporary-path test are also updated.


Important

Pre-merge checks failed

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

❌ Failed checks (2 errors, 1 warning)

Check name Status Explanation Resolution
No-Weak-Crypto ❌ Error The PR applies APIServer TLS profiles to metrics; the valid Old profile includes DES-CBC3-SHA, mapped to TLS_RSA_WITH_3DES_EDE_CBC_SHA and assigned to CipherSuites. Reject DES/3DES/SHA-1 suites and TLS versions below 1.2 during profile translation. Use a strong-cipher allowlist for Old and Custom profiles.
No-Sensitive-Data-In-Logs ❌ Error The PR enables the native metrics filter, whose new authorization logs include attributes.User.GetName(); this can expose an email or customer identity. Remove the username from authorization log messages and log only a generic denial/error, without user identity or request credentials.
Docstring Coverage ⚠️ Warning Docstring coverage is 37.50% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (12 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the migration to native metrics protection and centralized TLS, which is the primary change.
Description check ✅ Passed The description directly explains the native metrics protection, centralized TLS, configuration, bundle, dependency, and validation changes.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR changes only a filepath expectation in pkg/operator/credentials_test.go; no Ginkgo title declarations or dynamic test titles were added or changed.
Test Structure And Quality ✅ Passed The PR changes no Ginkgo tests; its only project test change is a filepath portability fix in a standard Go test. No custom-check failure is introduced.
Microshift Test Compatibility ✅ Passed The PR adds no Ginkgo e2e tests or Ginkgo declarations; its only changed Go test is a filepath portability fix, so the MicroShift compatibility check is inapplicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR adds no Ginkgo e2e tests. Its only changed Go test is pkg/operator/credentials_test.go, and no added It, Describe, Context, or When declarations assume multi-node topology.
Topology-Aware Scheduling Compatibility ✅ Passed Diff against origin/main adds no affinity, spread, node selector/affinity, toleration, PDB, or topology-derived replica constraint; existing replicas: 1 is unchanged.
Ote Binary Stdout Contract ✅ Passed The PR adds no stdout writes in main/init or changed tests; new setupLog calls use controller-runtime zap, whose default DestWriter is os.Stderr.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds no Ginkgo or e2e tests; its only test change updates an existing Go unit test path prefix, so the check does not apply.
Container-Privileges ✅ Passed The PR adds no prohibited privilege settings. Manager and CSV retain runAsNonRoot: true, allowPrivilegeEscalation: false, and drop ALL; the sidecar is removed.
✨ Finishing Touches 💡 2
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch feature/NE-2739-native-metrics
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai Bot 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: 3

🧹 Nitpick comments (4)
main.go (2)

351-361: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider logging dropped/unsupported TLS groups.

Groups without a Go CurveID mapping are silently skipped. A debug/info log when a configured TLSGroup has no equivalent would make misconfigurations easier to diagnose.

🤖 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 `@main.go` around lines 351 - 361, Update the TLS group processing around
TLSGroupToCurveID to log each configured group that lacks a CurveID mapping
before skipping it. Use the existing logging mechanism and include the
unsupported group value, while preserving the current behavior for supported
groups and empty curve lists.

301-364: 🩺 Stability & Availability | 🔵 Trivial

TLS profile is resolved once at startup; cluster profile changes require a pod restart to take effect.

There's no watch/reconcile loop reacting to updates on the APIServer object's TLSSecurityProfile, so an admin changing the cluster TLS profile won't be picked up by the running metrics server until the operator pod restarts. This may be an acceptable initial tradeoff, but worth confirming it's the intended behavior for this release given other OpenShift components implement a watcher for exactly this scenario.

🤖 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 `@main.go` around lines 301 - 364, Confirm and preserve the intended
startup-only behavior for TLS profile resolution in getTLSSecurityProfile and
getTLSConfigFromProfile, or add a watch/reconcile path that refreshes the
metrics server’s TLS configuration when the APIServer object’s
TLSSecurityProfile changes. Ensure runtime profile updates take effect without
requiring an operator pod restart if dynamic behavior is required for this
release.
demonstrate-deregistration-gap.sh (2)

68-92: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

diagnose_failure is defined but never invoked.

The detailed diagnostics helper (CR status, CredentialsRequest, deployments/pods, manager logs) would be most useful right when the script falls back to SIMULATION_MODE=true, but nothing calls it.

🤖 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 `@demonstrate-deregistration-gap.sh` around lines 68 - 92, Invoke
diagnose_failure at the point where the script falls back to
SIMULATION_MODE=true, before or alongside the fallback message. Keep the
existing diagnostic collection and simulation behavior unchanged, ensuring the
CR, CredentialsRequest, workload, and manager log checks run automatically when
the fallback occurs.

1-14: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Missing project copyright header on all three new files. Contribution guidelines require new files to carry the project's copyright template at the top, updated to the current year; none of these new additions include one.

  • demonstrate-deregistration-gap.sh#L1-L14: add the copyright header comment block before the shebang/comment banner.
  • OCPBUGS-97941-analysis.md#L1-L2: add the copyright header before the # Technical Analysis... title.
  • OCPBUGS-97941-short-analysis.md#L1-L2: add the copyright header before the # OCPBUGS-97941... title.

Based on learnings, "New files must include the project copyright message template at the top as a comment, with the year updated."

🤖 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 `@demonstrate-deregistration-gap.sh` around lines 1 - 14, Add the project’s
standard copyright header, updated to the current year, at the top of
demonstrate-deregistration-gap.sh before the shebang/comment banner, and at the
top of OCPBUGS-97941-analysis.md and OCPBUGS-97941-short-analysis.md before
their titles.

Source: Learnings

🤖 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 `@go.mod`:
- Line 286: Update the google.golang.org/grpc dependency in go.mod from v1.72.2
to the patched v1.79.3 or later release, then regenerate go.sum so the module
checksums match the upgraded dependency.
- Around line 258-262: Upgrade the OpenTelemetry dependency set represented by
the go.mod entries for otel, exporters, metric, and sdk to a consistent current
version that includes the fixes from otel v1.41.0 and sdk v1.40.0. Regenerate
the Go module graph so go.mod and go.sum reflect the coordinated updates.

In `@main.go`:
- Around line 128-134: Replace context.TODO() in the startup call to
getTLSSecurityProfile with a bounded context.Context, creating and canceling a
startup timeout context before the fetch. Pass that context through
getTLSSecurityProfile so its client.Get call observes the deadline, while
preserving the existing error logging and exit behavior.

---

Nitpick comments:
In `@demonstrate-deregistration-gap.sh`:
- Around line 68-92: Invoke diagnose_failure at the point where the script falls
back to SIMULATION_MODE=true, before or alongside the fallback message. Keep the
existing diagnostic collection and simulation behavior unchanged, ensuring the
CR, CredentialsRequest, workload, and manager log checks run automatically when
the fallback occurs.
- Around line 1-14: Add the project’s standard copyright header, updated to the
current year, at the top of demonstrate-deregistration-gap.sh before the
shebang/comment banner, and at the top of OCPBUGS-97941-analysis.md and
OCPBUGS-97941-short-analysis.md before their titles.

In `@main.go`:
- Around line 351-361: Update the TLS group processing around TLSGroupToCurveID
to log each configured group that lacks a CurveID mapping before skipping it.
Use the existing logging mechanism and include the unsupported group value,
while preserving the current behavior for supported groups and empty curve
lists.
- Around line 301-364: Confirm and preserve the intended startup-only behavior
for TLS profile resolution in getTLSSecurityProfile and getTLSConfigFromProfile,
or add a watch/reconcile path that refreshes the metrics server’s TLS
configuration when the APIServer object’s TLSSecurityProfile changes. Ensure
runtime profile updates take effect without requiring an operator pod restart if
dynamic behavior is required for this release.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

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

Comment thread go.mod Outdated
Comment thread go.mod Outdated
Comment thread main.go
@bentito

bentito commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

/jira refresh

@openshift-ci-robot

openshift-ci-robot commented Jul 15, 2026

Copy link
Copy Markdown

@bentito: This pull request references NE-2739 which is a valid jira issue.

Details

In response to this:

/jira refresh

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 coderabbitai Bot 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 `@config/manifests/kustomization.yaml`:
- Line 22: Update the volumeMount removal patch in the kustomization
configuration to target the cert mount rather than index 0, which still refers
to bound-sa-token; identify the mount by name where supported, or reorder the
patch operations so the cert mount is removed reliably.

In `@hack/operator-permission-policy.json`:
- Around line 5-24: Update the IAM policy entries shown so the keys use AWS’s
canonical casing: change every action, effect, and resource key to Action,
Effect, and Resource, preserving all existing values and permissions.
🪄 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 YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 524ec681-e2d8-4faa-b402-836bc2c4c086

📥 Commits

Reviewing files that changed from the base of the PR and between f7530de and 5b48f30.

📒 Files selected for processing (3)
  • config/default/manager_webhook_patch.yaml
  • config/manifests/kustomization.yaml
  • hack/operator-permission-policy.json
💤 Files with no reviewable changes (1)
  • config/default/manager_webhook_patch.yaml

Comment thread config/manifests/kustomization.yaml
Comment thread hack/operator-permission-policy.json Outdated
@bentito

bentito commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Unsupported TLS groups logging added and accidental files removed in commit 26970fc.

@bentito

bentito commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

/assign @alebedev87
This is pretty similar to your work on EDO openshift/external-dns-operator#502 so hoping you could review this. Thanks!

@bentito

bentito commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@bentito

bentito commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

/retest-required

@bentito

bentito commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@openshift-ci

openshift-ci Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

@bentito: GitHub didn't allow me to assign the following users: davide.

Note that only openshift members with read permissions, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time.
For more information please see the contributor guide

Details

In response to this:

/assign davide

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.

@bentito

bentito commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

/assign @davidesalerno

@bentito

bentito commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

/retest-required

2 similar comments
@bentito

bentito commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

/retest-required

@bentito

bentito commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

/retest-required

@bentito

bentito commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

@davidesalerno I think the rosa test is a permafail until someone updates a role somewhere. Can you review when you get a chance please

@alebedev87

Copy link
Copy Markdown
Contributor

I think the rosa test is a permafail until someone updates

Right, after we lost QEs some Prow CI steps were left unmaintained. We need to come back to this job and fix it. But for the moment we'd have to ignore it.

@alebedev87 alebedev87 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mostly LGTM. Some minor remarks and questions. One important thing I noticed though, ALBO doesn't add servicemointor so the metrics are not actually scraped. This is gap which we can address as a separate PR.

Comment thread main.go
Comment thread main.go
Comment thread main.go
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread hack/generate-iam-from-credrequest.sh Outdated

@coderabbitai coderabbitai Bot 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

🤖 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 `@hack/generate-iam-from-credrequest.sh`:
- Line 18: The inline Python transformation in the policy-generation command
must rename keys structurally rather than globally replacing text. Parse
POLICY_FILE as JSON, traverse each Statement object, and rename only its action,
effect, and resource fields to Action, Effect, and Resource while preserving
string values and unrelated nested objects; serialize the transformed policy
back to the same file.
🪄 Autofix

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 YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 87492459-6712-4cc1-93a2-c13d81b21ff1

📥 Commits

Reviewing files that changed from the base of the PR and between 5b48f30 and 24856d3.

📒 Files selected for processing (2)
  • hack/generate-iam-from-credrequest.sh
  • main.go

Comment thread hack/generate-iam-from-credrequest.sh Outdated
@bentito
bentito force-pushed the feature/NE-2739-native-metrics branch from b17c29f to 4ce1511 Compare August 6, 2026 18:09
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
Validation Failed: {"resource":"IssueComment","code":"custom","field":"body","message":"body is too long (maximum is 65536 characters)"} - https://docs.github.com/rest/issues/comments#update-an-issue-comment

@bentito

bentito commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Mostly LGTM. Some minor remarks and questions. One important thing I noticed though, ALBO doesn't add servicemointor so the metrics are not actually scraped. This is gap which we can address as a separate PR.

Agreed. Enabling the ServiceMonitor and wiring the Prometheus scraping permissions is a critical next step, but it is technically a separate task. I've tracked this follow-up work in the new Jira story: https://redhat.atlassian.net/browse/NE-2840, so we can address it in a dedicated PR. Thanks!

Comment thread hack/operator-permission-policy.json Outdated
@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 14, 2026
@bentito
bentito force-pushed the feature/NE-2739-native-metrics branch from a72d83b to 60db6e1 Compare August 14, 2026 18:39
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 14, 2026
…ed TLS

Migrates the aws-load-balancer-operator from utilizing kube-rbac-proxy sidecars to the native secure serving metrics server introduced in controller-runtime.

Key Changes:
- main.go: Integrated secure serving on port :8443 using native auth and authz filters. Added startup resolution of the OpenShift APIServer configuration named 'cluster' to parse and apply the centralized TLSSecurityProfile (MinVersion, CipherSuites, and elliptic curves/groups, including post-quantum X25519MLKEM768). Restressed HTTP/2 by disabling it on the metrics server to match External DNS Operator (EDO) PR 502's security posture.
- config/: Deleted kube-rbac-proxy patches, updated manager deployment configuration to expose port 8443 directly, and commented out auth proxy references in default Kustomizations.
- bundle/ & vendor/: Regenerated OLM bundle using 'make bundle' and validated it successfully with operator-sdk. Resolved vendored dependencies and updated test CRD fixtures.
- hack/generate-iam-from-credrequest.sh: Refactored to translate JSON keys structurally using Python and ensure trailing newlines are preserved in generated IAM policy files.
@bentito
bentito force-pushed the feature/NE-2739-native-metrics branch from 60db6e1 to 41fe2dc Compare August 17, 2026 13:48
@alebedev87

Copy link
Copy Markdown
Contributor

/lgtm
/approve

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

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alebedev87

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

The pull request process is described here

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

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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 17, 2026
@alebedev87

Copy link
Copy Markdown
Contributor

/override ci/prow/e2e-aws-rosa-operator

@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@alebedev87: Overrode contexts on behalf of alebedev87: ci/prow/e2e-aws-rosa-operator

Details

In response to this:

/override ci/prow/e2e-aws-rosa-operator

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.

@openshift-merge-bot

Copy link
Copy Markdown

/retest-required

Remaining retests: 0 against base HEAD 4091c82 and 2 for PR HEAD 41fe2dc in total

@alebedev87

Copy link
Copy Markdown
Contributor

/retest-required

@openshift-ci

openshift-ci Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

@bentito: 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-bot Bot merged commit a7bf441 into openshift:main Aug 18, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants