operator crashes intermittently in KinD (k8s 1.22.4)

discovered while working on #281 (closed)

upon application of CR:

apiVersion: apps.gitlab.com/v1beta1
kind: GitLab
metadata:
  name: gitlab
spec:
  chart:
    version: 5.6.0
    values:
      global:
        hosts:
          domain: 192.168.3.194.nip.io
        pages:
          enabled: true
        ingress:
          configureCertmanager: false
          tls:
            secretName:  custom-gitlab-tls
        shell:
          port: 32022
      gitlab:
        gitlab-pages:
          ingress:
            tls:
              secretName: custom-pages-tls
        gitlab-shell:
          minReplicas: 1
          maxReplicas: 1
        ## fixed in https://gitlab.com/gitlab-org/cloud-native/gitlab-operator/-/merge_requests/238 :
        gitlab-exporter:
          enabled: false 
        webservice:
          minReplicas: 1
          maxReplicas: 1
      nginx-ingress:
        controller:
          ingressClassResource:
            enabled: true
          service:
            nodePorts:
              # https port value below must match the KinD config file:
              #   nodes[0].extraPortMappings[0].containerPort
              https: 32443
          replicaCount: 1
          minAvailable: 1
        defaultBackend:
          replicaCount: 1
      registry:
        hpa:
          minReplicas: 1
          maxReplicas: 1

operator 0.3.0 starts crashing intermittently failing to provision entire deployment at once.

manager 2022-01-07T21:13:57.446Z    DEBUG    template    The template is rendered. Check the warnings (if any).    {"namespace": "gitlab-system", "releaseName": "gitlab", "hash": "6e6c88aaf16b671d", "warnings": 0}                      
manager 2022-01-07T21:13:57.446Z    DEBUG    template    Caching the template.    {"namespace": "gitlab-system", "releaseName": "gitlab", "hash": "6e6c88aaf16b671d"}                                                                      
manager 2022-01-07T21:13:57.635Z    DEBUG    controllers.GitLab    Creating object    {"gitlab": "gitlab.gitlab-system", "type": "*v1.Job", "reference": "gitlab-system/gitlab-shared-secrets-1-ydg"}                                      
manager panic: runtime error: invalid memory address or nil pointer dereference                                                                                                                                                            
manager [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xc1f645]                                                                                                                                                             
manager                                                                                                                                                                                                                                    
manager goroutine 442 [running]:                                                                                                                                                                                                           
manager k8s.io/api/core/v1.(*ConfigMap).GetNamespace(0x0, 0xc0004ebd20, 0xc000ee39c8)                                                                                                                                                      
manager     <autogenerated>:1 +0x5                                                                                                                                                                                                         
manager sigs.k8s.io/controller-runtime/pkg/client.ObjectKeyFromObject(0x2318f48, 0x0, 0x16, 0xc000a0d610, 0x22bc850, 0xc000ee3a10)                                                                                                         
manager     /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.1/pkg/client/interfaces.go:35 +0x31                                                                                                                                           
manager gitlab.com/gitlab-org/cloud-native/gitlab-operator/controllers.(*GitLabReconciler).createOrPatch(0xc000311500, 0x22eb468, 0xc00049c870, 0x2318f48, 0x0, 0x2305ae8, 0xc00083b080, 0x2305ae8, 0xc00083b080, 0xc000ee3be8)            
manager     /workspace/controllers/gitlab_controller.go:544 +0x5f                                                                                                                                                                          
manager gitlab.com/gitlab-org/cloud-native/gitlab-operator/controllers.(*GitLabReconciler).reconcileGitLabExporterConfigMaps(0xc000311500, 0x22eb468, 0xc00049c870, 0x2305ae8, 0xc00083b080, 0xc00091dbc0, 0x100000000000000)              
manager     /workspace/controllers/gitlab_exporter.go:27 +0xcf                                                                                                                                                                             
manager gitlab.com/gitlab-org/cloud-native/gitlab-operator/controllers.(*GitLabReconciler).reconcileGitLabExporter(0xc000311500, 0x22eb468, 0xc00049c870, 0x2305ae8, 0xc00083b080, 0x0, 0x0)                                               
manager     /workspace/controllers/gitlab_exporter.go:10 +0x57                                                                                                                                                                             
manager gitlab.com/gitlab-org/cloud-native/gitlab-operator/controllers.(*GitLabReconciler).Reconcile(0xc000311500, 0x22eb468, 0xc00049c870, 0xc000025970, 0xd, 0xc000025950, 0x6, 0xc00049c870, 0xc00049c7e0, 0xc0009a5db0, ...)           
manager     /workspace/controllers/gitlab_controller.go:219 +0x1cf4                                                                                                                                                                        
manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0xc0006a0140, 0x22eb468, 0xc00049c7e0, 0xc000025970, 0xd, 0xc000025950, 0x6, 0xc00049c700, 0x0, 0x0, ...)                                           
manager     /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.1/pkg/internal/controller/controller.go:114 +0x247                                                                                                                            
manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0006a0140, 0x22eb3c0, 0xc000ba6140, 0x1e239a0, 0xc0004b0d00)                                                                              
manager     /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.1/pkg/internal/controller/controller.go:311 +0x305                                                                                                                            
manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0006a0140, 0x22eb3c0, 0xc000ba6140, 0xc000a65f00)                                                                                      
manager     /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.1/pkg/internal/controller/controller.go:266 +0x205                                                                                                                            
manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2(0xc0007d20a0, 0xc0006a0140, 0x22eb3c0, 0xc000ba6140)                                                                                            
manager     /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.1/pkg/internal/controller/controller.go:227 +0x6b                                                                                                                             
manager created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2                                                                                                                                        
manager     /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.1/pkg/internal/controller/controller.go:223 +0x425     

operator was deployed using:

GL_OPERATOR_VERSION=0.3.0 # https://gitlab.com/gitlab-org/cloud-native/gitlab-operator/-/releases
PLATFORM=kubernetes # or "openshift"
kubectl create namespace gitlab-system
kubectl apply -f https://gitlab.com/api/v4/projects/18899486/packages/generic/gitlab-operator/${GL_OPERATOR_VERSION}/gitlab-operator-${PLATFORM}-${GL_OPERATOR_VERSION}.yaml
Edited by Dmytro Makovey