Skip to content

Regions

A region is a HomeCloud place to put resources (homelab, eu-central, …). It is not a vendor name. Capacity providers (Hetzner, Scaleway, OVH) bind behind the API — you pick eu-central, not fsn1.

Item Value
List GET /api/v1/catalog/regions
One region GET /api/v1/catalog/regions/{code}
Account default accounts.default_region (usually homelab)

What you see

The console region switcher scopes Compute (and other regional lists) to the selected code. Identity users and billing stay global.

Availability zones are HomeCloud codes too (homelab-a, eu-central-a). Create payloads send region_code and optional az_code — never a vendor location slug.

Isolation (platform vs tenant)

On production lines the Event Bus uses PLATFORM_NATS_URL. Tenant MQ uses TENANT_NATS_URL / NATS_URL. Homelab local may keep a single NATS until an explicit cutover. Do not fall back from the platform bus to tenant MQ.

Logical databases (hc_control, hc_compute, …) are the isolation unit for schema. The homelab still runs one Postgres until that cutover runbook is executed.

Compute naming

The product is Compute. Images are HomeCloud ids: ubuntu-24.04, debian-12, almalinux-9. Object storage is SO (so://). Managed databases are MDB. Private Compute networking uses VPC / subnet / NIC private IPv4 (not vendor “network” names).