NewCompare CPU & GPU pricing across AWS, Azure & GCP

Managing Operators

Install, uninstall, upgrade, and diagnose DevZero operators from the CLI.

Managing Operators

The CLI can install, uninstall, upgrade, and diagnose all six DevZero operators. Each operator is installed as a Helm release on your target cluster.

Available Operators

OperatorCLI NameDescription
Read (zxporter)readRead-only metrics collection — required by all other operators
Workload (dakr)writeResource recommendations and workload optimization
Security (dakr-security)securityVulnerability scanning and compliance reporting
Network (zxporter-netmon)networkNetwork traffic monitoring and cost attribution
Node (dzkarp)nodeNode autoscaling via Karpenter
Cost (trezr)costCloud cost collection and analysis

Installing

# Install the read operator (always install this first)
dz install read

# Install additional operators
dz install write
dz install network

The CLI automatically discovers your cluster from the current kube context, provisions a cluster token, fetches the latest chart version, and installs via Helm.

Install Flags

FlagDefaultDescription
--contextcurrentKube context to target
--namespaceautoNamespace to install into
--versionlatestHelm chart version
--dry-runfalsePreview without installing
--setAdditional Helm values (key=value, repeatable)
--show-valuesfalsePrint computed values YAML and exit
--upgradefalseUpgrade an already-installed operator
--interactivefalseShow values and prompt before installing
--auto-approvefalseSkip cluster confirmation (for CI)

Examples

# Dry-run to preview
dz install read --dry-run

# Custom Helm values
dz install write --set operator.customScheduler=true --set operator.features.argocdPatching=true

# Print computed values without installing
dz install write --show-values

# CI/CD: skip all prompts
dz install read --auto-approve --token $DEVZERO_TOKEN

Node Operator (Provider-Specific)

The node operator requires cloud-specific flags for IAM/RBAC:

dz install node \
  --role-arn arn:aws:iam::123456789:role/KarpenterControllerRole \
  --interruption-queue my-karpenter-queue
FlagDescription
--role-arnIAM role ARN for Karpenter
--interruption-queueSQS queue for spot interruption handling

Omit these to let the CLI create them automatically. Use --skip-create to disable auto-creation.

dz install node \
  --project-id my-gcp-project \
  --service-account-email karpenter@my-project.iam.gserviceaccount.com \
  --location us-central1
FlagDescription
--project-idGCP project ID
--service-account-emailService account email
--locationGCP location
dz install node \
  --client-id 00000000-... \
  --subscription-id 00000000-... \
  --resource-group my-rg \
  --vnet-subnet-id /subscriptions/.../subnets/default
FlagDescription
--client-idAzure client ID
--subscription-idSubscription ID
--resource-groupResource group
--vnet-subnet-idVNet subnet ID
--vnet-guidVNet GUID
--node-identitiesNode identities
--kubelet-identity-client-idKubelet identity client ID
--bootstrap-tokenBootstrap token
--ssh-public-keySSH public key
dz install node --compartment-id ocid1.compartment.oc1..aaa...
FlagDescription
--compartment-idOCI compartment ID

Cost Operator (AWS IRSA)

# Auto-create IRSA resources (default)
dz install cost

# Use an existing IRSA role
dz install cost --irsa-role-arn arn:aws:iam::123456789:role/TrezrRole

# Skip auto-creation
dz install cost --skip-create

Uninstalling

# Remove a single operator
dz uninstall write

# Remove all operators and clean up
dz uninstall all

Available targets: read, write, security, network, node, all.

FlagDefaultDescription
--contextcurrentKube context to target
--namespaceautoNamespace to uninstall from
--forcefalseSkip confirmation prompt

dz uninstall all removes every Helm release, credential secrets, and the namespace (if empty).

Disconnecting & Deleting Clusters

# Remove all operators — historical data is preserved
dz disconnect

# Remove all operators AND permanently delete the cluster record + all data
dz delete

dz disconnect is equivalent to dz uninstall all. The cluster appears as "disconnected" in DevZero once heartbeats stop (~60 minutes).

dz delete is irreversible. All metrics, events, workload history, and recommendations for this cluster are permanently lost.

Checking Health & Upgrades

# One-shot health check of all operators
dz status

# Check for available updates
dz upgrade

# Check a specific operator
dz upgrade read

To apply an upgrade:

dz install read --upgrade

Diagnosing Issues

dz diagnose <operator>

Collects pod status, container states, recent logs (last 50 lines), and Kubernetes events. Valid targets: read, write, security, network, cost, node.

FlagDefaultDescription
--contextcurrentKube context
--namespaceautoNamespace to check

On this page