## 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 KiB
1 KiB
| title | modified | tags | |||
|---|---|---|---|---|---|
| Provision Authentik Database | 2026-02-20 |
|
Provision Authentik Database
Create a PostgreSQL database and user for Authentik on the existing CNPG cluster.
What Was Done
- Added
authentikmanaged role toblumeops-pgCNPG cluster (argocd/manifests/databases/blumeops-pg.yaml) — non-superuser withcreatedbandlogin - Created ExternalSecret
blumeops-pg-authentikpulling password from 1Password item "Authentik (blumeops)" fieldpostgresql-password - Synced CNPG cluster — role reconciled with password set
- Created
authentikdatabase owned byauthentikuser - Verified cross-cluster connectivity: ringtail pod →
pg.ops.eblu.me:5432(Caddy L4)
Resolved Questions
- Hostname:
pg.ops.eblu.mevia Caddy L4 plugin (not MagicDNS) - Permissions: Non-superuser with
createdb— Authentik manages its own schema via migrations
Related
- deploy-authentik — Parent goal
- postgresql — CNPG cluster reference