docs(runbook): control-panel bitborg-web OAuth2 client bootstrap (#47) #98
Inga granskare
Etiketter
Inga etiketter
area/backups
area/ci
area/control-panel
area/identity
area/infra
area/observability
area/payments
area/security
area/storage
area/web
blocked
needs-info
needs-triage
ready-for-implementation
type
bug
type
chore
type
docs
type
epic
type
feature
type
task
wontfix
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Inget förfallodatum satt.
Beroenden
Inga beroenden satta
Referens
bitborg/bitborg-infra!98
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "feat/47-control-panel-kanidm-client"
Borttagning av en gren är permanent. Även om den borttagna grenen kan fortsätta existera en kort tid innan den faktiskt tas bort, kan det INTE ångras i de flesta fall. Vill du fortsätta?
Closes #47.
Finding: the code plumbing already exists
The web role already injects the control-panel OIDC config end-to-end, gated on
web_auth_enabled(= bothvault_web_oidc_client_secretandvault_web_session_secretset):bitborg-web.container.j2:OIDC_ISSUER/CLIENT_ID/REDIRECT_URI/ADMIN_GROUPenv +OIDC_CLIENT_SECRET/SESSION_SECRETpodman secrets.web_oidc_client_id,web_oidc_issuer,web_oidc_admin_group.So #47's only real gap was the Kanidm
bitborg-webOAuth2 client — which, like the Forgejo and Grafana clients, is created out-of-band (the provision state'ssystems.oauth2is intentionally empty).Change
Runbook subsection mirroring the Forgejo bootstrap: create the
bitborg-webclient (redirect/auth/callback, PKCE on,forgejo_usersscope map,groupsclaim →forgejo_admins= panel admin), vault the client secret + anopenssl randsession key,apply --tags web, verify, rotate. Notes the panel stays 404 until both secrets exist, so applying on prod before bootstrap is safe.Pairs with bitborg-web#36 (JWKS verify + security review — done on branch
feat/36-oidc-security-review).Verification
Apply-day
Operator runs the Kanidm bootstrap (needs
idm_admin), vaults the two secrets,site.yml --tags web. Verify/accountlogin end-to-end.805ba84ac6263f331a88263f331a88508237c7eedocs(runbook): control-panel gitborg-web OAuth2 client bootstrap (#47)till docs(runbook): control-panel bitborg-web OAuth2 client bootstrap (#47)