operator panics

While testing that sur:

fanch@deb-lat:~/sylva/sylva-core$ k get sur -n sylva-units-preview sylva-units -o yaml
apiVersion: unitsoperator.sylva/v1alpha1
kind: SylvaUnitsRelease
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"unitsoperator.sylva/v1alpha1","kind":"SylvaUnitsRelease","metadata":{"annotations":{},"labels":{"copy-from-bootstrap-to-management":"","sylva-units/protected":""},"name":"sylva-units","namespace":"sylva-units-preview"},"spec":{"clusterType":"management","sylvaUnitsSource":{"commit":"a3e8f869665dc395b4af4c8947c878e37b6bc383","type":"git","url":"https://gitlab.com/sylva-projects/sylva-core.git"},"valuesFrom":[{"name":"sylva-units-values","type":"ConfigMap","valuesKey":"values"},{"name":"sylva-units-secrets","type":"Secret","valuesKey":"secrets"}]}}
  creationTimestamp: "2025-03-05T18:00:11Z"
  finalizers:
  - sylva-units-operator.sylva/finalizer
  generation: 1
  labels:
    copy-from-bootstrap-to-management: ""
    sylva-units/protected: ""
  name: sylva-units
  namespace: sylva-units-preview
  resourceVersion: "60479"
  uid: ddec53fd-4354-4821-a348-c190b66656b0
spec:
  clusterType: management
  interval: 30m
  suspend: false
  sylvaUnitsSource:
    commit: a3e8f869665dc395b4af4c8947c878e37b6bc383
    type: git
    url: https://gitlab.com/sylva-projects/sylva-core.git
  valuesFrom:
  - name: sylva-units-values
    type: ConfigMap
    valuesKey: values
  - name: sylva-units-secrets
    type: Secret
    valuesKey: secrets
status:
  observedGeneration: -1

operator was crashing in loop on:

2025-03-05T18:00:18Z    INFO    Reconcile SylvaUnitsRelease     {"controller": "sylvaunitsrelease", "controllerGroup": "unitsoperator.sylva", "controllerKind": "SylvaUnitsRelease", "SylvaUnitsRelease": {"name":"sylva-units","namespace":"sylva-units-preview"}, "namespace": "sylva-units-preview", "name": "sylva-units", "reconcileID": "45a4eef6-253e-488d-80fb-ca6879bc8dd4"}
2025-03-05T18:00:18Z    INFO    Applied desired state to GitRepository sylva-units-preview/sylva-units  {"controller": "sylvaunitsrelease", "controllerGroup": "unitsoperator.sylva", "controllerKind": "SylvaUnitsRelease", "SylvaUnitsRelease": {"name":"sylva-units","namespace":"sylva-units-preview"}, "namespace": "sylva-units-preview", "name": "sylva-units", "reconcileID": "45a4eef6-253e-488d-80fb-ca6879bc8dd4", "Kind": "GitRepository", "NamespacedName": {"name":"sylva-units","namespace":"sylva-units-preview"}}
2025-03-05T18:00:18Z    ERROR   Observed a panic        {"controller": "sylvaunitsrelease", "controllerGroup": "unitsoperator.sylva", "controllerKind": "SylvaUnitsRelease", "SylvaUnitsRelease": {"name":"sylva-units","namespace":"sylva-units-preview"}, "namespace": "sylva-units-preview", "name": "sylva-units", "reconcileID": "45a4eef6-253e-488d-80fb-ca6879bc8dd4", "panic": "runtime error: invalid memory address or nil pointer dereference", "panicGoValue": "\"invalid memory address or nil pointer dereference\"", "stacktrace": "goroutine 119 [running]:\nk8s.io/apimachinery/pkg/util/runtime.logPanic({0x1e69e38, 0xc0006ba5d0}, {0x193e380, 0x2d1f150})\n\t/go/pkg/mod/k8s.io/apimachinery@v0.31.6/pkg/util/runtime/runtime.go:107 +0xbc\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile.func1()\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:105 +0x112\npanic({0x193e380?, 0x2d1f150?})\n\t/usr/local/go/src/runtime/panic.go:792 +0x132\ngitlab.com/sylva-projects/sylva-elements/sylva-units-operator/pkg/helmrelease.GenerateHelmRelease(0xc0006415f8?, {0xc000622390, 0x13}, {0xc0006415f8, 0x0, 0x1c000580808?})\n\t/workspace/pkg/helmrelease/helmrelease.go:191 +0xaf2\ngitlab.com/sylva-projects/sylva-elements/sylva-units-operator/internal/controller.(*SylvaUnitsReleaseReconciler).reconcile(0xc0001c9290, {0x1e69e38, 0xc0006ba5d0}, 0xc00016ab08)\n\t/workspace/internal/controller/sylvaunitsrelease_controller.go:256 +0xea7\ngitlab.com/sylva-projects/sylva-elements/sylva-units-operator/internal/controller.(*SylvaUnitsReleaseReconciler).Reconcile(0xc0001c9290, {0x1e69e38, 0xc0006ba5d0}, {{{0xc00032f4a0?, 0x1bac6be?}, {0xc0004eee60?, 0x100?}}})\n\t/workspace/internal/controller/sylvaunitsrelease_controller.go:122 +0x448\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile(0xc0006ba540?, {0x1e69e38?, 0xc0006ba5d0?}, {{{0xc00032f4a0?, 0x0?}, {0xc0004eee60?, 0x0?}}})\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:116 +0xbf\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler(0x1e783c0, {0x1e69e70, 0xc000169810}, {{{0xc00032f4a0, 0x13}, {0xc0004eee60, 0xb}}})\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:303 +0x3a5\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem(0x1e783c0, {0x1e69e70, 0xc000169810})\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:263 +0x20d\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2()\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:224 +0x85\ncreated by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2 in goroutine 94\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:220 +0x50d\n"}
runtime.sigpanic
        /usr/local/go/src/runtime/signal_unix.go:925
gitlab.com/sylva-projects/sylva-elements/sylva-units-operator/pkg/helmrelease.GenerateHelmRelease
        /workspace/pkg/helmrelease/helmrelease.go:191
gitlab.com/sylva-projects/sylva-elements/sylva-units-operator/internal/controller.(*SylvaUnitsReleaseReconciler).reconcile
        /workspace/internal/controller/sylvaunitsrelease_controller.go:256
gitlab.com/sylva-projects/sylva-elements/sylva-units-operator/internal/controller.(*SylvaUnitsReleaseReconciler).Reconcile
        /workspace/internal/controller/sylvaunitsrelease_controller.go:122
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:116
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:303
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:263
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:224
2025-03-05T18:00:18Z    ERROR   Reconciler error        {"controller": "sylvaunitsrelease", "controllerGroup": "unitsoperator.sylva", "controllerKind": "SylvaUnitsRelease", "SylvaUnitsRelease": {"name":"sylva-units","namespace":"sylva-units-preview"}, "namespace": "sylva-units-preview", "name": "sylva-units", "reconcileID": "45a4eef6-253e-488d-80fb-ca6879bc8dd4", "error": "panic: runtime error: invalid memory address or nil pointer dereference [recovered]"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:316
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:263
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.6/pkg/internal/controller/controller.go:224
Assignee Loading
Time tracking Loading