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. Each tag keeps a snapshot of the veris.yaml config that was pushed with it.
  • 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

Creating an Environment

Environments are created with:

veris env create --name "my-support-agent"

This scaffolds a .veris/ directory (if needed), registers the environment with Veris, and saves the environment ID to .veris/config.yaml.

Pushing Agent Images

Each push registers an image tag in the environment. Pushing with a new tag name creates a new tag; pushing with an existing tag name overwrites it:

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

If you want separate, comparable versions to simulate against later, push with distinct tag names (v1.0, v1.1, …). Repeatedly pushing the default latest tag overwrites the same record each time. 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:

# Mark as a secret (value masked when listed) veris env vars set OPENAI_API_KEY=sk-... --secret # Plain variable (value shown when listed) veris env vars set LOG_LEVEL=info DB_HOST=localhost # List all variables veris env vars list # Remove a variable veris env vars rm LOG_LEVEL

Variables set with veris env vars set take precedence over those defined in veris.yaml under agent.environment.

Profiles

A profile is a named login — one set of credentials bound to one Veris organization. Use profiles when you work across more than one org on the same machine: for example, your personal sandbox org where you iterate, plus a shared org where you push work you want to hand off.

# Log into your default (personal) profile veris login # Log into a second profile veris --profile acme login # Push against it veris --profile acme env push # Switch the active default veris profile use acme

Profile configuration is stored in ~/.veris/config.yaml (global credentials per profile) and .veris/config.yaml (per-project: which environment ID each profile maps to for this repo).

Using the Console

Navigate to the Environments page 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: the sandbox config from its latest veris.yaml, its environment variables, and its image tags (each row shows the last-pushed timestamp for that tag). The header has an environment selector dropdown — selecting an environment scopes scenarios, simulations, and other resource pages to it.

CLI Commands

# List all environments veris env list # Build and push image veris env push [--tag TAG] # Manage environment variables veris env vars set KEY=VALUE [--secret] veris env vars list veris env vars rm KEY