Skip to content

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