[vikunja] Improve Vikunja chart. (#1268)

This commit is contained in:
Nick Douma 2021-11-19 23:44:04 +01:00 committed by GitHub
parent 4cbe510d4a
commit 5573907216
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 86 additions and 16 deletions

View File

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 0.17.0 appVersion: 0.17.0
description: The to-do app to organize your life description: The to-do app to organize your life
name: vikunja name: vikunja
version: 4.2.0 version: 5.0.0
keywords: keywords:
- vikunja - vikunja
- to-do - to-do

View File

@ -1,6 +1,6 @@
# vikunja # vikunja
![Version: 4.2.0](https://img.shields.io/badge/Version-4.2.0-informational?style=flat-square) ![AppVersion: 0.17.0](https://img.shields.io/badge/AppVersion-0.17.0-informational?style=flat-square) ![Version: 5.0.0](https://img.shields.io/badge/Version-5.0.0-informational?style=flat-square) ![AppVersion: 0.17.0](https://img.shields.io/badge/AppVersion-0.17.0-informational?style=flat-square)
The to-do app to organize your life The to-do app to organize your life
@ -79,17 +79,19 @@ N/A
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| additionalContainers.api | object | See values.yaml | Set up the vikunja API container. | | additionalContainers.api | object | See values.yaml | Set up the vikunja API container. |
| additionalContainers.api.env | list | See below | You can declare all Vikunja parameters as environment variables. Please consult https://vikunja.io/docs/config-options/ to see all parameters. | | additionalContainers.api.env | list | See below | You can declare most Vikunja parameters as environment variables. Please consult https://vikunja.io/docs/config-options/ to see all parameters. Note that parameters that are an array cannot be defined as environment variables (like the OpenID Connect settings). Use the vikunja.config Value for that. |
| additionalContainers.api.image | string | `"vikunja/api:0.17.1"` | Vikunja api image and tag | | additionalContainers.api.image | string | `"vikunja/api:0.17.1"` | Vikunja api image and tag |
| additionalContainers.frontend | object | See values.yaml | Set up the vikunja frontend container. | | additionalContainers.frontend | object | See values.yaml | Set up the vikunja frontend container. |
| additionalContainers.frontend.image | string | `"vikunja/frontend:0.17.0"` | Vikunja frontend image and tag | | additionalContainers.frontend.image | string | `"vikunja/frontend:0.17.0"` | Vikunja frontend image and tag |
| caddy.noTls | bool | `false` | Disable auto tls if behind another loadbalancer or ingress |
| image.pullPolicy | string | `"IfNotPresent"` | | | image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"caddy"` | Caddy reverse proxy image and tag | | image.repository | string | `"caddy"` | Caddy reverse proxy image and tag |
| image.tag | string | `"2.3.0-alpine"` | vikunja api image tag | | image.tag | string | `"2.4.2-alpine"` | vikunja api image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. | | ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | | persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| persistence.files | object | `{"enabled":false,"mountpath":"/app/vikunja/files"}` | Volume used for static files | | persistence.files | object | `{"enabled":false,"mountpath":"/app/vikunja/files"}` | Volume used for static files |
| service | object | See values.yaml | Configures service settings for the chart. | | service | object | See values.yaml | Configures service settings for the chart. |
| vikunja.config | string | `"service:\n jwtsecret: \"myVeryComplexJWTSecret\""` | Provide Vikunja config as YAML string |
## Changelog ## Changelog
@ -97,6 +99,14 @@ All notable changes to this application Helm chart will be documented in this fi
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). 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).
### [5.0.0]
#### Changed
- Introduced a new configuration value called `vikunja.config` that allows you to provide configuration to Vikunja in a more straightforward way. Most notably: this allows you to configure all options, including any options that expect a list or array. See the [Vikunja documentation](https://vikunja.io/docs/config-options/) for all options.
- **Potentially breaking**: The new `vikunja.config` value defaults might conflict with existing `additionalContainers.api.env` configuration. Be sure to double check this before upgrading.
- Add `caddy.noTls` configuration value to allow suppression of Caddy's Let's Encrypt feature (e.g. to allow an Ingress controller like Traefik to handle this instead).
### [4.0.0] ### [4.0.0]
#### Changed #### Changed
@ -118,6 +128,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Initial version - Initial version
[5.0.0]: #500
[4.0.0]: #400 [4.0.0]: #400
[3.0.0]: #300 [3.0.0]: #300
[1.0.0]: #100 [1.0.0]: #100

View File

@ -9,6 +9,14 @@ All notable changes to this application Helm chart will be documented in this fi
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). 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).
### [5.0.0]
#### Changed
- Introduced a new configuration value called `vikunja.config` that allows you to provide configuration to Vikunja in a more straightforward way. Most notably: this allows you to configure all options, including any options that expect a list or array. See the [Vikunja documentation](https://vikunja.io/docs/config-options/) for all options.
- **Potentially breaking**: The new `vikunja.config` value defaults might conflict with existing `additionalContainers.api.env` configuration. Be sure to double check this before upgrading.
- Add `caddy.noTls` configuration value to allow suppression of Caddy's Let's Encrypt feature (e.g. to allow an Ingress controller like Traefik to handle this instead).
### [4.0.0] ### [4.0.0]
#### Changed #### Changed
@ -30,6 +38,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Initial version - Initial version
[5.0.0]: #500
[4.0.0]: #400 [4.0.0]: #400
[3.0.0]: #300 [3.0.0]: #300
[1.0.0]: #100 [1.0.0]: #100

View File

@ -12,6 +12,14 @@ persistence:
volumeSpec: volumeSpec:
configMap: configMap:
name: {{ printf "%v-config" (include "common.names.fullname" .) }} name: {{ printf "%v-config" (include "common.names.fullname" .) }}
vikunja-config:
enabled: "true"
mountPath: /etc/vikunja/config.yml
subPath: Vikunja.yaml
type: "custom"
volumeSpec:
configMap:
name: {{ printf "%v-config" (include "common.names.fullname" .) }}
{{- end -}} {{- end -}}
{{- $_ := mergeOverwrite .Values (include "vikunja.hardcodedValues" . | fromYaml) -}} {{- $_ := mergeOverwrite .Values (include "vikunja.hardcodedValues" . | fromYaml) -}}

View File

@ -7,10 +7,38 @@ metadata:
{{- include "common.labels" . | nindent 4 }} {{- include "common.labels" . | nindent 4 }}
data: data:
Caddyfile: |- Caddyfile: |-
{{ if .Values.service.main.ports.http.port }}:{{ .Values.service.main.ports.http.port }} { {
reverse_proxy /api/* localhost:3456 admin off
reverse_proxy /.well-known/* localhost:3456 {{- if .Values.caddy.noTls }}
reverse_proxy /dav/* localhost:3456 auto_https off
reverse_proxy localhost:80 {{- end }}
} }
{{ end }}
:{{ .Values.service.main.ports.http.port }} {
log {
output stdout
}
@api {
path /api/*
path /.well-known/*
path /dav/*
}
header {
# Remove Server header
-Server
}
# API
handle @api {
reverse_proxy localhost:3456
}
# Filtron
handle {
reverse_proxy localhost:80
}
}
Vikunja.yml: |-
{{ .Values.vikunja.config | indent 4 }}

View File

@ -9,10 +9,20 @@ image:
# -- Caddy reverse proxy image and tag # -- Caddy reverse proxy image and tag
repository: caddy repository: caddy
# -- vikunja api image tag # -- vikunja api image tag
tag: 2.3.0-alpine tag: 2.4.2-alpine
# vikunja api image pull policy # vikunja api image pull policy
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
caddy:
# -- Disable auto tls if behind another loadbalancer or ingress
noTls: false
vikunja:
# -- Provide Vikunja config as YAML string
config: |-
service:
jwtsecret: "myVeryComplexJWTSecret"
# -- Configures service settings for the chart. # -- Configures service settings for the chart.
# @default -- See values.yaml # @default -- See values.yaml
service: service:
@ -35,12 +45,13 @@ additionalContainers:
# -- Vikunja api image and tag # -- Vikunja api image and tag
image: vikunja/api:0.17.1 image: vikunja/api:0.17.1
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
# -- You can declare all Vikunja parameters as environment variables. # -- You can declare most Vikunja parameters as environment variables.
# Please consult https://vikunja.io/docs/config-options/ to see all parameters. # Please consult https://vikunja.io/docs/config-options/ to see all parameters.
# Note that parameters that are an array cannot be defined as environment variables (like the OpenID Connect settings). Use the vikunja.config Value for that.
# @default -- See below # @default -- See below
env: env: []
- name: VIKUNJA_SERVICE_JWTSECRET # - name: VIKUNJA_SERVICE_JWTSECRET
value: myVeryComplexJWTSecret # value: myVeryComplexJWTSecret
# - name: VIKUNJA_DATABASE_TYPE # - name: VIKUNJA_DATABASE_TYPE
# value: "postgres" # value: "postgres"
# - name: VIKUNJA_DATABASE_HOST # - name: VIKUNJA_DATABASE_HOST
@ -51,7 +62,10 @@ additionalContainers:
# value: "vikunja" # value: "vikunja"
# - name: VIKUNJA_DATABASE_PASSWORD # - name: VIKUNJA_DATABASE_PASSWORD
# value: password # value: password
volumeMounts: [] volumeMounts:
- name: vikunja-config
mountPath: /etc/vikunja/config.yml
subPath: Vikunja.yml
# - name: files # - name: files
# mountPath: /app/vikunja/files # mountPath: /app/vikunja/files