Create a Helm deployment values.yaml file

You create a Helm deployment YAML file containing all the configurations for your Neo4j standalone instance.

1. Important configuration parameters

neo4j.resources

The size of a Neo4j instance is defined by the values of the neo4j.resources.cpu and neo4j.resources.memory parameters. The minimum is 0.5 CPU and 2GB memory. If invalid or less than the minimum values are provided, Helm will throw an error, for example:

Error: template: neo4j-standalone/templates/_helpers.tpl:157:11: executing "neo4j.resources.evaluateCPU" at <fail (printf "Provided cpu value %s is less than minimum. \n %s" (.Values.neo4j.resources.cpu) (include "neo4j.resources.invalidCPUMessage" .))>: error calling fail: Provided cpu value 0.25 is less than minimum.
 cpu value cannot be less than 0.5 or 500m
neo4j.password

The password for the neo4j user.
If you do not provide a password, the Neo4j Helm Chart will automatically generate one for you. (Make a note of it.)

neo4j.edition and neo4j.acceptLicenseAgreement

By default, the standalone Helm Chart installs Neo4j Community Edition. If you want to install Neo4j Enterprise Edition, set the configuration parameters edition: "enterprise" and acknowledge license compliance by setting neo4j.acceptLicenseAgreement to "yes".

volumes.data

The volumes.data parameter maps the data volume mount of your Neo4j to the persistent volume that you have created for that instance. See Create a persistent volume.

For details of all Neo4j Helm Chart configuration options, see Configure a Neo4j Helm deployment.

2. Create a values.yaml file

Select the tab as per your Kubernetes environment and using the provided example, create a YAML file for your standalone instance.

This guide assumes that the YAML file is named my-neo4j.values.yaml.

neo4j:
  resources:
    cpu: "0.5"
    memory: "2Gi"

  # Uncomment to set the initial password
  #password: "my-initial-password"

  # Uncomment to use enterprise edition
  #edition: "enterprise"
  #acceptLicenseAgreement: "yes"

volumes:
  data:
    mode: "volume"
    volume:
      gcePersistentDisk:
        pdName: "my-neo4j-disk"
neo4j:
  resources:
    cpu: "0.5"
    memory: "2Gi"

  # Uncomment to set the initial password
  #password: "my-initial-password"

  # Uncomment to use enterprise edition
  #edition: "enterprise"
  #acceptLicenseAgreement: "yes"

volumes:
  data:
    mode: "volume"
    volume:
      awsElasticBlockStore:
        volumeID: "<volume id>"
        fsType: ext4
neo4j:
  resources:
    cpu: "0.5"
    memory: "2Gi"

  # Uncomment to set the initial password
  #password: "my-initial-password"

  # Uncomment to use enterprise edition
  #edition: "enterprise"
  #acceptLicenseAgreement: "yes"

volumes:
  data:
    mode: "volume"
    volume:
      azureDisk:
        diskName: "my-neo4j-disk"
        diskURI: "<disk id>"
        kind: Managed
neo4j:
  resources:
    cpu: "0.5"
    memory: "2Gi"

  # Uncomment to set the initial password
  #password: "my-initial-password"

  # Uncomment to use enterprise edition
  #edition: "enterprise"
  #acceptLicenseAgreement: "yes"

volumes:
  data:
    mode: defaultStorageClass
    defaultStorageClass:
      requests:
        storage: 2Gi