Back to Charts

⚠️ Repo Archive Notice

stable/quassel/README.md

latest8.5 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

Quassel

Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that one (or multiple) client(s) can attach to and detach from a central core.

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

TL;DR;

console
$ helm install stable/quassel

Introduction

This chart bootstraps a Quassel deployment on a Kubernetes cluster using the Helm package manager.

Installing the Chart

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

console
$ helm install stable/quassel --name my-release

The command deploys Quassel on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

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.

Configuration

The following table lists the configurable parameters of the quassel chart and their default values.

ParameterDescriptionDefault
imagePullSecretsSpecify image pull secretsnil (does not add image pull secrets to deployed pods)
image.repositoryThe image repository to pull fromlinuxserver/quassel-core
image.tagThe image tag to pull from92
image.pullPolicyImage pull policyIfNotPresent
uidUser ID to run Quassel as1000
gidGroup ID to run Quassel as1000
service.portTCP port on which the Quassel service is exposed4242
service.typeservice typeClusterIP
service.nodePortif service.type is NodePort and this is non-empty, sets the Quassel node port of the servicenil
persistence.enabledEnable config persistence using PVCtrue
persistence.storageClassPVC Storage Class for config volumenil
persistence.existingClaimName of an existing PVC to use for confignil
persistence.accessModePVC Access Mode for config volumeReadWriteOnce
persistence.sizePVC Storage Request for config volume1Gi
resourcesResource limits for Quassel pod{}
nodeSelectorMap of node labels for pod assignment{}
tolerationsList of node taints to tolerate[]
affinityMap of node/pod affinities{}
postgresql.enabledEnable PostgreSQL deploymentfalse
postgresql.postgresUserPostgreSQL User to createquassel
postgresql.postgresPasswordPostgreSQL Password for the new usernil (Password will be randomly generated)
postgresql.postgresDatabasePostgreSQL Database to createquassel
postgresql.persistence.enabledEnable PostgreSQL persistence using PVCtrue
postgresql.persistence.storageClassPVC Storage Class for PostgreSQL volumenil
postgresql.persistence.existingClaimName of an existing PVC to use for PostgreSQLnil
postgresql.persistence.accessModePVC Access Mode for PostgreSQL volumeReadWriteOnce
postgresql.persistence.sizePVC Storage Request for PostgreSQL volume1Gi

Additional PostgreSQL parameters are available - refer to the PostgreSQL chart for more details.

console
$ helm install stable/quassel --name my-release \
  --set=image.tag=86,resources.limits.cpu=200m

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

console
$ helm install stable/quassel --name my-release -f values.yaml

Tip: You can use the default values.yaml as an example

Persistence

The quassel-core image stores its configuration data, and if using SQLite, its SQLite database at the /config path of the container.

The chart mounts a Persistent Volume at this location. The volume is created using dynamic volume provisioning. If the PersistentVolumeClaim should not be managed by the chart, define persistence.existingClaim or disable persistence with persistence.enabled.

Existing PersistentVolumeClaims

  1. Create the PersistentVolume
  2. Create the PersistentVolumeClaim
  3. Install the chart
bash
$ helm install stable/quassel --set persistence.existingClaim=PVC_NAME

This process can be repeated for the PostgreSQL volume if desired