Futtertrog Is an easy system to organize yours and your coworkers lunch orders.
helm repo add robjuz https://robjuz.github.io/helm-charts/
helm install futtertrog robjuz/futtertrog
This chart bootstraps a futtertrog deployment on a Kubernetes cluster using the Helm package manager.
It also packages the Bitnami MariaDB chart which is required for bootstrapping a MariaDB deployment for the database requirements of the Futtertrog application.
This chart has been tested to work with NGINX Ingress and cert-manager on top of the MicroK8s.
- Kubernetes 1.18+
- Helm 3.1.0
To install the chart with the release name futtertrog
:
helm install futtertrog robjuz/futtertrog
The command deploys Futtertrog on the Kubernetes cluster in the default configuration. The Parameters section lists the parameters that can be configured during installation.
Tip: List all releases using
helm list
To uninstall/delete the futtertrog
deployment:
helm delete futtertrog
The command removes all the Kubernetes components associated with the chart and deletes the release.
Name | Description | Value |
---|---|---|
nameOverride |
String to partially override common.names.fullname | nil |
fullnameOverride |
String to fully override common.names.fullname | nil |
Name | Description | Value |
---|---|---|
image.repository |
Futtertrog image repository | robjuz/futtertrog |
image.tag |
Futtertrog image tag (immutable tags are recommended) | latest |
image.pullPolicy |
Futtertrog image pull policy | IfNotPresent |
imagePullSecrets |
Futtertrog image pull secrets | [] |
Name | Description | Value |
---|---|---|
appKey |
Application key | `` |
adminNamel |
Name of the admin | admin@futtertrog.local |
adminEmail |
Email for the admin account | admin@futtertrog.local |
adminPassword |
Password for the admin account | changemeplease |
Name | Description | Value |
---|---|---|
gitlab.enabled |
Enable login with Gitlab | false |
gitlab.url |
Gitlab url | `` |
gitlab.clientId |
Gitlab application clientId | `` |
gitlab.clientSecret |
Gitlab application clientSecret | `` |
nexmo.key |
Nexmo key | `` |
nexmo.secret |
Nexmo secret | `` |
Name | Description | Value |
---|---|---|
holzke.enabled |
Enable Holzke provider | false |
holzke.login |
Holzke login | `` |
holzke.password |
Holzke password | `` |
holzke.cronjob |
Enable Holzke automatic meal import | false |
holzke.orderInfo |
Additional information when placing order | `` |
call_a_pizza.enabled |
Enable Call A Pizza provider | dresden_loebtau_sued |
call_a_pizza.location |
Call A Pizza location | `` |
Name | Description | Value |
---|---|---|
replicaCount |
Number of Futtertrog replicas to deploy | 1 |
updateStrategy.type |
Futtertrog deployment strategy type | RollingUpdate |
updateStrategy.rollingUpdate |
Futtertrog deployment rolling update configuration parameters | {} |
podAnnotations |
Annotations for Futtertrog pods | {} |
Name | Description | Value |
---|---|---|
service.type |
Futtertrog service type | ClusterIP |
service.port |
Futtertrog service HTTP port | 80 |
ingress.enabled |
Enable ingress record generation for Futtertrog | false |
ingress.certManager |
Add the corresponding annotations for cert-manager integration | false |
ingress.hostname |
Default host for the ingress record | kimai.local |
ingress.annotations |
Additional custom annotations for the ingress record | {} |
ingress.tls |
Enable TLS configuration for the host defined at ingress.hostname parameter |
false |
ingress.secrets |
Custom TLS certificates as secrets | [] |
Name | Description | Value |
---|---|---|
mariadb.enabled |
Deploy a MariaDB server to satisfy the applications database requirements | true |
mariadb.architecture |
MariaDB architecture. Allowed values: standalone or replication |
standalone |
mariadb.auth.rootPassword |
MariaDB root password | changeme |
mariadb.auth.database |
MariaDB custom database | kimai |
mariadb.auth.username |
MariaDB custom user name | kimai |
mariadb.auth.password |
MariaDB custom user password | kimai |
mariadb.primary.persistence.enabled |
Enable persistence on MariaDB using PVC(s) | true |
mariadb.primary.persistence.storageClass |
Persistent Volume storage class | nil |
mariadb.primary.persistence.accessModes |
Persistent Volume access modes | [ReadWriteOnce] |
mariadb.primary.persistence.size |
Persistent Volume size | 4Gi |
The above parameters map to the env variables defined in robjuz/futtertrog. For more information please refer to the robjuz/futtertrog image documentation.
Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example,
helm install my-release \
--set adminEmail=admin@example.com \
--set adminPassword=password \
--set mariadb.auth.rootPassword=secretpassword \
robjuz/futtertrog
The above command sets the Futtertrog administrator account username and password to admin@example.com
and password
respectively. Additionally, it sets the MariaDB root
user password to secretpassword
.
NOTE: Once this chart is deployed, it is not possible to change the application's access credentials, such as usernames or passwords, using Helm. To change these application credentials after deployment, delete any persistent volumes (PVs) used by the chart and re-deploy it, or use the application's built-in administrative tools if available.
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
helm install futtertrog -f values.yaml robjuz/futtertrog
You may want to have Futtertrog connect to an external database rather than installing one inside your cluster. Typical reasons for this are to use a managed database service, or to share a common database server for all your applications. To achieve this, the chart allows you to specify credentials for an external database with the externalDatabase
parameter. You should also disable the MariaDB installation with the mariadb.enabled
option. Here is an example:
mariadb.enabled=false
externalDatabase.host=myexternalhost
externalDatabase.user=myuser
externalDatabase.password=mypassword
externalDatabase.database=mydatabase
externalDatabase.port=3306
This chart provides support for Ingress resources. If an Ingress controller, such as nginx-ingress or traefik, that Ingress controller can be used to serve Futtertrog.
To enable Ingress integration, set ingress.enabled
to true
. The ingress.hostname
property can be used to set the host name. The ingress.tls
parameter can be used to add the TLS configuration for this host.
The chart also facilitates the creation of TLS secrets for use with the Ingress controller, with different options for certificate management.