Skip to content

Fix: stop rendering duplicate rossoctl-authbridge SCC (rossoctl#2354) - #506

Merged
cwiklik merged 1 commit into
mainfrom
fix/dedup-authbridge-scc-2354
Aug 11, 2026
Merged

Fix: stop rendering duplicate rossoctl-authbridge SCC (rossoctl#2354)#506
cwiklik merged 1 commit into
mainfrom
fix/dedup-authbridge-scc-2354

Conversation

@cwiklik

@cwiklik cwiklik commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes the OpenShift install-blocker rossoctl/rossoctl#2354.

This chart rendered a second rossoctl-authbridge SCC (+ its use ClusterRole) that duplicates and conflicts with the ones the rossoctl platform chart has shipped since 2026-03-27. In a combined rossoctl install (this chart is pulled as a subchart), two docs declare the same cluster-scoped SCC → Helm merge-patch adoption fails on OpenShift → install hard-blocks. Even when de-duped to this chart's spec, agent pods then fail admission because this spec is restrictive (MustRunAsNonRoot, allowedCapabilities:[], drop ALL) and can't admit the injected proxy-init (NET_ADMIN/NET_RAW, root).

The platform chart's SCC is a strict superset — identical volumes (incl. csi for SPIRE), and more permissive only where proxy-init requires it — so dropping this chart's copy loses nothing and also fixes the admission failure.

Change

charts/operator/templates/rbac/authbridge-scc.yaml:

  • Remove the SecurityContextConstraints and the system:openshift:scc:rossoctl-authbridge ClusterRole (both owned by the platform chart).
  • Keep the ClusterRoleBinding granting the operator SA use of the SCC — its roleRef resolves to the platform-provided ClusterRole of the same name, so ensureNamespaceSCCBinding's per-namespace delegation keeps working without an RBAC privilege-escalation error.

Net in a combined install: exactly one (permissive, platform) SCC + one ClusterRole; operator retains delegation. No new permissions vs v0.6.1.

Standalone note (maintainer decision)

If this chart is meant to be installed standalone on OpenShift (without the platform chart), it still needs its own SCC. In that case, prefer gating the removed objects behind a scc.create value (default true) that rossoctl sets false, and make the standalone SCC spec permissive — rather than deleting outright. Happy to switch to that approach if standalone-via-Helm on OCP is a supported path. (The kustomize config/security/rossoctl-authbridge-scc.yaml path is unaffected.)

Rollout

After merge: cut a new operator-chart release → re-pin operator-chart in rossoctl charts/rossoctl/Chart.yaml + helm dependency update.

Refs rossoctl/rossoctl#2354. Context (regression trace + field-by-field SCC comparison) in that issue.

Assisted-By: Claude Code

…l#2354)

The chart rendered a second rossoctl-authbridge SCC + its "use" ClusterRole
that duplicate and conflict with the ones the rossoctl platform chart has
shipped since March, blocking OpenShift install (rossoctl#2354). The platform's
SCC is a strict superset (identical volumes incl. csi; more permissive only
where the injected proxy-init needs NET_ADMIN/NET_RAW/root), so dropping this
copy loses nothing and also fixes the agent-pod admission failure. Retain the
operator-SA -> SCC ClusterRoleBinding (roleRef resolves to the platform's
ClusterRole of the same name) so ensureNamespaceSCCBinding delegation keeps working.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: cwiklik <cwiklikj@gmail.com>
@cwiklik
cwiklik requested a review from a team as a code owner August 11, 2026 13:50
@cwiklik cwiklik changed the title fix(chart): stop rendering duplicate rossoctl-authbridge SCC (rossoctl#2354) Fix: stop rendering duplicate rossoctl-authbridge SCC (rossoctl#2354) Aug 11, 2026

@evaline-ju evaline-ju 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.

might be good to highlight the standalone/maintainer decision point in the next release, especially if it affects current install paths?

@cwiklik
cwiklik merged commit 0ded2b1 into main Aug 11, 2026
18 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants