Skip to content

Architecture Decision Records

Every meaningful component in Atlas has a corresponding ADR explaining why it was picked over its alternatives. ADRs are numbered, immutable, and only superseded — never silently rewritten. The numbering follows the causal order of the decisions: first the orchestrator, then the OS, then how it is provisioned and deployed, then the platform building blocks layered on top.

Index

Foundations

#Title
001Kubernetes over Docker (Swarm / Compose)
002Talos Linux over k3s on Debian

IaC and GitOps

#Title
003OpenTofu over Terraform and Pulumi
004Argo CD over Flux

Deployed solutions

#Title
005Traefik as ingress controller
006cert-manager for TLS certificates
007local-path-provisioner + Restic for storage and backup
008Authentik as OIDC identity provider
009Infisical as secret manager
010Harbor as image registry
011Prometheus + Loki + Alertmanager + Grafana for observability
013SonarQube for code quality (Postgres via CloudNativePG)
014Home Assistant for home automation

Bootstrap orchestration

#Title
012In-cluster automation owns the identity/secret bootstrap handshake (L3)