## 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.3 KiB
1.3 KiB
| title | modified | tags | ||
|---|---|---|---|---|
| Build Authentik Container Image | 2026-02-20 |
|
Build Authentik Container Image
Build and publish a Nix-based container image for Authentik to the local registry.
Context
Discovered while attempting deploy-authentik: the deployment references registry.ops.eblu.me/blumeops/authentik:v1.0.0-nix which doesn't exist. Authentik's nixpkgs package (pkgs.authentik) provides the ak wrapper which orchestrates a Go server binary and Python Django worker.
What to Do
- Verify
containers/authentik/default.nixbuilds on ringtail (the Nix builder runs there) - The
akentrypoint needs bash (included viabashInteractive) and orchestrates bothserverandworkersubcommands - Tag and release:
mise run container-tag-and-release authentik v1.0.0 - Verify the
-nixtagged image appears in the registry
What We Learned
- The entrypoint is
ak(bash wrapper), notauthentik(Go binary) ak serverruns the Go HTTP server,ak workerruns the Python Django workerpkgs.authentikbundles Go binary, Python environment, and static assets viawrapProgram- nixpkgs has v2025.10.1, upstream latest is 2025.12.4 — acceptable for initial deployment
- Container needs
bashInteractivesinceakis a bash script
Related
- deploy-authentik — Parent goal