mirror of
https://github.com/hanzoai/deploy.git
synced 2026-10-07 08:44:50 +00:00
main declared Group = "cd.hanzo.ai" while every CRD, all four Applications and every tracked object in hanzo-k8s are on apps.hanzo.ai. There are no cd.hanzo.ai CRDs anywhere, so a build from main binds nothing: the controller comes up healthy, watches a group with no resources, and silently stops reconciling the fleet. The deployed image (sha-e1b9244, all three components) is the only reason this has not fired. The rename reached further than the group. common.go:215 moved the ownership annotation to cd.hanzo.ai/tracking-id while live objects carry apps.hanzo.ai/tracking-id, and the finalizers moved too (resources-finalizer.cd.hanzo.ai), which would leave existing objects holding finalizers no running controller removes. Renaming a CRD group plus the ownership annotation plus the finalizers is a data migration over every managed object, not a source edit — shipping it as an edit is the defect. Reverting restores the property that was lost: main is deployable at any time. Mitigating only by luck: prune is false on all three automated Applications, so the failure mode is "GitOps stops" rather than "GitOps deletes". Not a design. Verified: no occurrence was a hostname (checked for the argocd.hanzo.ai-style substring trap; none), 29 files, zero residual, register.go now byte-identical to the deployed baseline. go build ./... exits 0. TestGetGlobalProjects and TestGetAppOfAppSummary fail identically on unmodified origin/main — pre-existing, not from this change. If cd.hanzo.ai is still wanted, it needs CRD install, object conversion, annotation and finalizer rewrite across every tracked resource, and RBAC — executed deliberately, not carried in a source constant. Co-authored-by: Hanzo Dev <[email protected]>
36 lines
1.7 KiB
Go
36 lines
1.7 KiB
Go
package v1alpha1
|
|
|
|
import "time"
|
|
|
|
const (
|
|
DefaultSyncRetryMaxDuration time.Duration = 180000000000 // 3m0s
|
|
DefaultSyncRetryDuration time.Duration = 5000000000 // 5s
|
|
DefaultSyncRetryFactor = int64(2)
|
|
// ResourcesFinalizerName is the finalizer value which we inject to finalize deletion of an application
|
|
ResourcesFinalizerName string = "resources-finalizer.apps.hanzo.ai"
|
|
|
|
// PreDeleteFinalizerName is the finalizer that controls pre-delete hooks execution
|
|
PreDeleteFinalizerName string = "pre-delete-finalizer.apps.hanzo.ai"
|
|
|
|
// PostDeleteFinalizerName is the finalizer that controls post-delete hooks execution
|
|
PostDeleteFinalizerName string = "post-delete-finalizer.apps.hanzo.ai"
|
|
|
|
// ForegroundPropagationPolicyFinalizer is the finalizer we inject to delete application with foreground propagation policy
|
|
ForegroundPropagationPolicyFinalizer string = "resources-finalizer.apps.hanzo.ai/foreground"
|
|
|
|
// BackgroundPropagationPolicyFinalizer is the finalizer we inject to delete application with background propagation policy
|
|
BackgroundPropagationPolicyFinalizer = "resources-finalizer.apps.hanzo.ai/background"
|
|
|
|
// DefaultAppProjectName contains name of 'default' app project, which is available in every Hanzo CD installation
|
|
DefaultAppProjectName = "default"
|
|
|
|
// RevisionHistoryLimit is the max number of successful sync to keep in history
|
|
RevisionHistoryLimit = 10
|
|
|
|
// KubernetesInternalAPIServerAddr is address of the k8s API server when accessing internal to the cluster
|
|
KubernetesInternalAPIServerAddr = "https://kubernetes.default.svc"
|
|
|
|
// KubernetesInClusterName is the default name for the in-cluster configuration
|
|
KubernetesInClusterName = "in-cluster"
|
|
)
|