1 Ecosystem Choices
Note
The three big decisions: immutable OS, container runtime, and identity provider. Everything else follows from these.
1.1 The three-layer model
1.2 Why CentOS Stream
- CentOS Stream 10 as RHEL’s upstream, not its rebuild
- Stable kernel ABI for out-of-tree modules (ZFS, NVIDIA)
bootcis a Red Hat project; CentOS Stream is its primary target- Alternative considered: Fedora (faster kernel, less stable ABI, shorter support window)
1.3 Why Podman over Docker
- Rootless by default, no daemon, no root socket
- Quadlet units are systemd-native: dependencies, ordering, journal logging for free
- Pod model maps naturally to sidecar patterns (app + Caddy per pod)
- OCI compatible: same images, same registries
1.4 Why Authentik over the alternatives
1.5 Upstream health as a selection criterion
- Every component here is selected partly on the vitality of its upstream: release cadence, security response, community size
- Single-maintainer stack means you inherit upstream’s maintenance posture
- Components that stall or go hostile get replaced; the image-based model makes this cheaper than it sounds