Skip to content

A demonstration of a Helm 3 Chart to deploy uptime-kuma on OpenShift and Kubernetes.

License

Notifications You must be signed in to change notification settings

k3rnelpan1c-dev/uptime-kuma-helm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Uptime Kuma Helm Chart

🏗️ Container Image Build Maintenance GitHub

Important

Due to IRL stress, limited time and lack of current validation/test environment, I must, with a heavy heart, pause maintenance of this repo. I sincerely apologize to everyone who was waiting on updates for the past half year, who has likely seen this coming.

What does that mean, exactly? I will try and update the rootless image as time permits and keep up with any feature PRs contributed, but I cannot with a straight face call this JIT/active maintenance, nor will I be migrating to uptime-kuma 2.y.z anytime soon. Thank you everyone who has helped out and who is interested in this project, I hope to return as I find more time this year for OSS (I am planing to do a better job scheduling).

This repo contains the automation to repackage uptime-kuma into a non-root OCI container image as well as a simple Helm 3 Chart to deploy on OpenShift, but also on Kubernetes.

The Helm Chart will deploy a single Pod as part of a StatefulSet, you can configure persistence and optionally deploy a OpenShift Route or regular K8s Ingress alongside.

Helm Repo

Important

As of version 1.3.0 of this repository/chart there is now a Helm Repository.

Adding the Helm repository to your Helm
helm repo add k3 https://k3rnelpan1c-dev.github.io/uptime-kuma-helm/
helm repo update
Installing the Chart from the repo
helm install test-uptime k3/uptime-kuma
# or a specific version
helm install test-uptime k3/uptime-kuma --version 1.3.0

Service Monitor

To use the ServiceMonitor you can enable it by adding serviceMonitor.enabled=true to your values.yaml

Usage

To use this you will have to startup uptime-kuma, go to Settings → API Keys → Create a key and copy the token. Then add a secret to your namespace that looks like the source file below. Make sure you fill in the username and the password. The username should be the username you use to login. The password should be the token you just generated. If you do not use Authentication in Kuma you can skip this part.

apiVersion: v1
kind: Secret
metadata:
  name: uptime-kuma-credentials
type: Opaque
data:
  username: <username>
  password: <token>

Custom Image

The custom image within this repo is built with the intent to repackage uptime-kuma in an OpenShift compatible way (i.e. to support and work properly with arbitrary UIDs), therefor the image is also a non-root image. It is used within this chart and its sources can be fund under the container folder within this repo or here:

link:./container/Containerfile[role=include]

I published a prebuilt version of this to Quay.io and reference that within the Chart, feel free to use that or build it yourself 😉.

Alternatively, the image is also pushed to ghcr.io (GitHub Container registry) so there is a backup mirror when you run into issues with Quay.

Support

Important
Please note that this is plainly an UNOFFICIAL way to install uptime-kuma. So please do not expect to get help and or support in the official uptime-kuma issues or other forms of help sections!

This Helm Chart and the image where validated against Open Shift 4.x, yet they should work fine with regular Kubernetes.

I will try to keep this Chart and container image updated and operational, yet it may take me a moment to get to the latest uptime-kuma release (~1-2 days usually).