Tags, environments, secrets, webhooks, and dependencies are supporting resources you define alongside monitors and alert channels.
Tags organize monitors for filtering and alert routing:
tags:
- name: production
color: "#10b981"
- name: api
color: "#3b82f6"
- name: database
| Field | Type | Required | Description |
|---|
name | string | Yes | Tag name, unique within the organization |
color | string | — | Hex color code (e.g., #10b981) |
Reference tags by name in monitors:
monitors:
- name: API Health
tags: [production, api]
Environments
Environments represent deployment stages with variable substitution:
environments:
- name: Production
slug: production
isDefault: true
variables:
BASE_URL: https://api.example.com
TIMEOUT: "30"
- name: Staging
slug: staging
variables:
BASE_URL: https://staging-api.example.com
TIMEOUT: "60"
| Field | Type | Required | Description |
|---|
name | string | Yes | Human-readable name |
slug | string | Yes | URL-safe identifier (lowercase, hyphens, underscores) |
isDefault | boolean | — | Whether this is the default environment |
variables | map | — | Key-value pairs for variable substitution |
Reference environments by slug in monitors:
monitors:
- name: API Health
environment: production
Secrets
Secrets store sensitive credentials in the DevHelm vault. Define them in YAML and reference them in monitor auth blocks:
secrets:
- key: API_TOKEN
value: ${API_TOKEN}
- key: BASIC_CREDS
value: ${BASIC_AUTH_CREDENTIALS}
| Field | Type | Required | Description |
|---|
key | string | Yes | Secret name (used to reference in auth blocks) |
value | string | Yes | Secret value (use ${VAR} to inject from environment) |
Reference secrets by key in monitor authentication:
monitors:
- name: Protected API
type: HTTP
config:
url: https://api.example.com/internal
auth:
type: BearerAuthConfig
secret: API_TOKEN
Secret values are write-only. The CLI compares SHA-256 hashes for drift detection — actual values are never read back from the API.
Webhooks
Platform webhooks push events from DevHelm to your HTTP endpoints:
webhooks:
- url: https://hooks.example.com/devhelm
events: [monitor.created, incident.created, incident.resolved]
description: Event forwarder
enabled: true
| Field | Type | Required | Description |
|---|
url | string | Yes | Endpoint URL (also used as the unique identifier) |
events | string[] | Yes | Event types to subscribe to |
description | string | — | Human-readable description |
enabled | boolean | — | Whether the webhook is active (default: true) |
Dependencies
Track third-party services from the Status Data catalog:
dependencies:
- service: github
alertSensitivity: INCIDENTS_ONLY
- service: aws-s3
alertSensitivity: MAJOR_ONLY
component: us-east-1
| Field | Type | Required | Description |
|---|
service | string | Yes | Service slug from the catalog |
alertSensitivity | string | — | ALL, INCIDENTS_ONLY, or MAJOR_ONLY |
component | string | — | Specific service component to monitor |
Next steps
Monitors
Define monitors that use tags, environments, and secrets.
File format
Full YAML schema overview.