## Summary - Replace git-tag-triggered container builds with path-based triggers on main and workflow_dispatch - Image tags now encode upstream app version + commit SHA (`vX.Y.Z-<sha>`) for full traceability - Replace `container-tag-and-release` task with `container-build-and-release` (dispatches workflows via Forgejo API) - Update dagger `publish()` to accept `commit_sha` parameter - Update all docs and references to the new workflow ## Deployment and Testing - [ ] Merge to main - [ ] `mise run container-build-and-release <name>` for each container to populate new-format tags - [ ] Verify tags in registry via `mise run container-list` - [ ] Existing images untouched — old tags remain available Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/232
1.4 KiB
1.4 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 — locally via Dagger (dagger call build-nix --src=. --container-name=authentik) or on ringtail (the CI nix builder runs there) - The
akentrypoint needs bash (included viabashInteractive) and orchestrates bothserverandworkersubcommands - Trigger build:
mise run container-build-and-release authentik - 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