diff --git a/charts/stable/vikunja/Chart.yaml b/charts/stable/vikunja/Chart.yaml index c1bc61ae..37025c86 100644 --- a/charts/stable/vikunja/Chart.yaml +++ b/charts/stable/vikunja/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.17.0 description: The to-do app to organize your life name: vikunja -version: 4.2.0 +version: 5.0.0 keywords: - vikunja - to-do diff --git a/charts/stable/vikunja/README.md b/charts/stable/vikunja/README.md index 3f30c825..8aa91875 100644 --- a/charts/stable/vikunja/README.md +++ b/charts/stable/vikunja/README.md @@ -1,6 +1,6 @@ # 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 @@ -79,17 +79,19 @@ N/A | Key | Type | Default | Description | |-----|------|---------|-------------| | 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.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 | +| caddy.noTls | bool | `false` | Disable auto tls if behind another loadbalancer or ingress | | 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 | +| 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. | | 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 | | 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 @@ -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). +### [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] #### Changed @@ -118,6 +128,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Initial version +[5.0.0]: #500 [4.0.0]: #400 [3.0.0]: #300 [1.0.0]: #100 diff --git a/charts/stable/vikunja/README_CHANGELOG.md.gotmpl b/charts/stable/vikunja/README_CHANGELOG.md.gotmpl index 3b4abd60..74084d29 100644 --- a/charts/stable/vikunja/README_CHANGELOG.md.gotmpl +++ b/charts/stable/vikunja/README_CHANGELOG.md.gotmpl @@ -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). +### [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] #### Changed @@ -30,6 +38,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Initial version +[5.0.0]: #500 [4.0.0]: #400 [3.0.0]: #300 [1.0.0]: #100 diff --git a/charts/stable/vikunja/templates/common.yaml b/charts/stable/vikunja/templates/common.yaml index defb5d00..e5785c51 100644 --- a/charts/stable/vikunja/templates/common.yaml +++ b/charts/stable/vikunja/templates/common.yaml @@ -12,6 +12,14 @@ persistence: volumeSpec: configMap: 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 -}} {{- $_ := mergeOverwrite .Values (include "vikunja.hardcodedValues" . | fromYaml) -}} diff --git a/charts/stable/vikunja/templates/configmap.yaml b/charts/stable/vikunja/templates/configmap.yaml index 85696a4e..c9ad1db4 100644 --- a/charts/stable/vikunja/templates/configmap.yaml +++ b/charts/stable/vikunja/templates/configmap.yaml @@ -7,10 +7,38 @@ metadata: {{- include "common.labels" . | nindent 4 }} data: Caddyfile: |- - {{ if .Values.service.main.ports.http.port }}:{{ .Values.service.main.ports.http.port }} { - reverse_proxy /api/* localhost:3456 - reverse_proxy /.well-known/* localhost:3456 - reverse_proxy /dav/* localhost:3456 - reverse_proxy localhost:80 + { + admin off + {{- if .Values.caddy.noTls }} + auto_https off + {{- 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 }} diff --git a/charts/stable/vikunja/values.yaml b/charts/stable/vikunja/values.yaml index 0abbcd83..418dc2d3 100644 --- a/charts/stable/vikunja/values.yaml +++ b/charts/stable/vikunja/values.yaml @@ -9,10 +9,20 @@ image: # -- Caddy reverse proxy image and tag repository: caddy # -- vikunja api image tag - tag: 2.3.0-alpine + tag: 2.4.2-alpine # vikunja api image pull policy 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. # @default -- See values.yaml service: @@ -35,12 +45,13 @@ additionalContainers: # -- Vikunja api image and tag image: vikunja/api:0.17.1 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. + # 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 - env: - - name: VIKUNJA_SERVICE_JWTSECRET - value: myVeryComplexJWTSecret + env: [] + # - name: VIKUNJA_SERVICE_JWTSECRET + # value: myVeryComplexJWTSecret # - name: VIKUNJA_DATABASE_TYPE # value: "postgres" # - name: VIKUNJA_DATABASE_HOST @@ -51,7 +62,10 @@ additionalContainers: # value: "vikunja" # - name: VIKUNJA_DATABASE_PASSWORD # value: password - volumeMounts: [] + volumeMounts: + - name: vikunja-config + mountPath: /etc/vikunja/config.yml + subPath: Vikunja.yml # - name: files # mountPath: /app/vikunja/files