Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 3775@bnt-lap001 Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2.8 KiB
Core Hub Forgejo source-read token
Date: 2026-10-03
Catalog: core-hub-forgejo-source-read (status active, exec_capable: false, resolvable: false)
Owner: railiance-platform (OpenBao and credential lifecycle)
This lane carries the dedicated Forgejo PAT that the Core Hub repo-manager
publisher (rapp-core-hub, deployable repository-classification-publisher)
uses to read private sources of the repository registry. The Forgejo identity
core-hub-source is restricted to organization-wide repository-code read in org
coulomb, and the PAT scope is exactly read:repository. It has no repository
write, package, organization administration, instance administration, Actions,
cluster, or deployment authority.
The authoritative lifecycle and evidence record is
railiance-platform/credential-change-requests/CCR-2026-0031-core-hub-forgejo-source-read.yaml
(design: railiance-platform/docs/credential-lane-designs/core-hub-forgejo-source-read.md).
It is distinct from policy-nexus-forgejo-source-read (CCR-2026-0014); neither
identity nor token is reused across the two lanes.
Owner-confirmed lane
| Field | Value |
|---|---|
| OpenBao path | platform/workloads/core-hub/forgejo-source-read |
| Fields | FORGEJO_SOURCE_TOKEN, API_USER, API_BASE_URL, TOKEN_SCOPES, GENERATED_AT |
| Read policy | workload-kv-read-core-hub-forgejo-source |
| Auth | Kubernetes auth role external-secrets-core-hub-forgejo-source (bound to external-secrets/external-secrets) |
| Delivery | ClusterSecretStore openbao-core-hub-forgejo-source → ExternalSecret core-hub/repo-manager-forgejo-source → Secret key token |
| Forgejo identity | core-hub-source |
| Forgejo team | core-hub-source-readers |
Worker checklist
-
There is no operator or agent fetch lane. External Secrets is the only reader, so
warden access core-hub-forgejo-source-read --fetch/--execis not offered and the fetch-policy pin does not list this lane. Do not request one; if a legitimate operator read need appears, it goes through a new CCR first. -
Check delivery health without reading values: ExternalSecret
core-hub/repo-manager-forgejo-sourceReady, andmake verify-publisherinrapp-core-hub. Verify OpenBao allow/deny withbao token capabilities, neverbao kv get(seecatalog-lane-promotion.md). -
For rotation (every 180 days or on owner change), deactivation, or compromise, follow the CCR-2026-0031 lifecycle;
warden rotate-guide core-hub-forgejo-source-readprints the rotation steps. A replacement is not active untilmake verify-publisherpasses; revoke the predecessor afterward. -
Never place the value in argv, chat, Git, State Hub, logs, or a persistent temporary file. Never substitute the Forgejo admin PAT, a personal token, or the policy-nexus-source token.