Skip to main content
The operator includes an ArgoCD watcher that monitors ArgoCD Application resources and updates matching ApplicationPersonas with sync and health status. This gives you a unified view of application state across both dorgu and ArgoCD.

How it works

The watcher reconciles every 30 seconds and on watch events. It uses the Kubernetes unstructured API to read ArgoCD Applications, so the operator has no compile-time dependency on ArgoCD.

Matching logic

The watcher matches ArgoCD Applications to ApplicationPersonas using the application name:
  1. Extract the app name from the ArgoCD Application (labels first, then metadata.name)
  2. Extract the destination namespace from spec.destination.namespace
  3. Search for an ApplicationPersona with a matching spec.name in the destination namespace
  4. If not found in the destination namespace, search across all namespaces

Status fields

When a match is found, the watcher populates .status.argocd on the ApplicationPersona:

Conditional activation

The watcher only starts if both conditions are met:
  1. The --enable-argocd flag is true (default)
  2. The ArgoCD Application CRD (argoproj.io/v1alpha1) exists in the cluster
If the CRD is missing, the watcher silently skips registration. This means the operator works safely in clusters without ArgoCD installed.

Configuration

Via Helm

Via CLI flag

Checking ArgoCD status

Or query the resource directly:
The ArgoCD watcher requires RBAC permissions to get, list, and watch ArgoCD Application resources (argoproj.io/v1alpha1). The Helm chart configures these permissions automatically.

ApplicationPersona validation

Continuous validation via the reconciliation loop

Configuration

All operator configuration options