Skip to content

METAL-1606: Remove kube-rbac-proxy and add regression tests#79

Open
elfosardo wants to merge 1 commit into
openshift-eng:mainfrom
elfosardo:remove-kube-rbac-proxy-release
Open

METAL-1606: Remove kube-rbac-proxy and add regression tests#79
elfosardo wants to merge 1 commit into
openshift-eng:mainfrom
elfosardo:remove-kube-rbac-proxy-release

Conversation

@elfosardo
Copy link
Copy Markdown
Contributor

@elfosardo elfosardo commented Oct 24, 2025

Replace the kube-rbac-proxy sidecar with controller-runtime's
WithAuthenticationAndAuthorization filter on the metrics server.
Route ofcir-service to the API on port 8087 and keep a separate
https port for authenticated metrics scraping.

Remove auth proxy kustomize patches and RBAC. Update e2e to call the
API over HTTP via NodePort. Add manifest tests (kustomize output) and
e2e tests for deployment shape, API status/release lifecycle, and
metrics endpoint auth.

Test plan:

  • make kustomize && go test ./config/
  • go test ./tests/e2e/... # requires kind/docker

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Oct 24, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: elfosardo

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 Oct 24, 2025
@elfosardo elfosardo force-pushed the remove-kube-rbac-proxy-release branch from ed62ee6 to 269a158 Compare October 24, 2025 14:56
Comment thread tests/e2e/client_internal_test.go Outdated
// Create a new HTTP client with the custom transport
client := &http.Client{Transport: tr}
// Create a standard HTTP client (no TLS needed for HTTP)
client := &http.Client{}
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.

What was the requirement to change the protocol here to http?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I should've probably put a WIP here!
this is just for the sake of e2e tests, since the api are actually exposed with no TLS
the problem is actually more complex
before the change we used port 8443 on the proxy to expose both metrics (port 8080) and api (port 8087) redirecting based on the url, and provide TLS termination
I wonder if we should implement TLS for api endpoint first

@elfosardo elfosardo changed the title Remove kube-rbac-proxy [WIP] Remove kube-rbac-proxy Oct 27, 2025
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 27, 2025
@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 18, 2026
@elfosardo elfosardo force-pushed the remove-kube-rbac-proxy-release branch from 269a158 to d96a43f Compare June 2, 2026 12:16
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 2, 2026
@elfosardo elfosardo changed the title [WIP] Remove kube-rbac-proxy METAL-1606: Remove kube-rbac-proxy Jun 2, 2026
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 2, 2026
@elfosardo elfosardo force-pushed the remove-kube-rbac-proxy-release branch from d96a43f to 0feb871 Compare June 2, 2026 12:26
@elfosardo elfosardo changed the title METAL-1606: Remove kube-rbac-proxy METAL-1606: Remove kube-rbac-proxy and add regression tests Jun 2, 2026
@elfosardo elfosardo requested a review from andfasano June 2, 2026 12:26
@elfosardo
Copy link
Copy Markdown
Contributor Author

/cc @tdomnesc @pawanpinjarkar

@openshift-ci openshift-ci Bot requested review from pawanpinjarkar and tdomnesc June 2, 2026 12:27
@elfosardo elfosardo force-pushed the remove-kube-rbac-proxy-release branch 2 times, most recently from 69a0467 to c0c7e75 Compare June 2, 2026 14:01
Replace the kube-rbac-proxy sidecar with controller-runtime's
WithAuthenticationAndAuthorization filter on the metrics server.
Route ofcir-service to the API on port 8087 and keep a separate
https port for authenticated metrics scraping.

Remove auth proxy kustomize patches and RBAC. Update e2e to call the
API over HTTP via NodePort. Add manifest tests (kustomize output) and
e2e tests for deployment shape, API status/release lifecycle, and
metrics endpoint auth.

Test plan:
- make kustomize && go test ./config/
- go test ./tests/e2e/...   # requires kind/docker
@elfosardo elfosardo force-pushed the remove-kube-rbac-proxy-release branch from c0c7e75 to 660569e Compare June 2, 2026 14:39
@elfosardo
Copy link
Copy Markdown
Contributor Author

/hold
this is a breaking change that requires change to release repo and downtime

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 3, 2026
@tdomnesc
Copy link
Copy Markdown
Contributor

tdomnesc commented Jun 3, 2026

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 3, 2026
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. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants