Code map
Use this page to go from a topic to its code. Each row names the handbook page, the specification (SPEC.md) that owns the details, and the place to start in the code. Read the specification before a structural change.
Atlas app (Python, Frappe)
Tests sit beside the code as test_*.py.
Metal (Go, metald)
| Area | Handbook | Specification | Start in code |
|---|---|---|---|
| Daemon startup and config | Daemon and API | metald | Daemon entry |
| HTTP API | Daemon and API | API | Routes |
| VM records and reconcile | Reconciliation | VM | Manager, reconciler |
| Firecracker and systemd | VM runtime | Firecracker | Machine |
| Disks, images, snapshots | Storage | Storage | Storage package |
| VM networking | Networking | Network | Linux allocator |
| Migration | Metal migration | Migration | Migration package |
| Host sync | Host sync | Host | Host service |
| Package map | Metal overview | Internal packages | Internal packages |
Tests sit next to the code as *_test.go. Host integration tests need a Linux host. See integration testing.
Network services
| Service | Handbook | Specification | Start in code |
|---|---|---|---|
| WG Mesh | Network design, development | WG Mesh | BPF rules, CLI |
| HTTP proxy | HTTP proxy | HTTP proxy | Control daemon, OpenResty |
| IPv6 router | IPv6 router | IPv6 router | BPF rules |
The repository map lists every component and its CI job.