Code Monkey home page Code Monkey logo

neo4j-helm's Introduction

CircleCI

DEPRECATED

From version 4.3, Neo4j publishes a productized and supported version of Helm Charts, which have been written using the experience generated by the neo4j-helm Labs project. The new repository is here: https://github.com/neo4j/helm-charts.

For Neo4j standalone, productized Helm charts are available for Neo4j 4.3 and above.
For Neo4j Causal Cluster, productized Helm charts are available for Neo4j 4.4 and above.

That is the recommended way to run Neo4j in Kubernetes.
Full details are in the Kubernetes section of the Neo4j operations manual

The neo4j-helm Labs Helm charts described here will keep being updated for 4.4.x , but updates will stop from the next major release 5.0

Neo4j-Helm

This repository contains a Helm chart that starts Neo4j >= 4.0 Enterprise Edition clusters in Kubernetes.

Full Documentation can be found here

Quick Start

Check the releases page and copy the URL of the tgz package. Make sure to note the correct version of Neo4j.

Standalone (single server)

$ helm install mygraph RELEASE_URL --set core.standalone=true --set acceptLicenseAgreement=yes --set neo4jPassword=mySecretPassword

Casual Cluster (3 core, 0 read replicas)

$ helm install mygraph RELEASE_URL --set acceptLicenseAgreement=yes --set neo4jPassword=mySecretPassword

When you're done: helm uninstall mygraph.

Documentation

The User Guide contains all the documentation for this helm chart.

The Neo4j Community Site is a great place to go for discussion and questions about Neo4j & Kubernetes.

Additional instructions, general documentation, and operational facets are covered in the following articles:

Helm Testing

This chart contains a standard set of helm chart tests, which can be run after a deploy is ready, like this:

helm test mygraph

Local Testing & Development

Template Expansion

To see what helm will actually deploy based on the templates:

helm template --name-template tester --set acceptLicenseAgreement=yes --set neo4jPassword=mySecretPassword . > expanded.yaml

Full-Cycle Test

The following mini-script will provision a test cluster, monitor it for rollout, test it, report test results, and teardown / destroy PVCs.

Provision K8S Cluster

Please use the tools/test/provision-k8s.sh, and customize your Google Cloud project ID.

Standalone

Standalone forms faster so we can manually lower the liveness/readiness timeouts.

export NAME=a
export NAMESPACE=default
helm install $NAME . -f deployment-scenarios/ci/standalone.yaml && \
kubectl rollout status --namespace $NAMESPACE StatefulSet/$NAME-neo4j-core --watch && \
helm test $NAME --logs | tee testlog.txt
helm uninstall $NAME
sleep 20
for idx in 0 1 2 ; do
  kubectl delete pvc datadir-$NAME-neo4j-core-$idx ;
done

Causal Cluster

export NAME=a
export NAMESPACE=default
helm install $NAME . -f deployment-scenarios/ci/cluster.yaml && \
kubectl rollout status --namespace $NAMESPACE StatefulSet/$NAME-neo4j-core --watch && \
helm test $NAME --logs | tee testlog.txt
helm uninstall $NAME
sleep 20
for idx in 0 1 2 ; do
  kubectl delete pvc datadir-$NAME-neo4j-core-$idx ;
done

Internal Tooling

This repo contains internal tooling containers for backup, restore, and test of the helm chart.

Building the Containers

If you want to push your own docker containers, make sure that the registry in the Makefile is set to somewhere you have permissions on.

cd tools
make docker_build
make docker_push

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.