Provision Authentik Database
Create a PostgreSQL database and user for Authentik on an existing CNPG cluster.
This run (2026-02-20) happened on the minikube
blumeops-pgcluster. The retire-minikube series phase 2 (2026-06-11) moved the authentik DB to ringtail’sblumeops-pgand relocated the manifests below toargocd/manifests/databases-ringtail/; see “Current State” after the steps.
What Was Done
- Added the
authentikmanaged role to theblumeops-pgCNPG cluster — non-superuser withcreatedbandlogin - Created ExternalSecret
blumeops-pg-authentikpulling the password from 1Password item “Authentik (blumeops)” fieldpostgresql-password - Synced CNPG cluster — role reconciled with password set
- Created the
authentikdatabase owned by theauthentikuser - Verified cross-cluster connectivity: ringtail pod →
pg.ops.eblu.me:5432(Caddy L4)
Current State
As of the retire-minikube phase 2 cutover:
- The role and ExternalSecret live in
argocd/manifests/databases-ringtail/(blumeops-pg.yaml,external-secret-authentik.yaml) on ringtail’sblumeops-pgcluster. - The managed role is now
loginonly —createdbwas dropped; the database was pre-created at cutover (CREATE DATABASE authentik OWNER authentik). - The Caddy L4 route
pg.ops.eblu.me:5432retired with the minikube cluster;blumeops-pgis now onpg.ops.eblu.me:5434(connect-to-postgres). The app’s host/port values live in the 1Password item, not in the repo.
Resolved Questions
- Hostname:
pg.ops.eblu.mevia Caddy L4 plugin (not MagicDNS) - Permissions: Non-superuser — Authentik manages its own schema via migrations
Related
- authentik — Authentik reference
- postgresql — CNPG cluster reference
- connect-to-postgres — connecting to
pg.ops.eblu.me - retire-minikube — phase 2 moved the DB to ringtail