Kubernetes with Helm

Helm makes installing OliveTin on Kubernetes very easy, the official chart is hosted on Artifact Hub.

Artifact Hub

Requirements

Prerequisites

  • A Kubernetes cluster setup and running

  • Kubernetes client installed and authenticated

  • An ingress controller configure for web traffic

  • Helm installed and authenticated to the cluster

Installation

user@host: helm repo add olivetin https://olivetin.github.io/OliveTin-HelmChart/
user@host: helm install olivetin olivetin/olivetin
NAME: olivetin
LAST DEPLOYED: Tue Apr  1 23:19:09 2025
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None

Configure

After a minute or two, check the pod status;

user@host: kubectl get pods
NAME                       READY   STATUS    RESTARTS   AGE
olivetin-578b79766-4b8lg   1/1     Running   0          87s

Hopefully the pod is not crashlooping or anything like that. If it is, check the logs.

The helm chart should have created a basic ConfigMap for you;

user@host: kubectl describe cm/olivetin-config
Name:         olivetin-config
Namespace:    default
Labels:       app.kubernetes.io/managed-by=Helm
Annotations:  meta.helm.sh/release-name: olivetin
              meta.helm.sh/release-namespace: default

Data
====
config.yaml:
--
actions:
  - title: "Hello world!"
    shell: echo 'Hello World!'

You should edit this ConfigMap to match your needs for OliveTin. Remember to restart the OliveTin deployment if you want the config changes to be picked up more quickly;

user@host: kubectl rollout restart deploy/olivetin
deployment.apps/olivetin restarted

You should be able to browse to http://yourserver:1337 (or similar) to get to the web interface.

If you see the OliveTin page popup in your browser, you can jump to the configuration section as the next step.

Included templates

  • Deployment

  • ConfigMap

  • Service

  • Ingress (optional)