Resource Structure

Organizations, projects, environments and services explained.

Every resource in ZenSailor hangs from one hierarchy: Organization → Project → Environment → Service. Each level inherits from the one above it, so configuration flows down and isolation flows up.

Organization#

The top-level entity. Users belong to organizations, and billing, GitHub connections and memberships are managed here. An org can hold many projects, and a user can belong to several organizations — the sidebar has an org switcher for this. Roles are Owner, Admin, Member and Viewer.

Project#

A logical grouping of an application — “Marketing Website”, “API Platform” or “Game Backend”. Projects carry shared environment variables, deploy windows and a default build/run node, and they group environments.

Environment#

Inside a project you have environments (e.g. Production, Staging, Dev). Each environment is isolated: services in Staging cannot reach services in Production over internal DNS, and each environment owns its own variables. An environment can be cloned — services and variables — into another one when you need a parallel stack.

Service#

A service is the actual application container: one deployable unit with its own source, build configuration, domains, volumes and deployments. Services of the same project across environments share their source but keep separate runtime state.

Variables are resolved at deploy time downward: service values override environment values, environment values override project values. Secrets from the service level are injected only into that service's containers.