CR file is not working after operator deployement

We are deploying a Neo4j application on Kubernetes by creating our own Neo4j operator. This operator helps manage the lifecycle of the Neo4j cluster (e.g., deployment, scaling, updates). We are using a Helm chart to deploy the operator, and we have created a custom Docker image for the operator.
We created a Helm chart to package the Kubernetes resources needed to deploy the Neo4j operator.
The Helm chart includes templates for deployment, service account, roles, and role bindings.

When we try to test or run the custom resource file (cr.yaml), it is not working as expected.

pls help me someone in this

it is not working as expected.

I don't think anyone could help without more details on this statement. What did you try, what behaviour do you see, and what is the expected behaviour?

I've attached the files here
operator ---
values.yaml

image:
  repository: neo4j
  tag: latest
  pullPolicy: Always

replicaCount: 1

serviceAccount:
  create: true
  name: neo4j-service-account

rbac:
  create: true

hpa:
  enabled: true
  minReplicas: 1
  maxReplicas: 3
  targetCPUUtilizationPercentage: 80

service:
  name: neo4j-service
  type: ClusterIP
  ports:
    - name: http
      port: 7474
      targetPort: 7474
    - name: bolt
      port: 7687
      targetPort: 7687

neo4j:
  version: latest
  cluster:
    mode: causal
    size: 1

env:
  - name: WATCH_NAMESPACE
    value: ""
  - name: LOG_LEVEL
    value: "DEBUG"
  - name: NEO4J_ACCEPT_LICENSE_AGREEMENT
    value: "yes"

resources:
  requests:
    cpu: "50m"
    memory: "512Mi"
  limits:
    cpu: "500m"
    memory: "1024Mi"

pvc:
  enabled: true  
  size: 1Gi      
  storageClass: "longhorn"

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: neo4j-operator-role
rules:
- apiGroups: [""]
  resources: ["*"]
  verbs: ["*"]
- apiGroups: ["apps"]
  resources: ["*"]
  verbs: ["*"]
- apiGroups: ["monitoring.coreos.com"]
  resources: ["*"]
  verbs: ["*"]
- apiGroups: ["database.neo4j.org"]
  resources: ["*"]
  verbs: ["*"]

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: neo4j-operator-rolebinding
subjects:
- kind: ServiceAccount
  name: neo4j-service-account
  namespace: neojcluster  
roleRef:
  kind: ClusterRole
  name: neo4j-operator-role
  apiGroup: rbac.authorization.k8s.io

apiVersion: apps/v1
kind: Deployment
metadata:
  name: neo4j-operator
  namespace: neojcluster
spec:
  replicas: 1
  selector:
    matchLabels:
      app: neo4j-operator
  template:
    metadata:
      labels:
        app: neo4j-operator
    spec:
      serviceAccountName: neo4j-service-account
      containers:
      - name: neo4j
        image: "neo4j:latest"  # Using the official Neo4j image
        imagePullPolicy: Always
        env:
        - name: WATCH_NAMESPACES
          value: "neojcluster"
        - name: LOG_LEVEL
          value: "DEBUG"
        - name: NEO4J_ACCEPT_LICENSE_AGREEMENT
          value: "yes"
        ports:
        - containerPort: 7474
        - containerPort: 7687
        volumeMounts:
        - name: data
          mountPath: /data
        - name: logs
          mountPath: /logs
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: neo4j-pvc
      - name: logs
        persistentVolumeClaim:
          claimName: neo4j-pvc

apiVersion: v1
kind: ConfigMap
metadata:
  name: neo4j-operator-config
  namespace: neojcluster
data:
  key1: value1
  key2: value2

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: neo4j-hpa
  namespace: {{ .Release.Namespace }}
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: neo4j-operator
  minReplicas: {{ .Values.hpa.minReplicas }}
  maxReplicas: {{ .Values.hpa.maxReplicas }}
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: {{ .Values.hpa.targetCPUUtilizationPercentage }}

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: neo4j-pvc
  namespace: {{ .Release.Namespace }}
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: {{ .Values.pvc.size }}

apiVersion: v1
kind: Service
metadata:
  name: {{ .Values.service.name }}
  namespace: {{ .Release.Namespace }}
spec:
  selector:
    app: neo4j
  ports:
{{- range .Values.service.ports }}
  - protocol: TCP
    port: {{ .port }}
    targetPort: {{ .targetPort }}
    name: {{ .name }}
{{- end }}

apiVersion: v1
kind: ServiceAccount
metadata:
  name: {{ .Values.serviceAccount.name }}
  namespace: {{ .Release.Namespace }}

For now I am trying to test it from official image and I got error .

Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  18m (x144 over 12h)  default-scheduler  0/2 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.
root@master:~/neo4j-helm-chart/neo4j-operator# 

My operator pod is not running .

And if it running then the cr.yaml that I want to test so that it create one more pod and it's services .

apiVersion: database.neo4j.org/v1alpha1
kind: Neo4jCluster
metadata:
  name: neo4jclusters
  namespace: neojcluster
spec:
  image: "neo4j:latest"  # Official image version
  adminPassword: tatacomm
  coreReplicas: 3
  readReplicaReplicas: 1
  resources:
    requests:
      cpu: "50m"      
      memory: "512Mi"  
    limits:
      cpu: "500m"    
      memory: "1024Mi"  
  persistence:
    enabled: true
    size: 1Gi
    storageClass: ""