Terraform
Terraform Provider
Install and configure the DevZero Terraform provider.
Terraform Provider
The DevZero Terraform provider manages clusters, workload policies, and node policies via HCL. There is also a Terraform module (devzero-inc/cluster/devzero) for one-step cluster setup including operator installation.
Provider Configuration
Add the DevZero provider to your required_providers block and configure it:
terraform {
required_providers {
devzero = {
source = "devzero-inc/devzero"
}
}
}
provider "devzero" {
team_id = var.devzero_team_id
token = var.devzero_token
}Authentication
| Parameter | Environment Variable | Required | Description |
|---|---|---|---|
team_id | DEVZERO_TEAM_ID | Yes | Your team or organization ID |
token | DEVZERO_TOKEN | Yes (sensitive) | Personal access token |
url | DEVZERO_URL | No | API endpoint (default: https://dakr.devzero.io) |
Get your personal access token from User Settings and your team ID from Organization Settings.
Cluster Module
For a quick way to register a cluster and install DevZero operators in one step, use the devzero-inc/cluster/devzero module:
module "devzero_cluster" {
source = "devzero-inc/cluster/devzero"
cluster_name = "my-cluster"
}This module handles cluster registration and operator installation automatically.
Workflow
terraform init # Download the provider
terraform plan # Preview changes
terraform apply # Apply changesResources
The provider manages the following resources:
- Clusters -- register Kubernetes clusters with DevZero
- Workload Policies -- configure workload rightsizing rules and attach them to clusters
- Node Policies -- configure Karpenter-based node provisioning