Configuration
Configure the dakr-op write operator -- auto-apply mode, policy settings, and connection options.
Configuration
The Write Operator is configured via Helm values during installation.
Helm Values
| Parameter | Default | Description |
|---|---|---|
clusterID | (required) | Unique cluster identifier from DevZero dashboard |
apiEndpoint | api.devzero.io:443 | DevZero platform gRPC endpoint |
logLevel | info | Logging verbosity: debug, info, warn, error |
autoApply | false | Whether to auto-apply approved recommendations |
replicaCount | 1 | Number of operator replicas |
operator.features.argocdPatching | false | Allow DevZero to manage fields on ArgoCD-owned resources |
Auto-Apply Mode
By default, the Write Operator surfaces recommendations in the dashboard for manual approval. To enable automatic application:
helm upgrade dakr-operator \
oci://registry-1.docker.io/devzeroinc/dakr-operator \
--namespace dakr-operator \
--set autoApply=true \
--reuse-valuesWhen autoApply is enabled, recommendations that match an active policy are applied automatically. Recommendations with no matching policy remain pending for manual review.
Managing Recommendations
View pending recommendations
kubectl get workloadrecommendations -AView recommendation details
kubectl describe workloadrecommendation <name> -n <namespace>Roll back a recommendation
Delete the WorkloadRecommendation CRD to revert the change:
kubectl delete workloadrecommendation <name> -n <namespace>The operator will restore the original resource values.
ArgoCD Integration
Applying recommendations to resources owned by ArgoCD may cause applications to be marked as OutOfSync or replica counts and request/limits to get overridden, causing contention between what the dakr-operator is applying vs. what the argocd-application-controller deems necessary per GitOps configuration.
To enable DevZero to take ownership of the replica and request/limit fields:
helm upgrade dakr-operator \
oci://registry-1.docker.io/devzeroinc/dakr-operator \
--namespace dakr-operator \
--set operator.features.argocdPatching=true \
--reuse-valuesTo reset this and have ArgoCD re-take ownership of those fields, set operator.features.argocdPatching to false and redeploy your applications.
Updating Configuration
Configuration changes require an operator restart:
helm upgrade dakr-operator \
oci://registry-1.docker.io/devzeroinc/dakr-operator \
--namespace dakr-operator \
--set <your-changes> \
--reuse-values
kubectl rollout restart deployment/dakr-operator -n dakr-operator