Skip to content

Overview and prerequisites

This section is for the person installing the platform. If you are a user of an installation someone else runs, start at Your first server.

your laptop / CI ──► control plane (containers + PostgreSQL)
│ outbound HTTPS, opened by the region
┌──────┴──────────────────────────────┐
│ region: agent VM │
│ ├─ Proxmox VE cluster │
│ ├─ storage (ZFS or Ceph) │
│ └─ edge router (public block) │
└─────────────────────────────────────┘

Two independent deployables: the control plane (anywhere that can run containers and PostgreSQL) and one agent virtual machine per region (inside the region). They are updated separately and neither blocks the other.

Settle all of these before creating anything. Two of them are very expensive to change later.

#RequirementNotes
1A Proxmox VE clusterAny node count. Three or more if you want quorum
2Shared or replicated storageCeph, or ZFS with replication. zone9 places disks; it does not manage the backend
3A routed public IPv4 blockRouted, not bridged. Confirm with your upstream that the whole block is routed to your edge’s WAN address — this is easy to assume wrongly and painful to discover late
4An edge router you can programFortiGate today. Others need an adapter
5A tenant address planMust not overlap anything in your datacentre. Write it down before creating anything — renumbering an EVPN fabric later is not a small job
6Somewhere to run the control planeKubernetes is what production uses; a container host works
7A PostgreSQL databaseManaged or self-run
8A DNS provider accountCloudflare, if you want managed DNS and TLS
9Outbound HTTPS from the regionThe only network requirement. No inbound rule

Items 3 and 5 are the ones to get right up front.

  1. Prepare Proxmox — roles, tokens, pools. Nothing else works without the right privileges
  2. Network and edge — SDN fabric, the public block, the edge policy
  3. Deploy the control plane — containers, database, schema
  4. Region agent — the VM that runs jobs in your region
  5. Region configuration — the file that describes your region to the agent
  6. Machine images — templates users create servers from
  7. First tenant — an organisation, a pool, a server

Steps 1 and 2 are operator work with your own credentials. From step 3 onwards you are configuring zone9.

zone9 does not manage your infrastructure, and this is a design boundary rather than a gap:

  • Hypervisor node configuration and patching
  • Physical switches, VLAN trunks, cabling
  • The storage backend and its encryption
  • The edge router’s own policy and routing
  • Backup — use Proxmox Backup Server
  • The control plane’s own availability

A control plane that also reconfigures switches and hypervisor nodes is one whose bug takes the datacentre with it. See What zone9 is.

Placeholders are written as <angle brackets>. Substitute your own values; nothing here contains a real address from any installation.