Two corrections on top of the naming pass, both found by checking the live cluster rather than the source. The rename had silently changed the user-facing annotation key from argocd.argoproj.io/sync-wave to cd.argoproj.io/sync-wave — 63 live Applications carry the old key, so deploying that would have ignored every sync-wave and broken fleet deploy ordering. The key is now cd.hanzo.ai/*, and universe 575650286 moves the ApplicationSet template that stamps it, so the controller regenerates all 63 consistently. The API group in code said argoproj.io/v1alpha1 in 157 places while the cluster has served apps.hanzo.ai/v1alpha1 since 2026-07-23 (the CRDs are applications.apps.hanzo.ai). Code now matches what is actually served. The legacy applications.argoproj.io/app-name label had ZERO live users, so it went with the rest. foo.argoproj.io test fixtures became foo.example.com — arbitrary test domains should not carry a vendor name. go build ./... exit 0. Co-authored-by: Hanzo Dev <[email protected]>
GitOps Agent
The GitOps Agent leverages the GitOps Engine and provides access to many engine features via a simple CLI interface. The agent provides the same set of core features as Hanzo CD including basic reconciliation, syncing as well as sync hooks and sync waves.
The main difference is that the agent is syncing one Git repository into the same cluster where it is installed.
Quick Start
By default, the agent is configured to use manifests from guestbook directory in https://github.com/argoproj/argocd-example-apps repository.
The agent supports two modes:
- namespaced mode - agent manages the same namespace where it is installed
- full cluster mode - agent manages the whole cluster
Namespaced Mode
Install the agent with the default settings using the command below. Done!
kubectl apply -f https://raw.githubusercontent.com/argoproj/gitops-engine/master/agent/manifests/install-namespaced.yaml
kubectl rollout status deploy/gitops-agent
The agent logs:
kubectl logs -f deploy/gitops-agent gitops-agent
Find the guestbook deployment in the current K8S namespace:
kubectl get deployment
Cluster Mode
The cluster mode grants full cluster access to the GitOps Agent. Use the following command to install an agent into the
gitops-agent namespace and use it to manage resources in any cluster namespace.
Note
In cluster mode agents gets full cluster access. See gitops-agent-cluster-role.yaml definition for more information.
kubectl create ns gitops-agent
kubectl apply -f https://raw.githubusercontent.com/argoproj/gitops-engine/master/agent/manifests/install.yaml -n gitops-agent
Customize Git Repository
The agent runs git-sync as a sidecar container to access the repository. Update the container env variables to change the repository.
Demo Recording
Profiling
Using env variables to enable profiling mode, the agent can be started with the following envs:
export GITOPS_ENGINE_PROFILE=web
# optional, default pprofile address is 127.0.0.1:6060
export GITOPS_ENGINE_PROFILE_HOST=127.0.0.1
export GITOPS_ENGINE_PROFILE_PORT=6060
And then you can open profile in the browser(or using pprof cmd to generate diagrams):