Atlas Repository Specification
Atlas is a monorepo for Frappe Cloud V2 VM infrastructure. It holds one Frappe app and six other components in one Git repository.
Components
| Component | Path | Owns |
|---|---|---|
| Atlas app | atlas/ | Frappe app |
| Metal | metal/ | Host VM management |
| HTTP proxy | services/http-proxy/ | Regional proxy |
| IPv6 router | services/ipv6-router/ | Public IPv6 translation |
| WG Mesh | services/wg-mesh/ | Private VM network |
| WG gateway | services/wg-gateway/ | Customer access to tenant VMs |
| Control cluster | services/control-cluster/ | Authentication and replication for service control daemons |
clients/ holds the generated API clients. llm/ and .greptile/ hold review rules. .vitepress/ builds the docs site.
Rules
- Keep component code inside its component. Use an API or contract across components.
- The root has no
go.modorgo.work. Run Go commands inside the component.
Continuous integration
pages.ymlpublishes the VitePress site on a push todevelop.tests.ymlandlinter.ymlhave no path filter, so required checks always report.- Each
tests.ymljob skips its steps when.github/scripts/changed-paths.shfinds no match. Includetests.ymland the script in each pattern.
| Job | Runs for |
|---|---|
| Atlas | Every pull request |
| Metal | metal/ |
| WG Mesh | services/wg-mesh/ |
| Control cluster | services/control-cluster/ |
| WireGuard gateway | services/wg-gateway/ and services/control-cluster/ |
| HTTP proxy | services/http-proxy/ and the proxy API client |