Files
deploy/docs/operator-manual/upgrading/1.7-1.8.md
zeekayandHanzo Dev 446e343a3d cd: annotations are cd.hanzo.ai, API group is apps.hanzo.ai
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]>
2026-07-28 16:32:14 -07:00

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 the data: 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.