## Summary C2 Mikado chain for deploying Authentik as the SSO identity provider, replacing Dex. This PR will evolve over multiple sessions. Each iteration adds documentation (prerequisite cards) and eventually code as leaf nodes are resolved. ## Current Mikado State - **Goal:** `deploy-authentik` (active) - **Leaf prerequisites:** - `build-authentik-container` — Build Nix container image - `provision-authentik-database` — Create PostgreSQL database on CNPG cluster - `create-authentik-secrets` — Create 1Password item with credentials ## Process refinements - Updated agent-change-process with lessons from first attempt: reset code before committing cards, open PRs early ## Test plan - [ ] `mise run docs-mikado` shows correct dependency chain - [ ] Leaf nodes can be worked independently - [ ] Container builds on ringtail - [ ] Authentik starts and reaches healthy state - [ ] Forgejo OAuth2 connector works Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/227
1.2 KiB
1.2 KiB
| title | modified | tags | |||
|---|---|---|---|---|---|
| Create Authentik Secrets | 2026-02-20 |
|
Create Authentik Secrets
Create the 1Password item that the ExternalSecret references for Authentik configuration.
What Was Done
- Created 1Password item "Authentik (blumeops)" in vault
blumeops(category: database) with fields:secret-key: random 68-character base64 string (forAUTHENTIK_SECRET_KEY)postgresql-host:pg.ops.eblu.mepostgresql-port:5432postgresql-name:authentikpostgresql-user:authentikpostgresql-password: random 44-character base64 string
- ExternalSecret
blumeops-pg-authentikin databases namespace resolves successfully (verified during provision-authentik-database)
Notes
- The database password in this 1Password item is the same one used by the CNPG managed role via
external-secret-authentik.yaml. Both the database ExternalSecret and the future Authentik deployment ExternalSecret reference the same 1Password item but different fields.
Related
- deploy-authentik — Parent goal
- provision-authentik-database — Database provisioning (uses
postgresql-passwordfield)