Architecture Decision Records
Decisions that shape RezusCloud's architecture. Each ADR records the context, decision, and consequences of one significant choice. Superseded ADRs are kept for history.
The TF-State Architecture Pivot (2026-06)
The most recent ADRs record a major architectural pivot: RezusCloud moves from bespoke gRPC providers + SideroLink to OpenTofu as the execution engine, with TF state as the single source of truth. This brings a first-class IaC path, reuses the proven talos-iac TF tooling, and keeps RezusCloud self-contained.
| ADR | Title | Status |
|---|---|---|
| 0022 | Exec the Tofu Binary for Reconciliation | Accepted |
| 0021 | TF State as Single Source of Truth (Two Data Planes) | Accepted |
| 0020 | Management Connectivity — IPv6 Direct (v1), WireGuard Mesh (v2) | Accepted |
| 0013 | Config Delivery via user_data and Talos API (SideroLink Rejected) | Accepted (supersedes original) |
| 0012 | Provider-Based Machine Provisioning | Superseded by TF-state model |
| 0014 | Full Talos Cluster Lifecycle | Accepted (transport corrected) |
Foundation
| ADR | Title | Status |
|---|---|---|
| 0001 | CRD-Based Reconciliation | Accepted |
| 0003 | Cilium Only for v1 CNI | Accepted |
| 0004 | Event-Driven Boot (NATS) | Accepted |
| 0006 | Docker-First Platform | Accepted |
| 0009 | Kubernetes-Native API | Accepted |
Product & UX
| ADR | Title | Status |
|---|---|---|
| 0015 | Frontend: templ + HTMX | Accepted |
| 0016 | Auth Scope — Local JWT Users and API Tokens | Accepted |
| 0017 | Dropped Enterprise Features | Accepted |
| 0018 | Audit Log Middleware | Accepted |
| 0019 | ConfigPatch Single Scope | Accepted |
Numbering
ADRs are numbered sequentially. Gaps (0002, 0005, 0007, 0008, 0010, 0011) indicate decisions that were merged, withdrawn, or renumbered during drafting.