Skip to content

docs(uxp): add worked ClusterRole example for AddOn RBAC#1225

Open
kaessert wants to merge 1 commit into
mainfrom
docs/addon-controller-manager-rbac-example
Open

docs(uxp): add worked ClusterRole example for AddOn RBAC#1225
kaessert wants to merge 1 commit into
mainfrom
docs/addon-controller-manager-rbac-example

Conversation

@kaessert

Copy link
Copy Markdown
Contributor

What

Improves the Create a ClusterRole or Role for your AddOn section of the UXP AddOns docs (manuals/uxp/concepts/packages/add-ons).

Why

The section told users they must grant the upbound-controller-manager ServiceAccount permissions, but only showed a ClusterRoleBinding skeleton with a <your_addon_role> placeholder — no actual rules, and no guidance on how to figure out which resources an AddOn needs. In practice users hit install-time failures on the package's runtime health condition, e.g.:

poddisruptionbudgets.policy "cert-manager-cainjector" is forbidden:
User "system:serviceaccount:crossplane-system:upbound-controller-manager" cannot get resource "poddisruptionbudgets"

...with nothing in the docs explaining the fix. This came up with a self-hosted customer installing cert-manager as an AddOn.

Changes

  • Add a worked cert-manager example — a complete ClusterRole + ClusterRoleBinding covering the object kinds the chart creates (including PodDisruptionBudget, webhook configurations, and RBAC objects that a manifest-only permission set commonly misses).
  • Add a tip on rendering the chart (helm template ... | grep kind) to enumerate the resources an AddOn manages, and what a missing permission looks like at install time.
  • Add a note on Kubernetes RBAC escalation prevention when an AddOn's chart ships its own roles (grant the same permissions, or add escalate/bind).

No changes to existing structure beyond the RBAC subsection.

The AddOn RBAC section explained that the upbound-controller-manager
ServiceAccount needs permissions but only showed a ClusterRoleBinding
skeleton, leaving the actual rules to the reader. Users hit install-time
failures (e.g. forbidden on policy/poddisruptionbudgets) with no guidance
on how to determine the required resources.

Add a concrete cert-manager ClusterRole + binding covering the object
kinds the chart creates (PodDisruptionBudget, webhooks, RBAC included),
a tip on rendering the chart to enumerate resources, and a note on RBAC
escalation prevention when an AddOn chart ships its own roles.
@vercel

vercel Bot commented Jul 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Error Error Jul 16, 2026 8:23pm

Request Review

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.

1 participant