This chart bootstraps a Nuxeo deployment on a Kubernetes cluster using the Helm package manager.
Currently, there is a single version of this chart for all the versions of Nuxeo.
The code samples below rely on the Helm 3 command line.
By default, this chart deploys the strict minimum to have Nuxeo running with:
- emptyDir volume for binaries.
- H2 database.
- Opensearch embedded.
- Memory-only WorkManager and Nuxeo Streams.
To make a production-ready deployment of Nuxeo in Kubernetes, you can have a look at:
- The different parameters in the values.yaml file.
- The Full Deployment section.
helm repo add nuxeo https://packages.nuxeo.com/repository/helm-releases-public/
helm install my-release nuxeo/nuxeo
The nuxeo
chart can be installed either:
- Remotely, from the Nuxeo chart repository.
- Locally, from a checkout of this GitHub repository.
To install the chart from the Nuxeo chart respository, add this repository to the Helm configuration:
helm repo add nuxeo https://packages.nuxeo.com/repository/helm-releases-public/
Then, use nuxeo/nuxeo
as a replacement of NUXEO_CHART
in the commands below.
To install the chart from a checkout of this GitHub repository, use nuxeo
as a replacement of NUXEO_CHART
in the commands below.
To install the nuxeo
chart:
helm install RELEASE_NAME NUXEO_CHART
You can override any value of the base values.yaml file by creating your own myvalues.yaml
file and pass it to the helm install
command:
helm install RELEASE_NAME NUXEO_CHART --values=myvalues.yaml
You can also pass values directly to the helm install
command:
helm install RELEASE_NAME NUXEO_CHART --set nuxeo.image.tag=x.y.z
For example, to install some packages using a Nuxeo CLID:
helm install RELEASE_NAME NUXEO_CHART --set nuxeo.packages=nuxeo-web-ui,nuxeo-drive --set nuxeo.clid=NUXEO_CLID
To see the templates of the installed release:
helm get manifest RELEASE_NAME
For example, to pull another nuxeo image:
helm upgrade RELEASE_NAME NUXEO_CHART --set image.tag=2023.x
helm uninstall RELEASE_NAME
The following tables lists some of the configurable parameters of this chart and their default values. See values.yaml for the complete list.
Parameter | Description | Default |
---|---|---|
nuxeo.image.repository |
Nuxeo image name | docker-private.packages.nuxeo.com/nuxeo/nuxeo |
nuxeo.image.tag |
Nuxeo image tag | 2023 |
When a pull request is merged to master:
- The patch version of the chart is automatically incremented.
- The chart is released to the Nuxeo's ChartMuseum.
- A GitHub tag is created.
See the Jenkinsfile for more details.
The major and minor versions can be incremented manually.
To deploy Nuxeo along with MinIO, MongoDB, Opensearch and Kafka, one way is to use Helmfile to deploy multiple charts. You can have a look at the helmfile used to test and validate a Nuxeo cluster deployment.
To run it, you need to:
- Install the helmfile command line.
- Clone this repository or download the helm directory.
- In the
ci/helm
directory, run:
NAMESPACE=NAMESPACE helmfile --namespace=NAMESPACE --environment=cluster sync
NAMESPACE
is the target Kubernetes namespace for the various Helm releases.
The parameters of the nuxeo
chart, such as the Nuxeo image, can be configured in the values-nuxeo.yaml.gotmpl and values-nuxeo.yaml.gotmpl files.
The parameters of the minio
, mongodb
, opensearch
and kafka
charts can be configured in the values-CHART.yaml files.
Note: these values are just sample values. The related charts need a fine-grained configuration to be suitable for production, see the available values for each one of them: