Applies to: All 2cld federation sites (cf, sl, wf)
The 2cld federation is a set of geographically distributed nodes connected via encrypted overlay network (ZeroTier). Each node runs a standard set of services and replicates data to the others.
| Type | Purpose | Examples |
|---|---|---|
| Compute | VMs, containers, services | Proxmox hosts, Hyper-V hosts |
| Storage | File storage, backup targets | NAS devices, ZFS pools |
| Gateway | Routing, DNS, VPN | MikroTik, pfSense |
| Dev/CAVE | Frozen dev environment | Dedicated dev machines |
Each federation site follows the same pattern:
site/
├── docs/ ← site-specific documentation
│ ├── devices.md ← device inventory
│ ├── services.md ← running services
│ ├── network.md ← network topology
│ └── log/ ← session logs (may be gitignored)
├── ops/ ← operational procedures
│ ├── backup/ ← backup scripts + state
│ ├── monitor/ ← health check scripts
│ └── sensitive/ ← credentials (gitignored)
├── .mkdocs/ ← site documentation build
└── README.md ← site overview
Nodes connect via encrypted overlay network:
Site A
/ \
/ \
v v
Site B <---> Site C
Each site can push backups to both other sites. Each site can pull from both others. No single point of failure for backup data.
| Field | Description |
|---|---|
| Source | Machine providing the share |
| Target | Machine mounting the share |
| Drive letter / mount | How it appears on the target |
| Purpose | What data flows through this share |
| Transport | Overlay network (encrypted) |
Each site maintains health check scripts in ops/monitor/:
check-services.sh — verify local services runningcheck-connectivity.sh — verify reachability of other sitescheck-backup-state.sh — verify backup freshnessOutput follows the .backup-state format (see sensitive-data-pattern).
ops/sensitive/ (gitignored)docs/devices.md