Terraform
Manage DevZero resources using Terraform
A step-by-step guide for managing DevZero resources using Terraform.
Configuration
The DevZero provider is devzero-inc/devzero.
The modules are:
Skeleton
terraform {
required_providers {
devzero = {
source = "devzero-inc/devzero"
}
}
}
provider "devzero" {
team_id = "team-xyz" # from https://www.devzero.io/organization-settings/account
token = var.devzero_token # from https://www.devzero.io/settings/user-settings
}
# set local kubectx, if applicable
provider "helm" {
kubernetes = {
config_path = "~/.kube/config"
}
}Install operators and connect cluster
module "devzero_cluster" {
source = "devzero-inc/cluster/devzero"
cluster_name = "my-new-cluster"
}Policy and Policy Attachments
resource "devzero_workload_policy" "workload_policy" {
name = "terraform-xyz"
action_triggers = ["on_detection", "on_schedule"]
}
resource "devzero_workload_policy_target" "workload_policy_target" {
name = "terraform-example"
policy_id = devzero_workload_policy.workload_policy.id
cluster_ids = [module.devzero_cluster.cluster_id]
}Execute
terraform init
terraform plan
terraform apply