Search docsFilter pages by title

Tenants, groups, and networks

This page explains the three foundational objects used to model ownership and isolation in Nanami.

Tenant

A tenant is the top-level boundary.

It scopes:

  • users,
  • groups,
  • networks,
  • nodes and gateways,
  • roles and settings.

Diagram (text)

Tenant -> Groups -> Networks -> Nodes/Gateways

Relation to other concepts

  • Every group belongs to exactly one tenant.
  • Every network belongs to one group and one tenant.
  • Access decisions are evaluated within tenant scope first.

Group

A group is an ownership unit inside a tenant.

Typical mappings:

  • platform team,
  • product squad,
  • environment team,
  • regional operations unit.

Groups help avoid policy sprawl by giving each team a clear operational area.

Diagram (text)

Tenant (acme) -> Group (platform) -> Networks (prod-eu, prod-us)

Relation to other concepts

  • Networks are attached to groups.
  • User access can be delegated at group scope.
  • Incident response and change ownership are easier when groups reflect real teams.

Network

A network defines a private address space and policy context.

Each network has:

  • a name,
  • a CIDR,
  • status/lifecycle state,
  • membership relationships to nodes.

Diagram (text)

Group -> Network (10.42.0.0/16) -> Node memberships

Relation to other concepts

  • Node membership is evaluated per network.
  • Routing policy (ingress/egress behavior) is defined per network and can be overridden.
  • Gateway and gateway selection decisions are made in network context.

Practical modeling guidance

  1. Start from ownership, not from IP ranges.
  2. Create groups that mirror real operators.
  3. Add networks per environment/region with non-overlapping CIDRs.
  4. Keep naming and ownership consistent before scaling node count.

Anti-patterns to avoid

  • One giant network for all teams.
  • Groups that do not map to any real operational ownership.
  • Overlapping CIDRs across networks unless you have a deliberate translation strategy.
Edit this page