mirror of
https://github.com/hanzoai/deploy.git
synced 2026-10-07 08:44:50 +00:00
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]>
119 lines
4.9 KiB
YAML
119 lines
4.9 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: hanzocd-cm
|
|
labels:
|
|
app.kubernetes.io/name: hanzocd-cm
|
|
app.kubernetes.io/part-of: hanzocd
|
|
data:
|
|
### Default configuration for ignoreResourceUpdates.
|
|
# The ignoreResourceUpdates list contains K8s resource's properties that are known to be frequently updated
|
|
# by controllers and operators. These resources, when watched by argo, will cause many unnecessary updates.
|
|
# Ignoring status for all resources. An update will still be sent if the status update causes the health to change.
|
|
resource.customizations.ignoreResourceUpdates.all: |
|
|
jsonPointers:
|
|
- /status
|
|
# Some Application fields are generated and not related to the application updates itself
|
|
# The Application itself is already watched by the controller lister, but this configuration is applied for apps of apps
|
|
resource.customizations.ignoreResourceUpdates.apps.hanzo.ai_Application: |
|
|
jqPathExpressions:
|
|
- '.metadata.annotations."notified.notifications.apps.hanzo.ai"'
|
|
- '.metadata.annotations."apps.hanzo.ai/refresh"'
|
|
- '.metadata.annotations."apps.hanzo.ai/hydrate"'
|
|
- '.operation'
|
|
resource.customizations.ignoreResourceUpdates.apps.hanzo.ai_Rollout: |
|
|
jqPathExpressions:
|
|
- '.metadata.annotations."notified.notifications.apps.hanzo.ai"'
|
|
# Legacy annotations used on HPA autoscaling/v1
|
|
resource.customizations.ignoreResourceUpdates.autoscaling_HorizontalPodAutoscaler: |
|
|
jqPathExpressions:
|
|
- '.metadata.annotations."autoscaling.alpha.kubernetes.io/behavior"'
|
|
- '.metadata.annotations."autoscaling.alpha.kubernetes.io/conditions"'
|
|
- '.metadata.annotations."autoscaling.alpha.kubernetes.io/metrics"'
|
|
- '.metadata.annotations."autoscaling.alpha.kubernetes.io/current-metrics"'
|
|
# Ignore the cluster-autoscaler status
|
|
resource.customizations.ignoreResourceUpdates.ConfigMap: |
|
|
jqPathExpressions:
|
|
# Ignore the cluster-autoscaler status
|
|
- '.metadata.annotations."cluster-autoscaler.kubernetes.io/last-updated"'
|
|
# Ignore the annotation of the legacy Leases election
|
|
- '.metadata.annotations."control-plane.alpha.kubernetes.io/leader"'
|
|
# Ignore the common scaling annotations
|
|
resource.customizations.ignoreResourceUpdates.apps_ReplicaSet: |
|
|
jqPathExpressions:
|
|
- '.metadata.annotations."deployment.kubernetes.io/desired-replicas"'
|
|
- '.metadata.annotations."deployment.kubernetes.io/max-replicas"'
|
|
- '.metadata.annotations."rollout.apps.hanzo.ai/desired-replicas"'
|
|
# Ignores update if EndpointSlice is not excluded globally
|
|
resource.customizations.ignoreResourceUpdates.discovery.k8s.io_EndpointSlice: |
|
|
jsonPointers:
|
|
- /metadata
|
|
- /endpoints
|
|
- /ports
|
|
# Ignores update if Endpoints is not excluded globally
|
|
resource.customizations.ignoreResourceUpdates.Endpoints: |
|
|
jsonPointers:
|
|
- /metadata
|
|
- /subsets
|
|
|
|
### Default configuration for exclusions.
|
|
# The exclusion list are K8s resources that we assume will never be declared in Git,
|
|
# and are never child objects of managed resources that need to be presented in the resource tree.
|
|
# This list contains high volume and high churn metadata objects which we exclude for performance
|
|
# reasons, reducing connections and load to the K8s API servers of managed clusters.
|
|
resource.exclusions: |
|
|
### Network resources created by the Kubernetes control plane and excluded to reduce the number of watched events and UI clutter
|
|
- apiGroups:
|
|
- ''
|
|
- discovery.k8s.io
|
|
kinds:
|
|
- Endpoints
|
|
- EndpointSlice
|
|
### Internal Kubernetes resources excluded reduce the number of watched events
|
|
- apiGroups:
|
|
- coordination.k8s.io
|
|
kinds:
|
|
- Lease
|
|
### Internal Kubernetes Authz/Authn resources excluded reduce the number of watched events
|
|
- apiGroups:
|
|
- authentication.k8s.io
|
|
- authorization.k8s.io
|
|
kinds:
|
|
- SelfSubjectReview
|
|
- TokenReview
|
|
- LocalSubjectAccessReview
|
|
- SelfSubjectAccessReview
|
|
- SelfSubjectRulesReview
|
|
- SubjectAccessReview
|
|
### Intermediate Certificate Request excluded reduce the number of watched events
|
|
- apiGroups:
|
|
- certificates.k8s.io
|
|
kinds:
|
|
- CertificateSigningRequest
|
|
- apiGroups:
|
|
- cert-manager.io
|
|
kinds:
|
|
- CertificateRequest
|
|
### Cilium internal resources excluded reduce the number of watched events and UI Clutter
|
|
- apiGroups:
|
|
- cilium.io
|
|
kinds:
|
|
- CiliumIdentity
|
|
- CiliumEndpoint
|
|
- CiliumEndpointSlice
|
|
### Kyverno intermediate and reporting resources excluded reduce the number of watched events and improve performance
|
|
- apiGroups:
|
|
- kyverno.io
|
|
- reports.kyverno.io
|
|
- wgpolicyk8s.io
|
|
kinds:
|
|
- PolicyReport
|
|
- ClusterPolicyReport
|
|
- EphemeralReport
|
|
- ClusterEphemeralReport
|
|
- AdmissionReport
|
|
- ClusterAdmissionReport
|
|
- BackgroundScanReport
|
|
- ClusterBackgroundScanReport
|
|
- UpdateRequest
|