configreference.adoc 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. = Configuration Reference
  2. [abstract]
  3. Reference tables with a list of all configurable parameters and their defaults.
  4. ## General Configuration
  5. .General Configuration Reference
  6. |===
  7. |Parameter |Description| Default
  8. | `image`
  9. | Neo4j image
  10. | `neo4j`
  11. | `imageTag`
  12. | Neo4j version
  13. | (The default matches the release version of the helm chart itself)
  14. | `imagePullPolicy`
  15. | Image pull policy
  16. | `IfNotPresent`
  17. | `podDisruptionBudget`
  18. | Pod disruption budget
  19. | `{}`
  20. | `authEnabled`
  21. | Is login/password required?
  22. | `true`
  23. | `plugins`
  24. | 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]
  25. | `"[\"apoc\"]"`
  26. | `defaultDatabase`
  27. | The name of the default database to configure in Neo4j (dbms.default_database)
  28. | `neo4j`
  29. | `neo4jPassword`
  30. | Password to log in the Neo4J database if password is required
  31. | (random string of 10 characters)
  32. | `existingPasswordSecret`
  33. | The name of the kubernetes secret which contains the neo4j password
  34. | (none)
  35. | `existingPasswordSecretKey`
  36. | The key in `existingPasswordSecret` which contains the neo4j password
  37. | `neo4j-password`
  38. | `podLabels`
  39. | Extra / custom labels to apply to core & replica statefulset pods
  40. | `{}`
  41. | `podAnnotations`
  42. | Extra / custom annotations to apply to core & replica statefulset pods.
  43. | `{}`
  44. | `rbac.create`
  45. | Whether to create Role & RoleBinding for this chart.
  46. | `true`
  47. | `serviceAccount.create`
  48. | Whether to create a ServiceAccount for this chart.
  49. | `true`
  50. | `serviceAccount.annotations`
  51. | Extra / custom annotations to apply to core & replica service account.
  52. | `{}`
  53. | `serviceAccount.name`
  54. | Custom core & replica service account name. If empty, name will be generated from the chart's fullname.
  55. | (none)
  56. | `securityContext`
  57. | The https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[SecurityContext] for the Neo4j pod(s).
  58. | 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].
  59. | `containerSecurityContext`
  60. | The https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[SecurityContext] for the Neo4j database container(s).
  61. | The default is `{}`, we recommend to only set containerSecurityContext if the pod security context cannot be used.
  62. |===
  63. ## Neo4j Core Members
  64. .Core Member Configuration Reference
  65. |===
  66. |Parameter |Description| Default
  67. | `core.configMap`
  68. | Configmap providing configuration for core cluster members. If not specified, defaults that come with the chart will be used.
  69. | `$NAME-neo4j-core-config`
  70. | `core.envFrom`
  71. | YAML list of `envFrom` entries, permitting config for pods to be set from any number of ConfigMaps and secrets.
  72. | `[]`
  73. | `core.standalone`
  74. | 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.
  75. | false
  76. | `core.resources`
  77. | Resources required (e.g. CPU, memory) for the core database members
  78. | `{}` (no specific requests or limits)
  79. | `core.numberOfServers`
  80. | Number of machines in CORE mode
  81. | `3`
  82. | `core.sideCarContainers`
  83. | 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
  84. | `{}`
  85. | `core.initContainers`
  86. | Init containers to add to the core pod. Example use case is a script that installs custom plugins/extensions
  87. | `{}`
  88. | `core.persistentVolume.enabled`
  89. | Whether or not persistence is enabled
  90. | `true`
  91. | `core.persistentVolume.storageClass`
  92. | Storage class of backing PVC
  93. | `standard` (uses beta storage class annotation)
  94. | `core.persistentVolume.size`
  95. | Size of data volume
  96. | `1Ti`
  97. | `core.persistentVolume.mountPath`
  98. | Persistent Volume mount root path
  99. | `/data`
  100. | `core.persistentVolume.subPath`
  101. | Subdirectory of the volume to mount
  102. | `nil`
  103. | `core.persistentVolume.annotations`
  104. | Persistent Volume Claim annotations
  105. | `{}`
  106. | `core.additionalVolumes`
  107. | See the "Other Storage" section in the user guide for more information on this option.
  108. | `{}`
  109. | `core.additionalVolumeMounts`
  110. | See the "Other Storage" section in the user guide for more information on this option.
  111. | `{}`
  112. | `core.terminationGracePeriodSeconds`
  113. | Underlying pod termination grace period; permits Neo4j shutting down to properly flush buffers to disk before exiting, avoiding data corruption.
  114. | `300`
  115. | `core.service.type`
  116. | Service type
  117. | `ClusterIP`
  118. | `core.service.annotations`
  119. | Service annotations
  120. | `{}`
  121. | `core.service.labels`
  122. | Custom Service labels
  123. | `{}`
  124. | `core.service.loadBalancerSourceRanges`
  125. | List of IP CIDRs allowed access to LB (if `core.service.type: LoadBalancer`)
  126. | `[]`
  127. | `core.discoveryService.type`
  128. | Service type
  129. | `ClusterIP`
  130. | `core.discoveryService.annotations`
  131. | Service annotations
  132. | `{}`
  133. | `core.discoveryService.labels`
  134. | Custom Service labels
  135. | `{}`
  136. | `core.discoveryService.loadBalancerSourceRanges`
  137. | List of IP CIDRs allowed access to LB (if `core.discoveryService.type: LoadBalancer`)
  138. | `[]`
  139. |===
  140. ## Neo4j Read Replicas
  141. .Read Replica Configuration Reference
  142. |===
  143. |Parameter |Description| Default
  144. | `readReplica.configMap`
  145. | Configmap providing configuration for RR cluster members. If not specified, defaults that come with the chart will be used.
  146. | `$NAME-neo4j-replica-config`
  147. | `readReplica.envFrom`
  148. | YAML list of `envFrom` entries, permitting config for pods to be set from any number of ConfigMaps and secrets.
  149. | `[]`
  150. | `readReplica.resources`
  151. | Resources required (e.g. CPU, memory) for the read replica database members
  152. | `{}` (no specific requests or limits)
  153. | `readReplica.numberOfServers`
  154. | Number of machines in READ_REPLICA. May not be used with core.standalone=true mode
  155. | `0`
  156. | `readReplica.autoscaling.enabled`
  157. | Enable horizontal pod autoscaler
  158. | `false`
  159. | `readReplica.autoscaling.targetAverageUtilization`
  160. | Target CPU utilization
  161. | `70`
  162. | `readReplica.autoscaling.minReplicas`
  163. | Min replicas for autoscaling
  164. | `1`
  165. | `readReplica.autoscaling.maxReplicas`
  166. | Max replicas for autoscaling
  167. | `3`
  168. | `readReplica.initContainers`
  169. | Init containers to add to the replica pods. Example use case is a script that installs custom plugins/extensions
  170. | `{}`
  171. | `readReplica.persistentVolume.*`
  172. | See `core.persistentVolume.*` settings; they behave identically for read replicas
  173. | `N/A`
  174. | `readReplica.additionalVolumes`
  175. | See the "Other Storage" section in the user guide for more information on this option.
  176. | `{}`
  177. | `readReplica.additionalVolumeMounts`
  178. | See the "Other Storage" section in the user guide for more information on this option.
  179. | `{}`
  180. | `readReplica.terminationGracePeriodSeconds`
  181. | Underlying pod termination grace period; permits Neo4j shutting down to properly flush buffers to disk before exiting, avoiding data corruption.
  182. | `300`
  183. | `readReplica.service.type`
  184. | Service type
  185. | `ClusterIP`
  186. | `readReplica.service.annotations`
  187. | Service annotations
  188. | `{}`
  189. | `readReplica.service.labels`
  190. | Custom Service labels
  191. | `{}`
  192. | `readReplica.service.loadBalancerSourceRanges`
  193. | List of IP CIDRs allowed accessto LB (if `readReplica.service.type: LoadBalancer`)
  194. | `[]`
  195. |===
  196. == Naming your Deploy
  197. 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.
  198. If you would like to override this, you may specify any of these values:
  199. * fullnameOverride
  200. * fullnamePrefix
  201. * fullnameSuffix
  202. So for example if you set `fullnameOverride=graph` and `fullnamePrefix=marketing` then you will see the resources deployed named like:
  203. * `marketing-graph-core`
  204. * `marketing-graph-replica`
  205. (And so on) which would omit both the helm release name, and the app name (neo4j).