blumeops/docs/how-to
Erich Blume efa9806bfa
All checks were successful
Build Container / detect (push) Successful in 3s
Build Container (Nix) / detect (push) Successful in 1s
Build Container / build (authentik) (push) Successful in 2s
Build Container (Nix) / build (authentik) (push) Successful in 22s
C2: Build authentik from source (Mikado chain) (#274)
## Mikado Chain: build-authentik-from-source

Replace `pkgs.authentik` from nixpkgs with a custom Nix derivation built from source.
This removes the dependency on the nixpkgs packaging timeline and gives full version control.

Target version: **2025.12.4** (nixpkgs reference, upgrading from deployed 2025.10.1).

### Dependency Graph

```
build-authentik-from-source (goal)
├── authentik-go-server-derivation
│   ├── authentik-api-client-generation  ← IN PROGRESS
│   └── authentik-python-backend-derivation
├── authentik-web-ui-derivation
│   └── authentik-api-client-generation  ← IN PROGRESS
└── authentik-python-backend-derivation
```

### Ready Leaves
- `authentik-api-client-generation` — Go + TypeScript client generation from OpenAPI schema
- `authentik-python-backend-derivation` — Django backend with 60+ deps, 4 in-tree packages

### Architecture
Ported from [nixpkgs `pkgs/by-name/au/authentik/package.nix`](https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/au/authentik):
- `source.nix` — shared version/source fetch
- `client-go.nix` — Go API client generation
- `client-ts.nix` — TypeScript API client generation
- `api-go-vendor-hook.nix` — Go vendor directory injection hook
- (more components to follow as leaves are closed)

### Related Cards
- [[build-authentik-from-source]] — Goal card
- [[authentik-api-client-generation]]
- [[authentik-python-backend-derivation]]
- [[authentik-web-ui-derivation]]
- [[authentik-go-server-derivation]]

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/274
2026-03-01 13:45:00 -08:00
..
authentik C2: Build authentik from source (Mikado chain) (#274) 2026-03-01 13:45:00 -08:00
configuration Review manage-forgejo-mirrors doc: clarify cron default, stamp reviewed 2026-02-26 07:17:18 -08:00
deployment Document container tag provenance and enhance container-list (#263) 2026-02-24 09:54:58 -08:00
forgejo-runner Review forgejo-runner docs: stamp reviewed, fix cross-links 2026-02-27 15:10:20 -08:00
grafana Review build-grafana-container docs: stamp reviewed, fix cross-links 2026-02-28 07:28:06 -08:00
knowledgebase Replace indri-runner-logs with general-purpose runner-logs Typer CLI (#244) 2026-02-22 10:20:11 -08:00
operations
plans Document AirPlay cross-VLAN firewall rules and fix rule ordering 2026-02-24 20:49:31 -08:00
ringtail
zot Migrate upstream mirrors to mirrors/ Forgejo org (#265) 2026-02-24 20:43:14 -08:00
agent-change-process.md C2: Build authentik from source (Mikado chain) (#274) 2026-03-01 13:45:00 -08:00
how-to.md C2: Build authentik from source (Mikado chain) (#274) 2026-03-01 13:45:00 -08:00