mirror of
https://github.com/hanzoai/deploy.git
synced 2026-10-07 08:44:50 +00:00
v3.6.0-.2 could not start. hanzocd-server crash-looped:
fatal: Recovered from panic: nil pointer dereference
server.(*ArgoCDServer).Init -> server/server.go:554
configMapInformer and secretInformer were declared on the struct and Run() in
Init(), but never assigned anywhere in the repo. b2d7140a (delete the
notification subsystem) removed their construction —
secretInformer := k8s.NewSecretInformer(..., "cd-notifications-secret")
configMapInformer := k8s.NewConfigMapInformer(..., "cd-notifications-cm")
— which fed api.NewFactory for notifications and nothing else. The fields and
the two Run() calls survived the deletion, so both were nil at boot.
Deleted rather than reconstructed: they watched notification config, and there
is no notification subsystem to configure. We use hanzoai/notify.
Worth naming the class, because it is the third time tonight: a nil interface
field is valid Go, so `go build ./...` passed clean and said nothing. Same
shape as the Register* seams and the mounted globals — it compiles, and it
yields the zero value.
The "secret key does not exist in secret" warning on the preceding line is
unrelated; hanzocd-secret carries all five keys and works on sha-e1b9244.
Co-authored-by: Hanzo Dev <[email protected]>