fix: x509 client certificates based authentication is not working with Canonical K8s snap#2581
Open
MoeSalah1999 wants to merge 1 commit into
Open
fix: x509 client certificates based authentication is not working with Canonical K8s snap#2581MoeSalah1999 wants to merge 1 commit into
MoeSalah1999 wants to merge 1 commit into
Conversation
Author
|
@bschimke95 Could you please verify this? |
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes x509 client-certificate authentication for certificates issued through the Kubernetes CSR flow in the Canonical K8s snap.
Previously, CSRs approved with kubectl certificate approve could be signed by the wrong CA for API server client authentication. The API server validates client certificates against /etc/kubernetes/pki/client-ca.crt, so CSR-issued client certificates must be signed by the corresponding client CA, not the general Kubernetes CA.
Solution
Preserved user/custom configuration by not overriding cluster signing flags when they are already explicitly configured to another value.
Added an integration regression test that:
Why this approach?
Instead of patching Kubernetes source defaults, this fixes the snap’s runtime configuration directly through the existing service wrapper mechanism. This avoids carrying fragile Kubernetes source patches and keeps the behavior aligned with the snap’s generated controller-manager args.
The wrapper also avoids overwriting explicit custom cluster-signing settings, so users can still configure a different signing CA if needed.
Issue
Issue #2448
Backport
Checklist
type: titlerelease-noteslabel should be kept or removedIf any item on the checklist is not complete, please provide justification why.