The centralized observability platform for FUTO services. A single Talos Kubernetes cluster per environment, stretched across multiple OVH datacentres and managed by Flux. It hosts the metrics, dashboards, and alerting stack, and is the central metrics store that other FUTO clusters remote-write into.
Built for geographic resilience with single-cluster operational simplicity: three control planes in low-latency DCs hold one etcd quorum, three bare-metal workers carry the observability workload, and everything talks over a private OVH vRack.
Status: both environments are built and running — o11y-staging and o11y-production.
| Guide | Covers |
|---|---|
| 01 — Bootstrap | Standing up an environment: one-time prep, Terragrunt apply order, operator access, common operations |
| 02 — Infrastructure architecture | OVH compute, hardware specs, vRack networking, IPLB ingress, cost |
| 03 — Cluster architecture | Talos, Kubernetes, host firewall, and Flux GitOps |
| 04 — Application architecture | Envoy ingress, VictoriaMetrics central store, Grafana, CloudNativePG, supporting operators |
deployment/modules/
├── ovh/account/ # cloud project, vRack, private network, CPs, workers, IPLB, DNS
├── netbird/cluster/ # per-env mesh: node group, setup key, vRack network route, access policy
├── talos/cluster/ # machine secrets, CP + worker configs, bootstrap, ingress firewall
└── kubernetes/helm/ # Flux Operator + Instance, env-scoped secrets
kubernetes/
├── apps/
│ ├── base/ # chart sources + reusable manifests
│ └── <env>/ # env overlay: Flux Kustomizations (version pins + dependsOn)
└── clusters/
└── <env>/
├── apps.yaml # cluster-apps entry point (the Flux Instance points here)
└── cluster-settings.yaml # per-env ConfigMap: APP_DOMAIN, CLUSTER_NAME
State lives in S3 under yucca/o11y/v3/<module>/<env>. Secrets and OVH/NetBird tokens come from 1Password via op run and deployment/.env.