fix(aosguard): read the admin PAT from SSM like every other credential #1079
No reviewers
Labels
No labels
burndown-2026-06
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/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1079
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/ym96-admin-ssm"
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?
Kai: it is literally just an SSM param. Removing the ceremony an agent built around it.
What was there
auth header-token { value env FORGEJO_ADMIN_TOKEN }. So a caller had to export the token first, which needed a helper to fetch it, which grew a TTY gate so headless callers could not pull it by accident.Each step was reasonable given the one before it. The first step was the mistake.
What it is now
The same
provider ssmblock the ordinary Forgejo wrapper has always used, pointed at/forgejo/admin-tokenand resolved at call time.Access to the parameter is the boundary. That is where an SSM-backed credential's boundary belongs, and it is enforced by IAM rather than by whether stdin happens to be a terminal.
Verified
No env var, no TTY, no wrapper script.
Follow-on, not in this PR
infrastructure/scripts/forgejo-admin-token.pyand its ~10 callers are the other half. They fetch the token to hand to rawcurl, and several of them predate the guarded verbs entirely. Filed separately so this change can land on its own.Docs
docs/aosguard-forgejo-admin.mdgains a Credentials section and loses "attended" from its title, since the wrapper is no longer gated on a terminal.🤖 Generated with Claude Code