Reconcile Forgejo runner scopes for active deploy workflows #955
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure#955
Loading…
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?
Outcome
Restore runner visibility for every active trusted Forgejo workflow without recreating an instance-global or organization-wide deploy execution surface.
Parent boundary: coilysiren/inbox#280
Incident repair: #665
Current evidence
An audit after the scoped runner credential rollout checked 32 active repositories and 126
runs-ondeclarations.All live scoped runner StatefulSets are ready and their ExternalSecrets are synced. No task was waiting at inspection time. The current exact-repository deploy runners serve only:
coilyco-bridge/deploycoilyco-gaming/sirens-discord-opsThe following active main-push workflows still request
runs-on: deploybut cannot see either runner:coilyco-bridge/atlascoilyco-flight-deck/bluesky-mcpcoilyco-flight-deck/lunch-money-k8scoilyco-flight-deck/node-stats-mcpcoilyco-flight-deck/reddit-mcpcoilyco-flight-deck/ward-mcpcoilyco-gaming/eco-appcoilyco-gaming/factory-game-v3coilyco-gaming/galaxy-gencoilyco-gaming/steam-opscoilysiren/websitecoilysiren/websitealso requestsruns-on: docker, but user-ownedcoilysirenrepositories intentionally have no general runner scope.The repaired Sirens workflow completed successfully in https://forgejo.coilysiren.me/coilyco-gaming/sirens-discord-ops/actions/runs/38.
Decision boundary
For each affected source repository:
coilyco-bridge/deploywhen that repository already owns the canonical deployment.deploy.Kai decides whether
coilysiren/websitereceives exact-repository Docker and publisher scopes or moves its Forgejo workflows under an already scoped owner.Complete when
coilyco-bridge/deployis canonical.runs-onlabels.Resolved. Verified live 2026-08-29 ~04:20Z against the kai-server API.
This issue listed eleven active main-push workflows requesting
runs-on: deploythat could see no runner. Every one of them now resolves.Exact-repository deploy runners running on kai-server, all
1/1, all recycled in the 2026-08-28T16:15Z window:forgejo-runner-deploy-bluesky-mcp-0forgejo-runner-deploy-lunch-money-k8s-0forgejo-runner-deploy-node-stats-mcp-0forgejo-runner-deploy-ward-mcp-0forgejo-runner-deploy-eco-app-0forgejo-runner-deploy-factory-game-v3-0forgejo-runner-deploy-galaxy-gen-0forgejo-runner-deploy-steam-ops-0forgejo-runner-deploy-website-0Plus
forgejo-runner-deploy-agent-proxy-0,-sirens-echo-0,-sirens-discord-ops-0and-scoped-0, which this issue did not list.The two names on the list with no runner are resolved rather than outstanding:
coilyco-bridge/atlas- the runner and the repository are both gone. #834 closed on the StatefulSet no longer existing.coilyco-flight-deck/reddit-mcp- retired bycoilyco-bridge/deploy#608.coilysiren/websitereceived its own exact-repository runner, which is the second of the two options this issue put to Kai. The decision is recorded by the deployed state.No organization-wide
deployscope was created. kai-server carries only exact-repository deploy runners plus the DinD-free tap writer, and the general pools moved to ser8 under #693.What this close does not assert
The final acceptance line, "a fleet audit reports zero unmatched
runs-onlabels", was not re-run. What was verified is that every repository this issue named now has a runner visible at its scope. A fresh unmatched label filed since 2026-08-27 would not have been caught here.Closing as resolved. Reopen freely if the audit finds a straggler.