Architecture¶
System design documentation and architectural decisions for the fzymgc-house cluster. This section covers the high-level infrastructure design, component interactions, and the reasoning behind key technical choices.
In This Section¶
- :material-view-dashboard: **[System Overview](overview.md)**
---
High-level architecture, component relationships, and infrastructure layers
- :material-file-document-check: **[Architecture Decisions](decisions/index.md)**
---
Architecture Decision Records (ADRs) documenting significant technical choices
Three-Layer Architecture¶
The cluster follows a three-layer architecture for infrastructure management:
graph TB
subgraph Layer1[Layer 1: Ansible]
A[Node Configuration]
B[k3s Installation]
C[Base OS Setup]
end
subgraph Layer2[Layer 2: Terraform]
D[Vault Configuration]
E[Authentik Setup]
F[Grafana Dashboards]
end
subgraph Layer3[Layer 3: ArgoCD]
G[Application Manifests]
H[GitOps Sync]
I[Continuous Deployment]
end
Layer1 --> Layer2 --> Layer3
| Layer | Tool | Purpose |
|---|---|---|
| 1 | Ansible | Cluster deployment, node configuration, k3s installation |
| 2 | Terraform | Infrastructure configuration (Vault, Authentik, Grafana) |
| 3 | ArgoCD | Application manifests, GitOps-managed deployments |
Hardware Platform¶
- Platform: 2x TuringPi 2 boards (alpha/beta)
- Compute: 8x RK1 modules (3 control plane, 5 workers)
- OS: Armbian 25.08 with systemd-networkd
- Networking: Calico CNI with kube-vip for API server HA