[vikunja] new chart (#679)

* [vikunja] new chart

* fix .helmignore
This commit is contained in:
auricom 2021-03-16 12:26:10 +01:00 committed by GitHub
parent ddc9693916
commit d6fadad88f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 482 additions and 0 deletions

View File

@ -0,0 +1,26 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl

26
charts/vikunja/Chart.yaml Normal file
View File

@ -0,0 +1,26 @@
apiVersion: v2
appVersion: 0.16.0
description: The to-do app to organize your life
name: vikunja
version: 1.0.0
keywords:
- vikunja
- to-do
- tasks
- calendar
- kanban
home: https://github.com/k8s-at-home/charts/tree/master/charts/vikunja
icon: https://s7.gifyu.com/images/GifCroppedTran.gif
sources:
- https://kolaente.dev/vikunja/api
- https://kolaente.dev/vikunja/frontend
- https://hub.docker.com/r/vikunja/api
- https://hub.docker.com/r/vikunja/frontend
- https://vikunja.io/docs/
maintainers:
- name: auricom
email: k8s-at-home@xpander.eml.cc
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 1.0.0

133
charts/vikunja/README.md Normal file
View File

@ -0,0 +1,133 @@
# vikunja
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 0.16.0](https://img.shields.io/badge/AppVersion-0.16.0-informational?style=flat-square)
The to-do app to organize your life
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## Source Code
* <https://kolaente.dev/vikunja/api>
* <https://kolaente.dev/vikunja/frontend>
* <https://hub.docker.com/r/vikunja/api>
* <https://hub.docker.com/r/vikunja/frontend>
* <https://vikunja.io/docs/>
## Requirements
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 1.0.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install vikunja k8s-at-home/vikunja
```
## Installing the Chart
To install the chart with the release name `vikunja`
```console
helm install vikunja k8s-at-home/vikunja
```
## Uninstalling the Chart
To uninstall the `vikunja` deployment
```console
helm uninstall vikunja
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install vikunja \
--set env.TZ="America/New York" \
k8s-at-home/vikunja
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install vikunja k8s-at-home/vikunja -f values.yaml
```
## Custom configuration
N/A
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| additionalContainers[0].env[0] | object | `{"name":"VIKUNJA_SERVICE_JWTSECRET","value":"myVeryComplexJWTSecret"}` | Vikunja unique secret |
| additionalContainers[0].image | string | `"vikunja/api:0.16.0"` | Vikunja api image and tag |
| additionalContainers[0].imagePullPolicy | string | `"IfNotPresent"` | |
| additionalContainers[0].name | string | `"api"` | |
| additionalContainers[1].image | string | `"vikunja/frontend:0.16.0"` | Vikunja frontend image and tag |
| additionalContainers[1].imagePullPolicy | string | `"IfNotPresent"` | |
| additionalContainers[1].name | string | `"frontend"` | |
| additionalVolumeMounts[0].mountPath | string | `"/etc/caddy/Caddyfile"` | |
| additionalVolumeMounts[0].name | string | `"vikunja-config"` | |
| additionalVolumeMounts[0].subPath | string | `"Caddyfile"` | |
| additionalVolumes[0].configMap.name | string | `"vikunja-config"` | |
| additionalVolumes[0].name | string | `"vikunja-config"` | |
| affinity | object | `{}` | Affinity settings for pod assignment of the GUI |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"caddy"` | Caddy reverse proxy image and tag |
| image.tag | string | `"2.3.0-alpine"` | vikunja api image tag |
| nodeSelector | object | `{}` | Node labels for pod assignment of the GUI |
| persistence.files | object | `{"emptyDir":false,"enabled":false,"mountpath":"/app/vikunja/files"}` | Volume used for static files |
| podAnnotations | object | `{}` | Pod annotations |
| resources | object | `{}` | |
| service.port.port | int | `8080` | Kubernetes port where used by Caddy reverse proxy |
| tolerations | list | `[]` | Toleration labels for pod assignment of the GUI |
## Changelog
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- N/A
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@ -0,0 +1,145 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}

View File

@ -0,0 +1,27 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}
{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- N/A
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
{{- end -}}

View File

@ -0,0 +1,9 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
N/A
{{- end -}}

View File

@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@ -0,0 +1,19 @@
{{/*
Vikunja Configuration files.
*/}}
apiVersion: v1
kind: ConfigMap
metadata:
name: "vikunja-config"
labels:
{{- include "common.labels" . | nindent 4 }}
data:
Caddyfile: |-
{{ if .Values.service.port.port }}:{{ .Values.service.port.port }} {
reverse_proxy /api/* localhost:3456
reverse_proxy /.well-known/* localhost:3456
reverse_proxy /dav/* localhost:3456
reverse_proxy localhost:80
}
{{ end }}

View File

@ -0,0 +1,96 @@
# Default values for vikunja.
image:
# -- Caddy reverse proxy image and tag
repository: caddy
# -- vikunja api image tag
tag: 2.3.0-alpine
# vikunja api image pull policy
pullPolicy: IfNotPresent
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
service:
port:
# -- Kubernetes port where used by Caddy reverse proxy
port: 8080
# -- Node labels for pod assignment of the GUI
nodeSelector: {}
# -- Toleration labels for pod assignment of the GUI
tolerations: []
# -- Affinity settings for pod assignment of the GUI
affinity: {}
# -- Pod annotations
podAnnotations: {}
additionalContainers:
- name: api
# -- Vikunja api image and tag
image: vikunja/api:0.16.0
# You can declare all Vikunja parameters as environment variables
# Please consult https://vikunja.io/docs/config-options/ to see all parameters
imagePullPolicy: IfNotPresent
env:
# -- Vikunja unique secret
- name: VIKUNJA_SERVICE_JWTSECRET
value: myVeryComplexJWTSecret
# - name: VIKUNJA_DATABASE_TYPE
# value: "postgres"
# - name: VIKUNJA_DATABASE_HOST
# value: db
# - name: VIKUNJA_DATABASE_DATABASE
# value: vikunja
# - name: VIKUNJA_DATABASE_USER
# value: "vikunja"
# - name: VIKUNJA_DATABASE_PASSWORD
# value: password
# volumeMounts:
# - name: files
# mountPath: /app/vikunja/files
- name: frontend
# -- Vikunja frontend image and tag
image: vikunja/frontend:0.16.0
imagePullPolicy: IfNotPresent
persistence:
# -- Volume used for static files
files:
enabled: false
emptyDir: false
mountpath: /app/vikunja/files
## Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
# storageClass: "-"
# accessMode: ReadWriteOnce
# size: 1Gi
## Do not delete the pvc upon helm uninstall
# skipuninstall: false
# existingClaim: ""
additionalVolumes:
- name: vikunja-config
configMap:
name: vikunja-config
additionalVolumeMounts:
- name: vikunja-config
mountPath: /etc/caddy/Caddyfile
subPath: Caddyfile