Table of Contents

Install / Upgrade

Add the Neos helm repository

# Add dependencies if needed
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add jaeger https://jaegertracing.github.io/helm-charts

# Add main repository
helm repo add neos-harbor https://harbor.hexanet.fr:8443/chartrepo/neos
helm repo update

Validate your values file

In order to check if your values file is correct, you can use the helm lint -f <path_to_your_values_file> neos-harbor/neos.

To check the Kubernetes manifest files without applying them you can execute a dry run :

helm install --debug --dry-run=server -f <path_to_your_values_file> -n <replace_with_your_namespace> --version <specify_neos_chart_version> <replace_with_your_application_name> neos-harbor/neos
Warning

The chart can only do server-side dry runs (eg: --dry-run=server, not --dry-run without value) since it needs for example to validate that secrets exist.

Installation

To install the chart (or update an existing one), you just need to run the following command :

helm upgrade --install -f <path_to_your_values_file> -n <replace_with_your_namespace> --version <specify_neos_chart_version> <replace_with_your_application_name> neos-harbor/neos

Once you installed your chart, you should be able to see it using helm list.

You can then check the deployment of all the pods with the command kubectl get deploy.

Note

Deployments carry checksum/* annotations (e.g. checksum/configmap, checksum/configuration, checksum/secrets) computed from their dependent ConfigMaps, Dapr Configurations and Secrets. When one of these resources changes, its checksum changes too, which automatically triggers a rolling restart of the affected pods on the next helm upgrade — you don't need to manually restart deployments after updating a referenced secret or configuration value.

Rollback

If you need to rollback a deployment, first list the Helm releases in your namespace:

helm list -n <replace_with_your_namespace>

You can also inspect the revision history of a release:

helm history -n <replace_with_your_namespace> <replace_with_your_application_name>

To help identify the correct revision to restore, you can inspect the values currently applied to the release:

helm get values -n <replace_with_your_namespace> <replace_with_your_application_name>

If needed, you can also inspect the manifest currently deployed by the release:

helm get manifest -n <replace_with_your_namespace> <replace_with_your_application_name>

Then compare with the values file or manifest generated from the candidate revision you want to restore.

For example, render the chart locally with the values file associated with the target revision:

helm template -f <path_to_values_file_of_candidate_revision> --namespace <replace_with_your_namespace> <replace_with_your_application_name> neos-harbor/neos

Then rollback the release to a previous revision:

helm rollback -n <replace_with_your_namespace> <replace_with_your_application_name> <replace_with_revision_number>

After the rollback, you can verify the deployment status with:

kubectl get deploy -n <replace_with_your_namespace>