☸️Kubernetes

  • Layer 2. Two clusters reconciled by FluxCD from clusters/, with ArgoCD layered on for apps sourced from external repositories.

  • Clusters

    • clusters/folly/ β€” primary on-site cluster (optiplex, riptide, shale)

    • clusters/offsite/ β€” backup cluster (retrofit, oldschool)

    • clusters/base/ β€” resources shared by both, referenced by path from each cluster (the multi-cluster pattern)

  • Per-cluster structure

    • flux-system/ β€” FluxCD source-of-truth kustomizations

    • networking/ β€” Cilium, cert-manager, Cloudflare tunnel, Gateway API, external-dns

    • monitoring/ β€” kube-prometheus-stack, Loki, Grafana, promtail (folly only; offsite has no Prometheus)

    • nodes/ β€” Intel device plugins, node-feature-discovery

    • storage/ β€” storage classes and provisioners

    • config/ β€” cluster secrets and the cluster-topology ConfigMap (ADR/0003 Cluster topology single source of truth)

    • bootstrap/ β€” the Terraform that installs flux-operator/flux-instance and labels nodes

  • How things deploy

    • Merge to main β†’ Flux reconciles. Never kubectl apply to author state; kubectl and flux are for inspection or forcing a sync (ADR/0001 GitOps apply model).

    • flux get kustomizations -A
      flux reconcile kustomization <name> -n flux-system
    • Use explicit contexts and namespaces: --context folly / --context offsite.

    • First-party apps deploy as Flux HelmReleases using the app / ai-agent charts from packages/charts/, referenced as packages/charts/&lt;name&gt; against the infra GitRepository.

    • ArgoCD application definitions are Terraform-managed in terraform/argo/.

  • Networking inside the clusters

  • Secrets

Linked references 5

Runbooks/Kubernetes GitOps Change

Use this when changing manifests under clusters/ or inspecting Flux deployment state. Architecture lives in Architecture/Kubernetes and the apply model is ADR/0001 GitOps apply model.

Home

Layer 2 β€” Kubernetes: two clusters (folly on-site, offsite backup) reconciled by FluxCD, described in Architecture/Kubernetes.

Architecture

Layer 2 β€” Kubernetes (Architecture/Kubernetes)