123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- = Configuration Reference
- [abstract]
- Reference tables with a list of all configurable parameters and their defaults.
- ## General Configuration
- .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) https://github.com/neo4j/docker-neo4j/blob/master/neo4jlabs-plugins.json[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 https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[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. https://github.com/neo4j-contrib/neo4j-helm/issues/135[More information here].
- | `containerSecurityContext`
- | The https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[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
- .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
- .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).
|