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.0Tags 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_LEVELVariables 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 stagingProfile 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