Skip to content

kickstart: feat/kickstart rbac checks#2181

Merged
davidgamero merged 2 commits into
Azure:kickstartfrom
davidgamero:feat/kickstart-rbac-checks
May 26, 2026
Merged

kickstart: feat/kickstart rbac checks#2181
davidgamero merged 2 commits into
Azure:kickstartfrom
davidgamero:feat/kickstart-rbac-checks

Conversation

@davidgamero
Copy link
Copy Markdown
Collaborator

continuing work from #2165

bosesuneha and others added 2 commits May 20, 2026 11:13
Adds a centralized helper that checks whether the signed-in user holds the
Azure role assignments required for a successful Kickstart deploy on the
Normal Namespace path:

  Cluster scope (Azure RBAC for Kubernetes, when enabled):
    - AKS RBAC Writer / RBAC Admin / RBAC Cluster Admin (kubectl apply)
  ACR scope:
    - AcrPush                              (docker push)
    - Container Registry Tasks Contributor (az acr build)

The check uses listForScope with the atScope() filter so RG / subscription /
MG-inherited assignments count. A 403 on enumeration sets a *Inconclusive
flag so the UI warns rather than blocks.

CONFIGURE phase renders results as a single markdown table; DEPLOY phase
blocks only when the user definitively lacks an AKS RBAC Writer-tier role
on an Azure-RBAC-enabled cluster.

Refactors aksContainerAssist/oidcSetup.ts to consume the same role-ID
constants and isAzureRbacEnabled helper from the new shared module.

Self-assign / fix-it commands deferred to a follow-up PR.
- aksRbacHelpers: remove atScope() filter to include inherited roles;
  use assignedTo server-side filter instead of in-memory principalId check
- configure: add 'warning' CheckStatus for AKS Automatic SKU info
  (distinct from 'inconclusive' which means 403/auth failure)
- configure: render pre-flight table before kubeconfig failure so user
  sees all check results even when kubeconfig access is denied
@davidgamero
Copy link
Copy Markdown
Collaborator Author

@Tatsinnit for visibility

@davidgamero davidgamero merged commit cdba4ea into Azure:kickstart May 26, 2026
3 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