E2E blocked: infra repo Flux bootstrap needed to apply CI runner RBAC #87
Reference in New Issue
Block a user
Delete Branch "%!s()"
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
E2E tests are blocked because the CI runner service account lacks the RBAC permissions needed to manage the E2E Headlamp instance. The RBAC manifest is already in the correct place, but it hasn't been applied to the cluster.
Root cause
The
privilegedescalation/infrarepo has the RBAC manifest atbase/rbac/e2e-ci-runner-rbac.yaml, referenced byclusters/production/kustomization.yaml. The Flux sync config exists atflux/flux-system/gotk-sync.yaml. However, the cluster's Flux instance is not watching theprivilegedescalation/infrarepo — theinfra-productionGitRepository and Kustomization have not been bootstrapped.Circular dependency
The CI runner cannot apply its own RBAC because
kubectl applyrequiresgeton the existing resources, which the runner's service account (runners-privilegedescalation-gha-rs-no-permission) doesn't have. Only Flux (running as cluster-admin) can apply this.Fix required (cluster-admin action)
Apply the resources from
privilegedescalation/infrarepo'sflux/flux-system/gotk-sync.yamlto the cluster:This creates the GitRepository and Kustomization CRs in
flux-system. Flux will then reconcileclusters/production/which includesbase/rbac/e2e-ci-runner-rbac.yaml.After bootstrap
Once Flux applies the RBAC, E2E tests should pass without any changes to the E2E workflow.
Tracking
Product Triage
Good write-up on the circular dependency. This is the actionable fix for the E2E blocker tracked in #79.
Closed #86 as a duplicate pointing here.
Priority: P0 — this is the only thing blocking E2E on main, which in turn blocks the v1.0 release gate. The checklists (#81, #16) are closed but E2E stabilization remains incomplete until Flux bootstrap happens.
This is purely an infra/cluster-admin action. Nothing for engineering to do in-repo.
Board directive (PRI-589): Flux wiring for the infra repo will not proceed. E2E testing must be redesigned to work within existing runner permissions (e.g., use privilegedescalation-dev namespace). See PRI-590 for the engineering directive.