- helm v3 (Documented for helm3, however helm2 will also work if you use the correct commands)
- Kubernetes 1.9+
- PV support on the underlying infrastructure
This chart implements balloon with all necessary and optional features as sub charts. This charts includes the following sub charts:
- balloon server
- balloon server proxy
- balloon web ui
- balloon jobs
- balloon mongodb metrics
- browserless-chrome
The following sub charts get installed as dependencies from helm stable if enabled (which is the default):
- MongoDB replicaSet
- Elasticsearch
- ClamAV
- Collabora Code (Collab)
- Collabora Code (Document conversions)
balloon sub charts do not require persistent volumes however the balloon server is dependent on MongoDB and therefore a pv infrastructure is required which also applies to the optional elasticsearch integration.
To install the chart with the release name my-release
:
helm repo add balloon-stable https://gyselroth.github.io/balloon-helm/stable
helm install my-release balloon-stable/balloon --namespace mynamespace
Example deployment with ingress/tls enabled and 200GB MongoDB/Elasticsearch storage:
helm install my-release balloon-stable/balloon --namespace mynamespace \
--set ingress.enabled=1 \
--set ingress.hosts[0].name=balloon-api.local \
--set ingress.hosts[0].tls.secretName=tls-balloon-api.local \
--set balloon-api.url=https://balloon-api.local \
--set lool-collab.collabora.domain=balloon-api.local \
--set mongodb.persistentVolume.size=200Gi \
--set elasticsearch.data.persistence.size=75Gi \
--set elasticsearch.data.replicas=3
The balloon should now be installed and available. You may authenticate using the default admin user:
Username: admin
Password: admin
Besides the stable repository there is a repository which holds unstable balloon charts. Unstable charts also include all balloon pre-releases (Usually alpha and beta versions).
To install an unstable chart with the release name my-release
:
helm repo add balloon-unstable https://gyselroth.github.io/balloon-helm/unstable
helm install my-release balloon-unstable/balloon --namespace mynamespace
If you want to test balloon on a testing k8s cluster which might not have support for pvc you may disable persistence support:
helm install my-release balloon-stable/balloon --namespace mynamespace \
--set ingress.enabled=1 \
--set elasticsearch.data.persistence.enabled=0 \
--set elasticsearch.master.persistence.enabled=0 \
--set mongodb.persistentVolume.enabled=0
The following table lists the configurable parameters of the balloon sub charts and their default values.
(Note: Only the configuration for the balloon server sub chart is documented so far)
Parameter | Description | Default |
---|---|---|
balloon-api.replicaCount |
Number of replicas in the replica set | 2 |
balloon-api.fullnameOverrride |
Override deployment name | "" |
balloon-api.nameOverride |
Override deployment name | "" |
balloon-api.url |
The URL of balloon under which the server is reachable from outside | https://balloon-api.local |
balloon-api.image.repository |
Image repository and name | gyselroth/balloon |
balloon-api.image.tag |
Image tag for the install container | 2.6.7 |
balloon-api.image.pullPolicy |
Image pull policy for the init container that establishes the replica set | IfNotPresent |
balloon-api.service.type |
Service Type | ClusterIP |
balloon-api.service.port |
Service Port (balloon < v3 is executed using PHP-FPM) | 9000 |
balloon-api.extraLabels |
Extra labels | {} |
balloon-api.extraVars |
Extra env variables | {} |
balloon-api.extraVolumeMounts |
Extra volume mounts | {} |
balloon-api.extraVolumes |
Extra volumes | {} |
balloon-api.nodeSelector |
Custom node selector | "" |
balloon-api.tolerations |
Tolerations | [] |
balloon-api.resources |
Pod resource requests and limits | {} |
balloon-api.affinity |
Affinitiy | {} |
Parameter | Description | Default |
---|---|---|
balloon-web.extraVolumeMounts |
Extra volume mounts | {} |
balloon-web.extraVolumes |
Extra volumes | {} |
Upgrade the sub charts first which have changes.
Pack chart and update dependencies:
helm package -d stable stable/balloon
Checkout gh-pages and rebuild index
git checkout gh-pages
git add stable/*.tgz
helm repo index stable/
git commit .
git checkout master