Environment
What it is
An environment is a registered place where containers can be created. Concretely: a Docker host or a Kubernetes cluster that you own, with a controller attached that takes instructions from PlatformSmith and drives the local container runtime.
What it is not
It is not a deployment stage. The word "environment" usually means dev/staging/prod. Here it means a piece of compute. You can register three of them and call them dev, staging and prod — but the platform attaches no meaning to the names, and nothing promotes between them.
Types
| Type | What it is |
|---|---|
| Host with Docker | A machine running Docker; your containers are Docker containers |
| Kubernetes | A cluster you bring; your containers are pods |
The type is fixed by what you connect. Before a controller has attached, switching the type edits the same environment rather than creating a second one; after it has attached, the environment's type is settled.
Roles
An environment carries a role saying what it is for. You get one of each at signup:
| Role | What it is for |
|---|---|
sandbox | Interactive work — where your agents run. The workspace default |
build | Building project images |
deployment | Long-running service pods |
Sandboxes can only be launched into a sandbox or deployment environment, which is why the interactive one is the default.
Name, type and default-ness are all editable. Role is not — no request carries one. A wrong role is fixed by deleting the environment and creating a replacement, which is precisely why signup seeds one of each rather than making you guess.
One constraint is worth knowing before you plan: a build environment must be a Host with Docker, because building images needs Docker itself. A Kubernetes-only organization has nowhere to build.
Who creates it
Signup creates three — one per role, all Docker, with sandbox as the workspace default. What
they lack is a controller, which needs a host only you can provide.
→ What signup creates
You can create more at any time — a second Docker host, a Kubernetes cluster, a bigger machine.
Lifecycle
Create → attach a controller → in use. An environment can exist without a controller (that is what Connect it later leaves you with); it is saved and simply cannot run anything yet. You can re-attach a controller later to move an environment to a different host.
How it relates to workspaces and projects
An environment belongs to a workspace, and has no link to any project. Any project in the workspace can be launched into it. When you launch, you pick the pair.
The common mistake
Creating one environment per project. Environments are compute, and compute is shared. One Docker host serves every project in the workspace. Create a second environment when you need a different machine — a bigger one, a different network, a cluster — not when you start a new project.