2026-07-12 16:01:53 +02:00
|
|
|
id: CCR-2026-0006
|
|
|
|
|
kind: credential-change-request
|
|
|
|
|
schema_version: 1
|
|
|
|
|
request_type: workload-kv-read
|
|
|
|
|
title: Forgejo operator/admin API token (PAT) lane
|
2026-07-12 16:07:32 +02:00
|
|
|
status: applied
|
2026-07-12 16:01:53 +02:00
|
|
|
created: '2026-07-12'
|
|
|
|
|
updated: '2026-07-12'
|
|
|
|
|
requester:
|
|
|
|
|
agent: grok
|
|
|
|
|
message_id: 54125f84-e9df-4fa0-9309-7370633a20d3
|
|
|
|
|
reason: Establish OpenBao custody for the Forgejo site-admin PAT currently dropped
|
2026-07-12 16:07:32 +02:00
|
|
|
at /tmp/forgejo-tegwick-api-token or FORGEJO_ADMIN_TOKEN on workstations. Drivers
|
|
|
|
|
include ACTIVITY-WP-0020 weekly package prune and railiance-apps / railiance-platform
|
|
|
|
|
Forgejo automation tools.
|
2026-07-12 16:01:53 +02:00
|
|
|
review:
|
|
|
|
|
required: true
|
|
|
|
|
required_approvers:
|
|
|
|
|
- platform-operator
|
2026-07-12 16:07:32 +02:00
|
|
|
comments:
|
|
|
|
|
- at: '2026-07-12T14:05:00+00:00'
|
|
|
|
|
reviewer: bernd.worsch
|
|
|
|
|
decision: approved
|
|
|
|
|
comment: "Approved in chat \u2014 establish Forgejo admin PAT lane at platform/workloads/forgejo/forgejo-admin\
|
|
|
|
|
\ (sibling to forgejo-mailer)."
|
2026-07-12 16:01:53 +02:00
|
|
|
target:
|
|
|
|
|
domain: infotech
|
|
|
|
|
tenant: coulomb
|
|
|
|
|
workload: forgejo
|
|
|
|
|
environment: production
|
|
|
|
|
purpose: Forgejo admin API token for package prune, registry ops, org webhooks,
|
|
|
|
|
and operator bootstrap on workstations and activity-core worker
|
|
|
|
|
openbao:
|
|
|
|
|
mount: platform
|
|
|
|
|
kv_path: platform/workloads/forgejo/forgejo-admin
|
|
|
|
|
fields:
|
|
|
|
|
- API_TOKEN
|
|
|
|
|
- API_USER
|
|
|
|
|
- API_BASE_URL
|
|
|
|
|
- TOKEN_SCOPES
|
|
|
|
|
- GENERATED_AT
|
|
|
|
|
policy_name: workload-kv-read-forgejo-admin
|
|
|
|
|
policy_file: openbao/policies/workload-kv-read-forgejo-admin.hcl
|
|
|
|
|
auth:
|
|
|
|
|
method: oidc
|
|
|
|
|
mount: netkingdom
|
|
|
|
|
role: forgejo-admin-workload-kv-read
|
|
|
|
|
allowed_redirect_uris:
|
|
|
|
|
- https://bao.coulomb.social/ui/vault/auth/netkingdom/oidc/callback
|
|
|
|
|
- http://localhost:8250/oidc/callback
|
|
|
|
|
- http://127.0.0.1:8250/oidc/callback
|
|
|
|
|
oidc_scopes:
|
|
|
|
|
- openid
|
|
|
|
|
- profile
|
|
|
|
|
- email
|
|
|
|
|
- groups
|
|
|
|
|
user_claim: sub
|
|
|
|
|
groups_claim: groups
|
|
|
|
|
bound_claims:
|
|
|
|
|
groups:
|
|
|
|
|
- net-kingdom-admins
|
|
|
|
|
bound_claims_confirmed: true
|
|
|
|
|
policies:
|
|
|
|
|
- workload-kv-read-forgejo-admin
|
|
|
|
|
ttl: 15m
|
|
|
|
|
access_frontdoor:
|
|
|
|
|
type: ops-warden
|
|
|
|
|
catalog_id: forgejo-admin-api-token
|
|
|
|
|
selector: forgejo admin PAT package prune FORGEJO_ADMIN_TOKEN
|
|
|
|
|
command: warden access forgejo-admin-api-token --fetch API_TOKEN
|
|
|
|
|
resolvable: false
|
2026-07-12 16:07:32 +02:00
|
|
|
readiness: approved-pending-apply
|
2026-07-12 16:01:53 +02:00
|
|
|
delivery:
|
|
|
|
|
surface: operator-workstation
|
2026-07-12 16:07:32 +02:00
|
|
|
target: railiance-platform tools/cmd/forgejo-package-prune, activity-core weekly-forgejo-package-prune
|
|
|
|
|
shell resolver, and railiance-apps Forgejo tools (load_token pattern after lane
|
|
|
|
|
verified)
|
2026-07-12 16:01:53 +02:00
|
|
|
risk:
|
|
|
|
|
classification: high
|
|
|
|
|
notes:
|
|
|
|
|
- API_TOKEN is a Forgejo site-admin PAT for user tegwick (coulomb Owners).
|
|
|
|
|
- Grants package, repository, and admin API operations on forgejo.coulomb.social.
|
|
|
|
|
- Must not be stored on production hosts or pasted into Git, State Hub, or chat.
|
|
|
|
|
- ops-warden must proxy reads as the caller and must not retain values.
|
|
|
|
|
- Distinct from forgejo-mailer (SMTP) and railiance-backup-offsite-lane (WebDAV).
|
|
|
|
|
verification:
|
|
|
|
|
positive:
|
2026-07-12 16:07:32 +02:00
|
|
|
- Approved net-kingdom-admins identity can read API_TOKEN through OpenBao or warden
|
|
|
|
|
access without printing values in logs or hub messages.
|
2026-07-12 16:01:53 +02:00
|
|
|
- warden route find "forgejo admin pat" resolves to catalog id forgejo-admin-api-token.
|
|
|
|
|
negative:
|
|
|
|
|
- default-policy token denied on platform/data/workloads/forgejo/forgejo-admin.
|
|
|
|
|
activation_conditions:
|
|
|
|
|
- CCR approved by platform-operator.
|
|
|
|
|
- Policy and OIDC role applied with platform-admin or delegated applier authority.
|
2026-07-12 16:07:32 +02:00
|
|
|
- "PAT minted in attended Forgejo session (tegwick \u2192 Settings \u2192 Applications)\
|
|
|
|
|
\ and stored at platform/workloads/forgejo/forgejo-admin; metadata fields optional."
|
2026-07-12 16:01:53 +02:00
|
|
|
- Positive and negative verification recorded with non-secret audit references.
|
|
|
|
|
- ops-warden catalog entry promoted from draft after verification.
|
2026-07-12 16:07:32 +02:00
|
|
|
evidence:
|
|
|
|
|
- at: '2026-07-12T14:05:07+00:00'
|
|
|
|
|
actor: grok
|
|
|
|
|
kind: delegated_metadata_apply
|
|
|
|
|
result: passed
|
|
|
|
|
details:
|
|
|
|
|
- Delegated metadata applier ran as grok using local bao CLI ambient authority.
|
|
|
|
|
- 'Policy metadata write: sys/policies/acl/workload-kv-read-forgejo-admin'
|
|
|
|
|
- 'Auth role metadata write: auth/netkingdom/role/forgejo-admin-workload-kv-read'
|
|
|
|
|
- No secret values were read, written, printed, or accepted in argv.
|
|
|
|
|
- at: '2026-07-12T14:06:54+00:00'
|
|
|
|
|
actor: grok
|
|
|
|
|
kind: negative_verification
|
|
|
|
|
result: passed
|
|
|
|
|
details:
|
|
|
|
|
- default-policy token denied on platform/data/workloads/forgejo/forgejo-admin
|
|
|
|
|
(HTTP 403, 2026-07-12T14:06Z)
|
2026-07-12 16:01:53 +02:00
|
|
|
lifecycle:
|
|
|
|
|
deactivate: Disable ops-warden catalog entry and detach OIDC role policy; revoke
|
|
|
|
|
PAT in Forgejo and retire workstation file-drop path.
|
|
|
|
|
rotate: Mint a new PAT in Forgejo, update API_TOKEN in OpenBao, record non-secret
|
|
|
|
|
rotation evidence, and restart dependent automation after downstream consumers
|
|
|
|
|
load from OpenBao.
|
2026-07-12 16:07:32 +02:00
|
|
|
compromised: Revoke PAT in Forgejo immediately, deactivate front door, rotate, audit
|
|
|
|
|
package/webhook changes, record blast-radius notes.
|
2026-07-12 16:01:53 +02:00
|
|
|
state_hub:
|
2026-07-12 16:07:32 +02:00
|
|
|
workplan_id: ACTIVITY-WP-0020
|