Last updated: July 9, 2026
Infrastructure as Code
Infrastructure as Code (IaC) enables you to define, version, and deploy Dash0 assets through configuration files rather than manual UI interactions. This approach brings software development practices like code review, automated testing, and CI/CD pipelines to observability configuration, ensuring consistency across environments and enabling collaborative asset development.
Dash0 supports managing multiple asset types as code: dashboards, views, check rules, notification channels, synthetic checks, and spam filters. Each asset can be exported from Dash0 to YAML, modified in your code editor, stored in version control, and deployed through automated pipelines.
Available Tools
Dash0 provides three complementary IaC tools, each optimized for different workflows. The Dash0 Operator for Kubernetes is best for GitOps workflows with ArgoCD or Flux. The Dash0 Terraform Provider integrates with existing Terraform pipelines, with state management and drift detection. The Dash0 CLI scripts asset operations for batch deployments and one-off migrations.
All three tools work with the same YAML formats exported from Dash0. Assets managed as code are marked read-only in the UI to prevent drift between your configuration files and live assets. You can delete or clone IaC-managed assets through the UI, but edits must be made in your configuration files and redeployed.
Benefits and Use Cases
Managing Dash0 assets as code provides several advantages over manual UI configuration:
- Version control and audit trails: Every change to dashboards, check rules, or other assets is tracked in Git with commit messages, author information, and the ability to revert to previous versions. This creates a complete audit trail of who changed what and when.
- Code review and collaboration: Configuration changes go through pull requests where team members can review, comment, and approve modifications before deployment. This catches errors early and spreads knowledge across the team.
- Environment consistency: Use the same configuration files across development, staging, and production environments with parameterization for environment-specific values. This ensures production monitoring mirrors lower environments and reduces environment-specific bugs.
- Automated testing and deployment: Integrate asset deployment into CI/CD pipelines with automated validation. Test that check rules trigger correctly, dashboards render properly, and views return expected data before promoting to production.
- Disaster recovery: Configuration files in version control serve as backups. If assets are accidentally deleted or misconfigured, you can restore them by redeploying from Git. This reduces mean time to recovery for observability infrastructure.
- Batch operations and migrations: Update multiple assets simultaneously through code changes rather than clicking through the UI for each one. This is particularly valuable when migrating to new semantic conventions, renaming services, or standardizing dashboard layouts across teams.
Further Reading
- Manage Check Rules as Code: Define and version check rules through configuration files
- Manage Dashboards as Code: Define and version dashboards through configuration files
- Manage Notification Channels as Code: Define and version notification channels through configuration files
- Manage Spam Filters as Code: Define and version spam filters through configuration files
- Manage Synthetic Checks as Code: Define and version synthetic checks through configuration files
- Manage Views as Code: Define and version views through configuration files
- Dash0 API: Public APIs for configuring Dash0 and querying data