Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.devhelm.io/llms.txt

Use this file to discover all available pages before exploring further.

Environments separate monitors and configuration by deployment stage so that a probe targeting staging.example.com lives alongside — but never collides with — its production counterpart. Environments power filtered dashboards, scoped deploys, per-stage variable substitution, and per-stage secret overrides.
Define this in code. Environments live in devhelm.yml alongside monitors and tags. See Tags & Secrets for the YAML schema.

Model

PropertyNotes
slugURL-safe identifier (lowercase, hyphens). This is the stable reference used in monitor configs, secrets, and CLI commands. Cannot be changed after creation.
nameHuman-readable label shown in the dashboard. Safe to rename without breaking references.
isDefaultExactly one environment per workspace is marked default. Monitors created without an explicit environment field land in the default.
variablesMap of string key/value pairs available for ${VAR} substitution inside YAML configs at deploy time.

Common patterns

Per-stage URLs

Define environments with a BASE_URL variable and template the monitor:
environments:
  - name: Production
    slug: production
    isDefault: true
    variables:
      BASE_URL: https://api.example.com
  - name: Staging
    slug: staging
    variables:
      BASE_URL: https://staging-api.example.com

monitors:
  - name: Health
    type: HTTP
    environment: production
    config:
      url: ${BASE_URL}/health
Re-deploying with --environment staging swaps the URL — the same monitor definition can be promoted across stages without copy-paste.

Scoped secrets

Secrets can be set globally or scoped to a specific environment. The environment-scoped value wins at deploy time. See Secrets for details.

Dashboard filtering

Every list view (monitors, incidents, alert channels, dependencies) supports an environment filter. Combine with tags for finer slicing — for example, environment=production AND tag=payments.

Managing environments

  1. Open Settings → Environments.
  2. Click Create Environment, choose a slug + display name, and optionally mark it as the default.
  3. Add variables for any per-stage values you want to template into monitors and channels.

Lifecycle and constraints

  • Slugs are immutable. Renaming requires creating a new environment, repointing monitors, then deleting the old one.
  • The default environment cannot be deleted. Promote another environment to default first.
  • Deleting an environment is rejected if monitors or secrets are still scoped to it. Remove or repoint dependents first to avoid an accidental data loss.
  • Variables are resolved at deploy time by the CLI, not at check execution time. Changing a variable does not retroactively rewrite already-deployed monitor configs — re-run devhelm deploy to propagate.

Next steps

Multi-environment guide

End-to-end setup for prod / staging / dev YAML files.

Secrets

Scope credentials per environment.

Tags

Slice resources orthogonally to environments.

environments CLI

Manage from the command line.