Skip to main content
Environments in Varo Cloud represent deployment targets for your project. Each project ships with three default environments — development, staging, and production — giving you a structured pipeline from local iteration all the way to live traffic. You can also create custom environments to match your team’s workflow, each with its own configuration, variables, and access controls.

Default environments

Every new Varo Cloud project is provisioned with three ready-to-use environments. Each environment is isolated, meaning deployments, variables, and secrets in one environment do not affect the others.

Development

Intended for active development and fast iteration. Deployments here are lightweight, with relaxed resource limits and verbose logging enabled by default. Use this environment to test changes before promoting them upstream.

Staging

A pre-production environment that mirrors your production configuration as closely as possible. Run integration tests, QA checks, and stakeholder reviews here before promoting to production.

Production

Serves live user traffic. Production deployments are subject to your plan’s full resource allocation, uptime SLA, and alerting rules. Changes should always pass staging validation before reaching this environment.

Create a custom environment

In addition to the three default environments, you can create custom environments for use cases such as feature branches, load testing, or client previews. To create a custom environment:
  1. Open your project in the Varo Cloud dashboard.
  2. Navigate to the Environments tab.
  3. Click New Environment.
  4. Enter a name for the environment and select its type (Development, Staging, or Production behavior profile).
  5. Click Save.
The new environment appears in your environment list and is immediately available as a deployment target.

Environment variables and secrets

Each environment maintains its own set of environment variables that are injected into your application at runtime. Variables are encrypted at rest and are never exposed in build logs or API responses after creation. To add or update variables, navigate to Settings → Environment Variables within your project, select the target environment, and click Add Variable. Varo Cloud supports two types of variables:
TypeDescription
PlainVisible in the dashboard after creation. Use for non-sensitive configuration like feature flags or API endpoint URLs.
SecretMasked in the dashboard after saving. Use for sensitive values like database passwords, third-party API keys, and tokens.
Variables added to a specific environment are only available to deployments running in that environment. They are not shared across environments unless you explicitly duplicate them.

Promoting between environments

The recommended workflow in Varo Cloud is to deploy to staging first, validate your changes, and then promote the same deployment artifact to production. Promoting preserves the exact build so you are never shipping untested code to production. To promote a deployment from the dashboard:
  1. Go to the Environments tab in your project.
  2. Locate the deployment you want to promote in the staging environment.
  3. Click Promote and select Production as the target environment.
  4. Confirm the promotion.
You can also trigger a promotion programmatically using the API by creating a new deployment against the production environment and referencing the artifact from your staging deployment:
curl -X POST https://inference.varo.cloud/v1/deployments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"project_id": "proj_abc123", "environment": "production", "source_deployment_id": "dep_abc123"}'
Replace proj_abc123 with your project ID and dep_abc123 with the ID of the staging deployment you want to promote. The API returns the new production deployment object on success.

Environment-specific configuration

Any configuration value set at the environment level takes precedence over project-level defaults. This allows you to define sensible defaults for your entire project while overriding specific values — such as log verbosity, replica counts, or feature flags — on a per-environment basis. For example, you might set LOG_LEVEL=info at the project level and override it with LOG_LEVEL=debug in the development environment without touching staging or production.
Keep your production environment variables strictly controlled. In Varo Cloud, you can restrict which team members can view or edit production-level variables by assigning the Viewer role to developers who only need access to development and staging environments.