Skip to Content
Core ConceptsEnvironments

Environments

An environment is an isolated sandbox that simulates the production environment for an AI agent. It packages your agent’s Docker image together with the simulated services, secrets, and configuration it needs to run — creating a self-contained world where your agent can be tested and trained.

What’s in an Environment?

Each environment contains:

  • Agent images — Versioned Docker images of your agent, tagged and stored in the Veris registry
  • Service configuration — Which simulated APIs are enabled (Salesforce, Calendar, Stripe, etc.) and their DNS aliases
  • Secrets and variables — API keys, database URLs, and other configuration injected at runtime
  • History — A record of every image push, configuration change, and simulation run

Creating an Environment

Environments are created when you initialize a project:

veris init --name "my-support-agent"

This registers the environment with Veris and saves the environment ID to .veris/config.yaml. The environment is immediately ready to receive image pushes and run simulations.

Pushing Agent Images

Each push creates a new image tag in the environment:

# Push with default "latest" tag veris env push # Push with a named tag veris env push --tag v1.0

Tags let you version your agent and roll back if a new version regresses. When creating a simulation run, you select which image tag to use.

Environment Variables

Variables are injected into the simulation container at runtime. They’re stored securely on the Veris platform — never baked into Docker images:

# Set a secret (encrypted at rest) veris env set OPENAI_API_KEY=sk-... --secret # Set a non-secret variable veris env set LOG_LEVEL=info DB_HOST=localhost # List all variables veris env vars # Remove a variable veris env rm LOG_LEVEL

Variables set with veris env set take precedence over those defined in veris.yaml under agent.environment. Use veris env set --secret for sensitive values like API keys.

Multiple Environments

Use separate environments to isolate different stages or configurations:

  • Development — Rapid iteration with local runs and frequent pushes
  • Staging — Full simulation runs with production-like configuration
  • Production testing — Final validation before deploying a new agent version

Profiles

The CLI supports profiles for managing multiple environments. Each profile has its own credentials and environment ID:

# Login to a different profile veris --profile staging login # Push to staging environment veris --profile staging env push # Switch default profile veris profile use staging

Profile configuration is stored in ~/.veris/config.yaml (global) and .veris/config.yaml (per-project).

Using the Console

Navigate to Environments to see all your environments as cards. Each card shows the environment name, configured services, tag count, and creation date.

Click an environment to view its details: all image tags, push history, and configured variables. The sidebar has an environment selector dropdown — selecting an environment scopes scenarios, runs, and other resources to that environment.

The Images page provides a cross-environment view of all Docker image tags, showing which versions have been pushed to each environment and when.

CLI Commands

# List all environments veris env list # Build image without pushing veris env build # Push image to registry veris env push [--tag TAG] [--remote] [--no-cache] # Manage environment variables veris env set KEY=VALUE [--secret] veris env vars veris env rm KEY