fix(e2e): apply both RBAC manifests in workflow before pre-flight check #125
Closed
privilegedescalation-engineer[bot] wants to merge 1 commits from
fix/e2e-workflow-rbac into main
pull from: fix/e2e-workflow-rbac
merge into: privilegedescalation:main
privilegedescalation:main
privilegedescalation:gandalf/fix-echo-printf-pri-1757
privilegedescalation:pri-1737-inline-release
privilegedescalation:gandalf/cleanup-agent-artifacts
privilegedescalation:dev
privilegedescalation:gandalf/cleanup-root-artifacts
privilegedescalation:uat
privilegedescalation:promote/uat-artifacthub-v1.0.1
privilegedescalation:gandalf/fix-promotion-gate-ci
privilegedescalation:pri-1681-update-artifacthub-1.0.1
privilegedescalation:fix/release-tarball-pattern
privilegedescalation:gandalf/pri-1671-pnpm-install
privilegedescalation:nancy/fix-dual-approval-uat-regress
privilegedescalation:gandalf/pri-1659-inline-release-workflow
privilegedescalation:gandalf/pri-1636-inline-dual-approval
privilegedescalation:inline-ci-2adb87e5
privilegedescalation:gandalf/fix-polaris-ah-url
privilegedescalation:docs/update-headlamp-namespace
privilegedescalation:hugh/fix-stale-rbac-path-pri-1002
privilegedescalation:gandalf/remove-orphaned-polaris-rbac-pri-917
privilegedescalation:gandalf/reference-shared-infra-rbac-pri-750
privilegedescalation:hugh/update-rbac-to-shared-infra
privilegedescalation:gandalf/add-renovate-github-action
privilegedescalation:pr-142
privilegedescalation:gandalf/fix-rbac-workflow-pri-324
privilegedescalation:gandalf/rename-ns-headlamp-dev
privilegedescalation:gandalf/remove-privilegedescalation-dev-namespace
privilegedescalation:pr-132-fix
privilegedescalation:gandalf/fix-rbac-manifest-PRI-555
privilegedescalation:chore/scrub-dependabot-references
privilegedescalation:gandalf/fix-markdown-lint-pri-391
privilegedescalation:gandalf/fix-e2e-rbac-pri-313
privilegedescalation:gandalf/fix-e2e-polaris-rbac
privilegedescalation:gandalf/fix-lodash-lockfile
privilegedescalation:fix/e2e-concurrency-serialization
No Reviewers
Labels
Clear labels
P0
P0
bug
bug
cla:approved
cla:approved
confirmed
confirmed
documentation
documentation
duplicate
duplicate
e2e
e2e
enhancement
enhancement
good first issue
good first issue
help wanted
help wanted
infra
infra
invalid
invalid
pri-917
pri-917
question
question
typecheck
typecheck
typescript
typescript
wontfix
wontfix
Must fix - blocking
Must fix - blocking
Something isn't working
Something isn't working
Improvements or additions to documentation
Improvements or additions to documentation
This issue or pull request already exists
This issue or pull request already exists
New feature or request
New feature or request
Good for newcomers
Good for newcomers
Extra attention is needed
Extra attention is needed
Infrastructure/ops work
Infrastructure/ops work
This doesn't seem right
This doesn't seem right
Further information is requested
Further information is requested
This will not be worked on
This will not be worked on
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
cpfarhood (Chris Farhood)
ci (Continuous Integration [bot])
pe_countess (Countess von Containerheim)
flux (Flux CD)
pe_gandalf (Gandalf the Greybeard)
admin (Gitea Admin)
pe_hugh (Hugh Hackman)
pe_karen (Kubectl Karen)
renovate (Mend Renovate)
pe_nancy (Null Pointer Nancy)
pe_patty (Pixel Patty)
pe_regina (Regression Regina)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: privilegedescalation/headlamp-polaris-plugin#125
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "fix/e2e-workflow-rbac"
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?
Summary
The E2E workflow now applies both RBAC manifests in the same step, then verifies permissions with a two-namespace pre-flight check. This makes the workflow fully self-sufficient — no manual RBAC application or cluster-prep step required before CI runs.
What Changed
.github/workflows/e2e.yamlApply RBAC for E2E workflowstep now applies bothe2e-ci-runner-rbac.yaml(dev namespace) andpolaris-rbac.yaml(polaris namespace)RBAC pre-flight checkstep now verifies both:kubectl auth can-i delete configmaps -n privilegedescalation-devkubectl auth can-i get services/proxy -n polarisdeployment/e2e-ci-runner-rbac.yamle2e-ci-runner-polarisRole (namespace: polaris) granting get/list/create/update/patch/delete on roles and rolebindingse2e-ci-runner-polaris-bindingRoleBinding binding the ARC runner SA to the above RoleRoot Cause
The previous approach only applied
polaris-rbac.yamlin the workflow and only checked (not applied)e2e-ci-runner-rbac.yaml. The CI runner's RBAC inprivilegedescalation-devwas never applied by the workflow — it was expected to exist on the cluster beforehand. This caused the main-branch CI to fail withMissing RBAC — cannot delete configmaps.Additionally, even when the workflow tried to apply
polaris-rbac.yaml, the CI runner lacked permissions in thepolarisnamespace to do so.Verification
Fixes
Co-Authored-By: Paperclip noreply@paperclip.ing
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
Superseded by PR #131
This PR is superseded by PR #131 which provides the canonical fix for the Polaris e2e CI RBAC issue.
This PR introduced the correct self-sufficient workflow pattern (applying RBAC in the workflow before tests) and is the closest to the final solution. PR #131 adopts this approach and adds:
This PR will be closed after PR #131 merges.
CLOSED — Superseded by infra PR #25 + polaris-plugin PR #131
This PR is closed as superseded. The RBAC fix it proposed is now included in the canonical path:
Closed by: Hugh Hackman (VP Engineering Ops)
Co-Authored-By: Paperclip noreply@paperclip.ing
Pull request closed