Skip to content

security(rbac): evaluate chart-rendered RBAC against the privileged-RBAC policy in CI #3792

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence

#3791 enforces the privileged-RBAC policy with exact-identity exclusions. The excluded names are set by the Longhorn, Velero, Crossplane, KRO and KSail operator charts and their release names. Those charts render in-cluster through Flux, so no CI step ever evaluates their RBAC against the policy. A self-review of #3791 confirmed that every committed Role and ClusterRole under k8s/ passes: 47 pass, 0 fail. Nothing checks chart-rendered roles at all.

Audience and problem

This affects operators merging chart bumps. Suppose a Renovate bump renames an excluded role, or adds a new privileged one. It would be refused at admission, and Flux dry-runs through the same webhook, so the whole infrastructure-controllers Kustomization would fail. The merge-queue deploy's Ready proof would then fail for every queued PR. The bump's own PR would still show green.

Hypothesis and success signal

If CI renders those charts at their pinned versions and applies the policy to the output, the same bump fails on its own PR. The signal is a fixture bump that adds a privileged role to a rendered chart: it must fail CI. The current pins must pass.

Smallest useful change

  1. Render the five charts at their committed versions and values with helm template in CI.
  2. Run kyverno apply of audit-privileged-rbac.yaml over the rendered Roles and ClusterRoles.
  3. Fail on any fail result.

Acceptance criteria

  • CI renders each excluded chart at its pinned version and values, and applies the policy to the rendered RBAC.
  • A rendered privileged role not in the exclusion list fails the PR, proven by a negative fixture.
  • The current pins pass.
  • The job runs when a HelmRelease for those charts, or the policy, changes.

Rough size: S–M.

Activity

  1. moved this to 📥 Backlog in 🌊 Project Boardon Sep 14, 2026
  2. self-assigned this
    on Sep 14, 2026
  3. added a commit that references this issue on Sep 14, 2026
  4. moved this from 📥 Backlog to 👀 In Review in 🌊 Project Boardon Sep 14, 2026
  5. moved this from 👀 In Review to 🏃🏻‍♂️ In Progress in 🌊 Project Boardon Sep 14, 2026
  6. moved this from 🏃🏻‍♂️ In Progress to 🚀 Ready to Merge in 🌊 Project Boardon Sep 14, 2026
  7. moved this from 🚀 Ready to Merge to ✅ Done in 🌊 Project Boardon Sep 14, 2026
  8. moved this from ✅ Done to 📊 Verifying in 🌊 Project Boardon Sep 14, 2026
  9. moved this from 📊 Verifying to ✅ Done in 🌊 Project Boardon Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Fields

No fields configured for Security.

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions