# Helm Chart for Quassel Core

## TL;DR

```console
$ helm repo add justjanne https://helm.k8r.eu/
$ helm install -f values.yaml quassel-core --set fullnameOverride=quassel-core justjanne/quassel
```

## Introduction

This chart installs a [Quassel Core] deployment on a [Kubernetes] cluster using 
the [Helm] package manager.

It supports the following architectures: `x86-64`, `aarch64`, `armhf`.  
For non-x86_64 deployments, use `--set image.tag=v0.14.0-aarch64` (or 
`v0.14.0-armhf` accordingly)

## Installing the Chart

To install the chart with the release name `my-release`:

```console
$ helm install my-release justjanne/quassel-helm
```

The command deploys Quassel Core on the Kubernetes cluster in the default 
configuration. See [values.yaml] for available configuration options.

## Exposing the Chart

You’ll have to configure your ingress controller, load balancer, or an
equivalent resource to expose the quassel service from your cluster.

With the [NGINX Ingress Controller], you’d  add the following line to your 
[TCP service map]:

```diff
apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: ingress-nginx
data:
  9000: "default/example-go:8080"
+   4242: "default/quassel-helm-my-release:4242"
```

If using the proxy protocol, you’d add the "::PROXY" suffix.

If using a different ingress controller, load balancer, etc., please follow
their documentation for how to expose TCP services.

## Uninstalling the Chart

To uninstall/delete the `my-release` deployment:

```console
$ helm delete my-release
```

The command removes all the Kubernetes components associated with the chart and 
deletes the release.

---

[Quassel Core]: https://quassel-irc.org/
[Kubernetes]: https://kubernetes.io
[Helm]: https://helm.sh
[values.yaml]: https://git.kuschku.de/justJanne/quassel-helm/-/blob/main/values.yaml
[NGINX Ingress Controller]: https://kubernetes.github.io/ingress-nginx/
[TCP service map]: https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/#exposing-tcp-and-udp-services