image: gcr.io/neo4j-helm/backup
imageTag: 4.4.10
podLabels: {}
podAnnotations: {}
neo4jaddr: holder-neo4j.default.svc.cluster.local:6362
# In case of azure the bucket is used as the container where the backup is stored
# bucket: azure-storage-container
bucket: gs://test-neo4j
database: neo4j,system
# cloudProvider can be either gcp, aws, or azure
cloudProvider: gcp
# set secretName to NULL if using workload-identity in gcp
secretName: "neo4j-gcp-credentials"
pageCache: 2G
heapSize: 2G
fallbackToFull: "true"
checkConsistency: "true"
checkIndexes: "true"
checkGraph: "true"
checkLabelScanStore: "true"
checkPropertyOwners: "false"
removeExistingFiles: "true"
removeBackupFiles: "true"
jobSchedule: "0 */12 * * *"
backoffLimit: 6

# Set to name of an existing Service Account to use if desired
serviceAccountName: ""

# Volume to use as temporary storage for files before they are uploaded to cloud. For large databases local storage may not have sufficient space. In that case set an ephemeral or persistent volume with sufficient space here
# The chart defaults to an emptyDir, use this to overwrite default behavior
tempVolume:
  emptyDir: {}

tempVolumeMount:
  # Subdirectory of temporary volume to mount. useful if volume is not empty
  # subPath: backups/

# When running in mesh
shareProcessNamespace: false # Needs to be true for the below example configuration to work
sidecarContainers: []
  # This implementation was inspired by this comment: https://github.com/linkerd/linkerd2/issues/1869#issuecomment-595456178
  # And found in this post which describes the problem: https://suraj.io/post/how-to-gracefully-kill-kubernetes-jobs-with-a-sidecar/
  # This sidecar monitors the backup process that runs the main job and kills the consul-proxy once backup is finished.
  # Note that it's necessary to set `shareProcessNamespace: true` in `spec.template.spec` for this to work.
  # - name: consul-terminator
  #   image: ubuntu:19.04
  #   command:
  #    - sh
  #    - "-c"
  #     - |
  #       /bin/bash <<'EOSCRIPT'
  #       set -e
  #       # Check for the java process and sleep 5 seconds until the java process exits.
  #       while true; do pgrep backup.sh || break; echo "backup still running. wait 5" && sleep 5; done
  #       # After the backup process exits,
  #       echo "backup finished. Kill consul if running" 
  #       kill $(pgrep envoy) || echo "Envoy not running"
  #       kill $(pgrep consul-k8s) || echo "Lifecycle not running"
  #       EOSCRIPT
  #   resources:
  #     limits:
  #       cpu: 10m
  #       memory: 20M
  #     requests:
  #       cpu: 10m
  #       memory: 20M
