Configuration Reference

Reference tables with a list of all configurable parameters and their defaults.

General Configuration

Table 1. General Configuration Reference
Parameter Description Default

image

Neo4j image

neo4j

imageTag

Neo4j version

(The default matches the release version of the helm chart itself)

imagePullPolicy

Image pull policy

IfNotPresent

podDisruptionBudget

Pod disruption budget

{}

authEnabled

Is login/password required?

true

plugins

Plugins to automatically install. (syntax must be valid JSON array string) Valid plugins listed here

"[\"apoc\"]"

defaultDatabase

The name of the default database to configure in Neo4j (dbms.default_database)

neo4j

neo4jPassword

Password to log in the Neo4J database if password is required

(random string of 10 characters)

existingPasswordSecret

The name of the kubernetes secret which contains the neo4j password

(none)

existingPasswordSecretKey

The key in existingPasswordSecret which contains the neo4j password

neo4j-password

podLabels

Extra / custom labels to apply to core & replica statefulset pods

{}

podAnnotations

Extra / custom annotations to apply to core & replica statefulset pods.

{}

rbac.create

Whether to create Role & RoleBinding for this chart.

true

serviceAccount.create

Whether to create a ServiceAccount for this chart.

true

serviceAccount.annotations

Extra / custom annotations to apply to core & replica service account.

{}

serviceAccount.name

Custom core & replica service account name. If empty, name will be generated from the chart’s fullname.

(none)

securityContext

The SecurityContext for the Neo4j pod(s).

The default is {}, but we recommend to use { runAsNonRoot: true, runAsUser: 7474 } so that pods do not run as root. More information here.

containerSecurityContext

The SecurityContext for the Neo4j database container(s).

The default is {}, we recommend to only set containerSecurityContext if the pod security context cannot be used.

Neo4j Core Members

Table 2. Core Member Configuration Reference

Parameter

Description

Default

core.configMap

Configmap providing configuration for core cluster members. If not specified, defaults that come with the chart will be used.

$NAME-neo4j-core-config

core.envFrom

YAML list of envFrom entries, permitting config for pods to be set from any number of ConfigMaps and secrets.

[]

core.standalone

Whether to run in single-server STANDALONE mode. When using standalone mode, core.numberOfServers is ignored and you will only get 1 Neo4j Pod. The remainder of core configuration applies.

false

core.resources

Resources required (e.g. CPU, memory) for the core database members

{} (no specific requests or limits)

core.numberOfServers

Number of machines in CORE mode

3

core.sideCarContainers

Sidecar containers to add to the core pod. Example use case is a sidecar which identifies and labels the leader when using the http API

{}

core.initContainers

Init containers to add to the core pod. Example use case is a script that installs custom plugins/extensions

{}

core.persistentVolume.enabled

Whether or not persistence is enabled

true

core.persistentVolume.storageClass

Storage class of backing PVC

standard (uses beta storage class annotation)

core.persistentVolume.size

Size of data volume

1Ti

core.persistentVolume.mountPath

Persistent Volume mount root path

/data

core.persistentVolume.subPath

Subdirectory of the volume to mount

nil

core.persistentVolume.annotations

Persistent Volume Claim annotations

{}

core.additionalVolumes

See the "Other Storage" section in the user guide for more information on this option.

{}

core.additionalVolumeMounts

See the "Other Storage" section in the user guide for more information on this option.

{}

core.terminationGracePeriodSeconds

Underlying pod termination grace period; permits Neo4j shutting down to properly flush buffers to disk before exiting, avoiding data corruption.

300

core.service.type

Service type

ClusterIP

core.service.annotations

Service annotations

{}

core.service.labels

Custom Service labels

{}

core.service.loadBalancerSourceRanges

List of IP CIDRs allowed access to LB (if core.service.type: LoadBalancer)

[]

core.discoveryService.type

Service type

ClusterIP

core.discoveryService.annotations

Service annotations

{}

core.discoveryService.labels

Custom Service labels

{}

core.discoveryService.loadBalancerSourceRanges

List of IP CIDRs allowed access to LB (if core.discoveryService.type: LoadBalancer)

[]

Neo4j Read Replicas

Table 3. Read Replica Configuration Reference

Parameter

Description

Default

readReplica.configMap

Configmap providing configuration for RR cluster members. If not specified, defaults that come with the chart will be used.

$NAME-neo4j-replica-config

readReplica.envFrom

YAML list of envFrom entries, permitting config for pods to be set from any number of ConfigMaps and secrets.

[]

readReplica.resources

Resources required (e.g. CPU, memory) for the read replica database members

{} (no specific requests or limits)

readReplica.numberOfServers

Number of machines in READ_REPLICA. May not be used with core.standalone=true mode

0

readReplica.autoscaling.enabled

Enable horizontal pod autoscaler

false

readReplica.autoscaling.targetAverageUtilization

Target CPU utilization

70

readReplica.autoscaling.minReplicas

Min replicas for autoscaling

1

readReplica.autoscaling.maxReplicas

Max replicas for autoscaling

3

readReplica.initContainers

Init containers to add to the replica pods. Example use case is a script that installs custom plugins/extensions

{}

readReplica.persistentVolume.*

See core.persistentVolume.* settings; they behave identically for read replicas

N/A

readReplica.additionalVolumes

See the "Other Storage" section in the user guide for more information on this option.

{}

readReplica.additionalVolumeMounts

See the "Other Storage" section in the user guide for more information on this option.

{}

readReplica.terminationGracePeriodSeconds

Underlying pod termination grace period; permits Neo4j shutting down to properly flush buffers to disk before exiting, avoiding data corruption.

300

readReplica.service.type

Service type

ClusterIP

readReplica.service.annotations

Service annotations

{}

readReplica.service.labels

Custom Service labels

{}

readReplica.service.loadBalancerSourceRanges

List of IP CIDRs allowed accessto LB (if readReplica.service.type: LoadBalancer)

[]

Naming your Deploy

This chart uses the fullnameOverride convention, to allow you to control the name of resources that get applied to the cluster. By default, when you install a release called mygraph you’ll end up with resources named things like mygraph-neo4j-core and mygraph-neo4j-replica which is the release name, app name, and component name.

If you would like to override this, you may specify any of these values:

  • fullnameOverride

  • fullnamePrefix

  • fullnameSuffix

So for example if you set fullnameOverride=graph and fullnamePrefix=marketing then you will see the resources deployed named like:

  • marketing-graph-core

  • marketing-graph-replica

(And so on) which would omit both the helm release name, and the app name (neo4j).