Services
The service directory is not hand-duplicated here. The authoritative list of services,
hostnames, and endpoints lives in version-controlled source-of-truth files and in the live
cluster — this page is the jumping-off point to both. For a browsable rendering of the
catalogs, see the Directory — regenerated automatically from
chnm/systems whenever a catalog changes, provenance-stamped, and the successor to the
retired index.rrchnm.internal dashboard.
Source of truth
Every service’s identity, hostname, and placement is defined once, in the chnm/systems
repo under vibes/infra/:
fleet.yaml— every instance (host / IP / MAC / provisioning class); the single source both OpenTofu and Ansible read.ansible/vars/k0s-gateways.yaml— Gateway hostnames + IPs (feeds Knot DNS A records and Cilium lbipam); the authoritative list of*.rrchnm.internal/*.rrchnm.orghostnames.ansible/vars/services-kubernetes.yaml— the public-edge (HAProxy IP-allowlisted) endpoints.
Live state
The cluster is the freshest directory — query it directly instead of trusting a snapshot:
kubectl get httproute -A # every routed hostname -> backendmake status # instances / nodes / deploysansible-inventory --graph # the fleet group treeansible-inventory --host <name> # one host's full varsCommon consoles
The handful of human-facing UIs people actually type. Authoritative hostname list is
k0s-gateways.yaml above; this table is convenience only.
| Service | URL |
|---|---|
| Docs + tldraw board | docs.rrchnm.org (docs at /, board at /board) |
| Git forge (Forgejo) | forge.rrchnm.internal · forge.rrchnm.org |
| Argo CD | argo.rrchnm.internal |
| Grafana | grafana.rrchnm.internal |
| Hubble (network) | hubble.rrchnm.internal |
| OpenBao (vault) | bao.rrchnm.internal |
| OCI registry (Zot) | oci.rrchnm.internal |