Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

114 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yucca O11y

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.

Documentation

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

Repository layout

deployment/modules/
├── ovh/account/          # cloud project, vRack, private network, CPs, workers, IPLB, DNS
├── netbird/cluster/      # per-env mesh: vRack route, mesh-gateway VIP + DNS, pod egress, policies
├── netbox/cluster/       # IPAM registration of the ranges the other modules allocate
├── talos/cluster/        # machine secrets, CP + worker configs, bootstrap, ingress firewall
└── kubernetes/helm/      # CoreDNS, Flux Operator + Instance, bootstrap-settings, env secrets

kubernetes/
├── apps/
│   ├── base/<app>/       # ks.yaml (the app's Flux Kustomization) + app/ (chart source + manifests)
│   └── <env>/<ns>/       # namespace overlay: which base apps run; deltas from base as patches/<app>.yaml
├── components/           # shared kustomize Components (targetNamespace replacement)
└── clusters/
    └── <env>/
        ├── apps.yaml             # cluster-apps entry point (the Flux Instance points here)
        └── cluster-settings.yaml # per-env CLUSTER_* ConfigMap (BOOTSTRAP_* comes from Terraform)

State lives in S3 under yucca/o11y/v3/<module>/<env>. Secrets and OVH/NetBird tokens come from 1Password via op run and deployment/.env.

About

o11y stack for yucca

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages