Skip to main content

Install Otomi with Helm

Add the Otomi repository

helm repo add otomi https://otomi.io/otomi-core
helm repo update

See helm repo for command documentation.

Minimal configuration

info

As of version 1.0.0 Otomi supports Kubernetes versions 1.25,1.26 and 1.27.

info

The Otomi Builds and Projects features and using Harbor for private registries is NOT supported when Otomi is installed with minimal configuration. Install Otomi with DNS to use all Otomi features.

cluster:
name: # the name of your cluster
provider: # choose between aws, azure, google, digitalocean, ovh, vultr, scaleway or custom

When the chart is installed, follow the activation steps.

Custom values

To view the required values.yaml file with detailed comments, view and download the chart's latest values.yaml. Run the following command to view all the values (which might be overwhelming):

helm show values otomi/otomi

To test wether the input values are correct run the following command:

helm template -f values.yaml otomi/otomi

Install the Chart

Install the chart with the following command:

helm install -f values.yaml otomi otomi/otomi

Monitoring the chart install

The chart deploys a Job (otomi) in the default namespace. Monitor the chart install using kubectl:

# get the status of the job
kubectl get job otomi -w
# watch the helm chart install status:
watch helm list -Aa

Or view detailed info about kubernetes resources with k9s

When the chart is installed, follow the activation steps

Installing from source

As an alternative, you can also clone the otomi-core source code from the Github and install otomi using the chart source code.

Download source

git clone https://github.com/redkubes/otomi-core.git
cd otomi-core

Before installing the chart from source, first change the CHART_VERSION_PLACEHOLDER in the chart/otomi/Chart.yaml to v1.0.0

Install

Now customize the values.yaml file. Make sure to set the version to the branch you like to use:

otomi:
version: main

Use the following command to install the chart with the name my-otomi-release (a custom name that you choose).

helm install -f values.yaml my-otomi-release chart/otomi

Uninstalling Otomi

helm uninstall my-otomi-release

Doing a Helm uninstall will remove all Helm releases deployed by Otomi. After uninstalling, some namespaces created by Otomi can stay in a Terminating status. To remove all namespaces in a Terminating status, run the following command:

for ns in $(kubectl get ns --field-selector status.phase=Terminating -o jsonpath='{.items[*].metadata.name}'); do kubectl get ns $ns -ojson | jq '.spec.finalizers = []' | kubectl replace --raw "/api/v1/namespaces/$ns/finalize" -f -; done