Migrate Sveltos cluster auth from static SA to Kanidm SA + OIDC #36
Labels
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lab/iac#36
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Migrate Sveltos cluster auth from static SA to Kanidm SA + OIDC
Follow-on to #34 (Sveltos bootstrap with a static cluster-admin SA). Once the k8s apiserver OIDC flags (flux-clusters #11/#1522) and the Kanidm
kubernetesclient (#35) exist, switch Sveltos's connection to each fleet cluster to a Kanidm service account authenticating via OIDC — same RFC 8693 flow Argo CD and tofu-controller already use — so there are no static long-lived SA credentials on the fleet.Current state (after #34)
sveltosctl generate kubeconfig --create, stored as a<cluster>-sveltos-kubeconfigSecret in the management cluster (mini).Target state
<cluster>-sveltos-kubeconfigSecret holds a kubeconfig whose auth is a Kanidm OIDC identity (sveltos-<cluster>SA via #35), resolved to RBAC through the apiserver's OIDCgroupsclaim.expirationTimestamp, no Secret rewrite loop.Migration path (in place, per cluster)
sveltos-<cluster>Kanidm SA +kubernetesclient.backendAuth.oauthTokenExchange,backendTLS: {}, public client,audiences: [kubernetes],scope: openid groups) — exchange verified (#39 resolved 2026-08-12).<cluster>-sveltos-kubeconfigSecret to the Golden-Path form above.sveltosctl show addonsstill green, ClusterProfiles reconcile, drift detection works.Acceptance criteria
Depends on / linked
kubernetesclient + SAs) — the credential sourceMoved to lab/clusters#1530 — this ticket is being implemented in the clusters repo.
Moved to lab/clusters#1530.