RBAC: migrate eco-app/open-webui deployer off raw Secrets/RBAC to ExternalSecrets, drop supplemental Roles #467
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#467
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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?
Follow-up to #466 (zero-per-service RBAC via the cluster-wide
deployer-appsClusterRole).deployer-appsdeliberately excludes cluster-widesecretsandrbac(roles/rolebindings) writes - the two real escalations. As a result three namespaces still carry a small supplemental namespaceddeployerRole indeploy/forgejo-runner-deploy.yml:secrets(tailnet sidecarts-stateSecret)secrets+roles/rolebindingssecrets+roles/rolebindingsGoal
Migrate each of these services off deploying raw Secrets and RBAC:
deployer-appsalready grants cluster-wide.roles/rolebindingsa service creates are only for its own tailnet sidecar state, evaluate whether they can be pre-provisioned once (operator step) rather than reconciled by CD each deploy.Once a namespace no longer creates raw Secrets or RBAC at deploy time, delete its supplemental
Role+RoleBindingblock. When all three are gone, the CD runner reaches zero namespaced RBAC entirely.Refs
deploy/forgejo-runner-deploy.ymldocs/cd-runner.md(Identity + blast radius)WARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-infrastructure-467on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-10T11:32:57Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (1h TTL).--forceoverrides.Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).
run seed context — what this run is carrying (ward#609)
coilyco-flight-deck/infrastructure#467· branchissue-467· harnesscodex· workflowdirect-mainengineer-codex-infrastructure-467· wardv0.580.0· dispatched2026-07-10T11:32:57ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.580.0).
— Codex, via
ward agentWARD-OUTCOME: done
details
workflow: direct-main; review summary: review gate skipped by ~/.ward/config.yaml default
felt: mechanical. confidence: high. surprise: Forgejo Actions API shape was odd, but the landed push was green. follow-ups: none.