Internal Networking

Service-to-service DNS and organization-managed networks.

Inside an environment, services reach each other by name over the managed zensailor-net network. No port mapping needed: a backend service connects to a database service at postgres://db:5432 exactly as a local service would.

Organization-managed networks#

Beyond the default environment network, an organization can create dedicated networks and attach services to them. You stay in control of the shape:

  • create a network for a service, optionally internal (no public egress),
  • attach or detach services, and remove a network when nothing uses it,
  • give a service up to 10 DNS aliases per network,
  • choose a Compose target when the stack defines one.

Changes apply on the next redeploy — a shared network checkbox marks the service before rebuild, and the aliases resolve once it lands.

Naming conventions#

  • Services resolve by their service name (and Compose target name) within the environment.
  • Managed databases additionally publish a collision-safe alias, so a provisioned database is reachable at a stable private name even if two environments provision the same engine.

CLI#

BASH
# Networks attached to a service
zensailor network list <service-id>

# Create an internal network with an alias
zensailor network create <service-id> --name analytics --alias metrics --internal

# Attach / detach / remove
zensailor network attach <network-id> <service-id>
zensailor network detach <network-id> <service-id>
zensailor network rm <network-id>