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]>
1.9 KiB
v1.7 to 1.8
The cd-application-controller converted to StatefulSet
The cd-application-controller has been converted to StatefulSet. That means you need to manually delete cd-application-controller Deployment after upgrading.
Similarly if you decided to rollback to v1.7 don't forget to delete cd-application-controller StatefulSet.
Health assessment of apps.hanzo.ai/Application CRD has been removed
The health assessment of apps.hanzo.ai/Application CRD has been removed (see #3781 for more information).
You might need to restore it if you are using app-of-apps pattern and orchestrating synchronization using sync waves. Add the following resource customization in
cd-cm ConfigMap:
---
apiVersion: v1
kind: ConfigMap
metadata:
name: cd-cm
namespace: cd
labels:
app.kubernetes.io/name: cd-cm
app.kubernetes.io/part-of: cd
data:
resource.customizations: |
apps.hanzo.ai/Application:
health.lua: |
hs = {}
hs.status = "Progressing"
hs.message = ""
if obj.status ~= nil then
if obj.status.health ~= nil then
hs.status = obj.status.health.status
if obj.status.health.message ~= nil then
hs.message = obj.status.health.message
end
end
end
return hs
To modify an existing installation with no existing
resources.customizations, you can save thedata:stanza to file and patch the configmap with e.g.:kubectl -n cd patch configmaps cd-cm --patch-file cd-cm-patch.yaml
gRPC metrics are disabled by default
The gRPC metrics are not exposed by default by cd-server and cd-repo-server anymore. These metrics appear
to be too expensive so we've decided to disable them by default. Metrics can be enabled using
CD_ENABLE_GRPC_TIME_HISTOGRAM=true environment variable.
From here on you can follow the regular upgrade process.