Tenants

List, create, rename. Admin only for writes.

Open Tenants (/tenants). Admin writes.

A tenant with slug default is seeded. Omit tenant_id on prefix create to use it. Most sites never add a second tenant.

Create a tenant (slug + name), then attach prefixes. Rename patches name only. Plan can filter by tenant.

Readonly can list. API: GET/POST /api/v1/tenants, PATCH /tenants/{id}.

A tenant-scoped operator cannot delete or patch another tenant’s reservations, assignments, pools, or DHCP options. Attaching a pool to a missing class, or a class from another tenant, is refused.

Isolated networks

A tenant slug scopes IPAM and tokens. DHCP is tenant-blind — subnet selection is giaddr / link-selection / interface, not tenant_id. Two tenants with the same CIDR on one cluster are undefined.

Non-overlapping plans on one cluster are fine. If two networks must not share a DHCP server — the same RFC1918 numbers on isolated VLANs, a site that must not be scanned from another, different DNS, or different upgrade windows — run two clusters. Fleet is how you operate both from one login.