Unisrv logoUnisrv.io
Service Primitives

Accounts & Environments

Who owns what, and the copies of a project you deploy to.

Your account holds what's shared: nodes, claimed hosts, registry credentials and quotas. Everything you deploy lives in an environment: one copy of a project, like its default environment, staging or pr-42.

An account holds nodes, hosts, registry credentials and quotas, shared by everything it owns. It also holds projects. The project webshop has three environments, the unnamed default, staging and pr-42, each with its own slug and its own services, deployments, networks, volumes and instances.

Environments

An environment is a project plus an optional name. The environment without a name is the project's default.

Create environments from the environment picker in the dashboard, or let unisrv up create them. The project comes from unisrv.hcl and the name from --env. Without --env, unisrv up uses the default environment.

The same file applied under another name is an independent copy, which makes preview environments a two-line CI job:

unisrv up --env pr-42 --var tag=$GIT_SHA
unisrv destroy --env pr-42

Each environment gets a random slug, and its services are reachable at {service}-{slug}.unisrv.dev. The slug can't be chosen. Use hosts for an address you control.

unisrv destroy deletes everything in the environment, volumes included.

On this page