# Default values for Neo4j.
# This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates.
# name: value

name: "neo4j"

# Specs for the Neo4j docker image
image: "neo4j"
imageTag: "4.0.3-enterprise"
imagePullPolicy: "IfNotPresent"
# imagePullSecret: registry-secret
acceptLicenseAgreement: "no"
podDisruptionBudget: {}
  # minAvailable: 2
  # maxUnavailable: 1

## Node labels for pod assignment
## ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector: {}

## Tolerations for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: []

## Affinity for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}

# Use password authentication
authEnabled: true

## Specify password for neo4j user
## Defaults to a random 10-character alphanumeric string if not set and authEnabled is true
# neo4jPassword:

# Specify cluster domain (used eg. as suffix in definition of NEO4J_causal__clustering_initial__discovery__members environment variable)
clusterDomain: "cluster.local"

# Specs for the images used for running tests against the Helm package
# https://github.com/mneedham/k8s-kubectl this is a general kubectl docker image
testImage: "markhneedham/k8s-kubectl"
testImageTag: "master"

# Whether or not to use APOC: https://neo4j.com/labs/apoc/
# Comment out if you do not want to use it.
useAPOC: "true"

# The default name of the Neo4j database to use.
# See https://neo4j.com/docs/operations-manual/current/manage-databases/introduction/#manage-databases-default
defaultDatabase: "neo4j"

# Cores
core:
  # configMap: "my-custom-configmap"
  numberOfServers: 3
  persistentVolume:
    ## whether or not persistence is enabled
    ##
    enabled: true

    ## core server data Persistent Volume mount root path
    ##
    mountPath: /data

    ## core server data Persistent Volume size
    ##
    size: 10Gi

    ## core server data Persistent Volume Storage Class
    ## If defined, storageClassName: <storageClass>
    ## If set to "-", storageClassName: "", which disables dynamic provisioning
    ## If undefined (the default) or set to null, no storageClassName spec is
    ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
    ##   GKE, AWS & OpenStack)
    ## storageClass: "-"

    ## Subdirectory of core server data Persistent Volume to mount
    ## Useful if the volume's root directory is not empty
    ##
    ## subPath: ""

  sidecarContainers: []
  ## Additional containers to be added to the Neo4j core pod.
  #  - name: my-sidecar
  #    image: nginx:latest

  initContainers: []
  ## init containers to run before the Neo4j core pod e.g. to install plugins
  ## They can also be used to restore from last available backup, to ensure that newly joining
  ## core members have less TX history to catch up on before joining the cluster.
  ## Note that this is specifically *not* needed for APOC, which is included by default.
  # - name: init-plugins
  #   image: "appropriate/curl:latest"
  #   imagePullPolicy: "IfNotPresent"
  #   volumeMounts:
  #   - name: plugins
  #     mountPath: /plugins
  #   command:
  #     - "/bin/sh"
  #     - "-c"
  #     - |
  #       curl -L https://somesite.com/path/to/plugin.jar -O
  #       cp plugin.jar /plugins/

# Read Replicas
readReplica:
  # configMap: "my-custom-configmap"
  resources: {}
  # limits:
  #   cpu: 100m
  #   memory: 512Mi
  # requests:
  #   cpu: 100m
  #   memory: 512Mi
  autoscaling:
    enabled: false
    targetAverageUtilization: 70
    minReplicas: 1
    maxReplicas: 3

  numberOfServers: 0

  sidecarContainers: []
  ## Additional containers to be added to the Neo4j replica pod.
  #  - name: my-sidecar
  #    image: nginx:latest

  initContainers: []
  ## init containers to run before the Neo4j replica pod e.g. to install custom plugins
  ## They can also be used to restore from last available backup, to ensure that newly joining
  ## core members have less TX history to catch up on before joining the cluster.
  ## Note that this is specifically *not* needed for APOC, which is included by default.
  # - name: init-plugins
  #   image: "appropriate/curl:latest"
  #   imagePullPolicy: "IfNotPresent"
  #   volumeMounts:
  #   - name: plugins
  #     mountPath: /plugins
  #   command:
  #     - "/bin/sh"
  #     - "-c"
  #     - |
  #       curl -L https://somesite.com/path/to/plugin.jar -O
  #       cp plugin.jar /plugins/

resources: {}
# limits:
#   cpu: 100m
#   memory: 512Mi
# requests:
#   cpu: 100m
#   memory: 512Mi
