What is an Environment?
An environment is an isolated namespace where you deploy your application:- Isolated Infrastructure - Each environment has its own services, volumes, and configuration
- Separate Secrets - Environment variables don’t leak between environments
- Independent Scaling - Production can have 5 replicas while dev has 1
- Version Control - Full deployment history with rollback to any previous state
Common Environment Types
Creating an Environment
From the environment dropdown in the top bar:- Click New Environment
- Enter an environment name
- Under Starting point, choose Clone from existing (and pick the source environment) or Empty environment
- Click Create, then apply when you’re ready to deploy
Free plans are limited to 1 environment across the whole organization. Pro and Enterprise plans have no limit.
Environment Isolation
Each environment is completely isolated: Separate Namespaces:- Services in “production” cannot communicate with services in “staging”
- Private networking only works within the same environment
- Different environment variables per environment
- Different secrets (database passwords, API keys)
- Different resource allocations (CPU, memory, replicas)
- Deploy to production without affecting staging
- Each environment has its own deployment history
- Rollback independently per environment
Cloning an Environment
Clone from existing creates a complete, isolated copy of your infrastructure. All services, configuration, and volume definitions are duplicated to a new environment where you can experiment safely.What Gets Copied
Copied:- All services (containers and functions) with their images
- Resource allocations (CPU, memory, replicas)
- Networking configuration (HTTPS endpoints, TCP proxies)
- Volume definitions and mount paths
- Service connections and dependencies
- Environment variables, including their values
- Volume data (volumes are created empty)
- Deployment history (starts fresh)
- Logs and metrics
The Variable Review Step
After you name the environment and pick a source, Suga shows every variable it found, grouped by service. Each one has a checkbox and an editable value, so you can drop or change anything before the environment is created. Variables marked sensitive, and values Suga detects as secrets, start unchecked. Everything else starts checked. Tick a sensitive variable to carry its value over, or leave it off and set a fresh value later.After Cloning
- Fill in any variables you skipped - Set passwords, API keys, and other secrets you chose not to copy.
- Apply - The new environment starts undeployed. Click Apply to provision infrastructure.
- Populate Data - Volumes are empty. Load data from backups or seed manually if needed.
Clone vs. Empty
Clone when:- Testing changes to existing infrastructure
- You need environment parity, such as staging matching production
- Debugging issues that require exact replication
- Starting a new architecture from scratch
- Existing environments don’t match what you need
- Experimenting with a completely different setup
Switching Environments
- Click the environment dropdown in the top-right
- Select the environment
- The canvas updates to show that environment’s infrastructure
Deleting Environments
1
Switch to Environment
Use the environment selector to switch to the target environment.
2
Delete
Open the environment dropdown in the top bar, choose Delete Environment, and confirm.
Common Questions
Can services in different environments communicate?
Can services in different environments communicate?
No, environments are isolated. Private networking only works within the same environment. For cross-environment communication, use public networking (HTTPS/TCP).
Can I clone while the environment is running?
Can I clone while the environment is running?
Yes. Cloning captures configuration, not running state, and it is instant.
Does cloning copy volume data?
Does cloning copy volume data?
No, volumes are created empty. Load data from backups or seed manually if needed.
Can I have different Docker images per environment?
Can I have different Docker images per environment?
Yes. Each environment can use different image tags (e.g., production uses
v1.0.0 while staging uses v1.1.0-beta).Can I clone between projects?
Can I clone between projects?
No, cloning only works within the same project.
Can I merge changes back?
Can I merge changes back?
Environment merging is planned for a future release. For now, apply changes from the cloned environment to the original by hand.