197 lines
8.3 KiB
Smarty
197 lines
8.3 KiB
Smarty
{{/* Define the secrets */}}
|
|
{{- define "vikunja.secrets" -}}
|
|
|
|
{{- $secretStorage := printf "%s-storage-secret" (include "tc.v1.common.lib.chart.names.fullname" .) -}}
|
|
{{- $pgHost := printf "%v-cnpg-main-rw" (include "tc.v1.common.lib.chart.names.fullname" $) -}}
|
|
{{- $jwtSecret := randAlphaNum 32 -}}
|
|
{{- with lookup "v1" "Secret" .Release.Namespace $secretStorage -}}
|
|
{{- $jwtSecret = index .data "JWT_SECRET" | b64dec -}}
|
|
{{- end }}
|
|
secret:
|
|
secret-storage:
|
|
enabled: true
|
|
data:
|
|
JWT_SECRET: {{ $jwtSecret }}
|
|
|
|
config:
|
|
enabled: true
|
|
data:
|
|
config.yaml: |
|
|
database:
|
|
type: postgres
|
|
user: {{ .Values.cnpg.main.user }}
|
|
password: {{ .Values.cnpg.main.creds.password | trimAll "\"" }}
|
|
host: {{ $pgHost }}
|
|
|
|
cache:
|
|
enabled: true
|
|
type: redis
|
|
|
|
redis:
|
|
enabled: true
|
|
host: {{ printf "%v-%v:%v" .Release.Name "redis" "6379" }}
|
|
password: {{ .Values.redis.creds.redisPassword | trimAll "\""}}
|
|
db: 0
|
|
|
|
keyvalue:
|
|
type: redis
|
|
|
|
service:
|
|
interface: ":3456"
|
|
JWTSecret: {{ $jwtSecret }}
|
|
timezone: {{ .Values.TZ | quote }}
|
|
{{- /* Multiply by 1, so large integers are not rendered in scientific notation
|
|
See: https://github.com/helm/helm/issues/1707#issuecomment-1167860346 */}}
|
|
jwtttl: {{ mul .Values.vikunja.service.jwtttl 1 }}
|
|
jwtttllong: {{ mul .Values.vikunja.service.jwtttllong 1 }}
|
|
frontendurl: {{ .Values.vikunja.service.frontendurl | quote }}
|
|
maxitemsperpage: {{ .Values.vikunja.service.maxitemsperpage }}
|
|
enablecaldav: {{ .Values.vikunja.service.enablecaldav }}
|
|
motd: {{ .Values.vikunja.service.motd | quote }}
|
|
enablelinksharing: {{ .Values.vikunja.service.enablelinksharing }}
|
|
enableregistration: {{ .Values.vikunja.service.enableregistration }}
|
|
enabletaskattachments: {{ .Values.vikunja.service.enabletaskattachments }}
|
|
enabletaskcomments: {{ .Values.vikunja.service.enabletaskcomments }}
|
|
enabletotp: {{ .Values.vikunja.service.enabletotp }}
|
|
enableemailreminders: {{ .Values.vikunja.service.enableemailreminders }}
|
|
enableuserdeletion: {{ .Values.vikunja.service.enableuserdeletion }}
|
|
maxavatarsize: {{ .Values.vikunja.service.maxavatarsize }}
|
|
|
|
metrics:
|
|
enabled: {{ .Values.metrics.enabled }}
|
|
|
|
cors:
|
|
enabled: {{ .Values.vikunja.cors.enabled }}
|
|
{{- with .Values.vikunja.cors.origins }}
|
|
origins:
|
|
{{- range . }}
|
|
- {{ . | quote }}
|
|
{{- end }}
|
|
{{- else }}
|
|
origins: []
|
|
{{- end }}
|
|
maxage: {{ .Values.vikunja.cors.maxage }}
|
|
|
|
mailer:
|
|
enabled: {{ .Values.vikunja.mailer.enabled }}
|
|
host: {{ .Values.vikunja.mailer.host | quote }}
|
|
port: {{ .Values.vikunja.mailer.port }}
|
|
authtype: {{ .Values.vikunja.mailer.authtype | quote }}
|
|
username: {{ .Values.vikunja.mailer.username | quote }}
|
|
password: {{ .Values.vikunja.mailer.password | quote }}
|
|
skiptlsverify: {{ .Values.vikunja.mailer.skiptlsverify }}
|
|
fromemail: {{ .Values.vikunja.mailer.fromemail | quote }}
|
|
queuelength: {{ .Values.vikunja.mailer.queuelength }}
|
|
queuetimeout: {{ .Values.vikunja.mailer.queuetimeout }}
|
|
forcessl: {{ .Values.vikunja.mailer.forcessl }}
|
|
|
|
log:
|
|
enabled: {{ .Values.vikunja.log.enabled }}
|
|
path: {{ .Values.vikunja.log.path | quote }}
|
|
standard: {{ .Values.vikunja.log.standard | quote }}
|
|
level: {{ .Values.vikunja.log.level | quote }}
|
|
database: {{ .Values.vikunja.log.database | quote }}
|
|
databaselevel: {{ .Values.vikunja.log.databaselevel | quote }}
|
|
http: {{ .Values.vikunja.log.http | quote }}
|
|
echo: {{ .Values.vikunja.log.echo | quote }}
|
|
events: {{ .Values.vikunja.log.events | quote }}
|
|
eventslevel: {{ .Values.vikunja.log.eventslevel | quote }}
|
|
|
|
ratelimit:
|
|
enabled: {{ .Values.vikunja.ratelimit.enabled }}
|
|
kind: {{ .Values.vikunja.ratelimit.kind | quote }}
|
|
period: {{ .Values.vikunja.ratelimit.period }}
|
|
limit: {{ .Values.vikunja.ratelimit.limit }}
|
|
store: redis
|
|
|
|
files:
|
|
maxsize: {{ .Values.vikunja.files.maxsize }}
|
|
|
|
avatar:
|
|
gravatarexpiration: {{ .Values.vikunja.avatar.gravatarexpiration }}
|
|
|
|
legal:
|
|
imprinturl: {{ .Values.vikunja.legal.imprinturl | quote }}
|
|
privacyurl: {{ .Values.vikunja.legal.privacyurl | quote }}
|
|
|
|
backgrounds:
|
|
enabled: {{ .Values.vikunja.backgrounds.enabled }}
|
|
providers:
|
|
upload:
|
|
enabled: {{ .Values.vikunja.backgrounds.providers.upload.enabled }}
|
|
unsplash:
|
|
enabled: {{ .Values.vikunja.backgrounds.providers.unsplash.enabled }}
|
|
accesstoken: {{ .Values.vikunja.backgrounds.providers.unsplash.accesstoken | quote }}
|
|
applicationid: {{ .Values.vikunja.backgrounds.providers.unsplash.applicationid | quote }}
|
|
|
|
migration:
|
|
todoist:
|
|
enable: {{ .Values.vikunja.migration.todoist.enable }}
|
|
clientid: {{ .Values.vikunja.migration.todoist.clientid | quote }}
|
|
clientsecret: {{ .Values.vikunja.migration.todoist.clientsecret | quote }}
|
|
redirecturl: {{ .Values.vikunja.migration.todoist.redirecturl | quote }}
|
|
trello:
|
|
enable: {{ .Values.vikunja.migration.trello.enable }}
|
|
key: {{ .Values.vikunja.migration.trello.key | quote }}
|
|
redirecturl: {{ .Values.vikunja.migration.trello.redirecturl | quote }}
|
|
microsofttodo:
|
|
enable: {{ .Values.vikunja.migration.microsofttodo.enable }}
|
|
clientid: {{ .Values.vikunja.migration.microsofttodo.clientid | quote }}
|
|
clientsecret: {{ .Values.vikunja.migration.microsofttodo.clientsecret | quote }}
|
|
redirecturl: {{ .Values.vikunja.migration.microsofttodo.redirecturl | quote }}
|
|
|
|
auth:
|
|
local:
|
|
enabled: {{ .Values.vikunja.auth.local.enabled }}
|
|
openid:
|
|
enabled: {{ .Values.vikunja.auth.openid.enabled }}
|
|
{{- with .Values.vikunja.auth.openid.redirecturl }}
|
|
redirecturl: {{ . | quote }}
|
|
{{- end }}
|
|
{{- with .Values.vikunja.auth.openid.providers }}
|
|
providers:
|
|
{{- range . }}
|
|
- name: {{ .name | quote }}
|
|
authurl: {{ .authurl | quote }}
|
|
{{- with .logouturl }}
|
|
logouturl: {{ . | quote }}
|
|
{{- end }}
|
|
clientid: {{ .clientid | quote }}
|
|
clientsecret: {{ .clientsecret | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
defaultsettings:
|
|
avatar_provider: {{ .Values.vikunja.defaultsettings.avatar_provider | quote }}
|
|
avatar_file_id: {{ .Values.vikunja.defaultsettings.avatar_file_id }}
|
|
email_reminders_enabled: {{ .Values.vikunja.defaultsettings.email_reminders_enabled }}
|
|
discoverable_by_name: {{ .Values.vikunja.defaultsettings.discoverable_by_name }}
|
|
discoverable_by_email: {{ .Values.vikunja.defaultsettings.discoverable_by_email }}
|
|
overdue_tasks_reminders_enabled: {{ .Values.vikunja.defaultsettings.overdue_tasks_reminders_enabled }}
|
|
overdue_tasks_reminders_time: {{ .Values.vikunja.defaultsettings.overdue_tasks_reminders_time | quote }}
|
|
default_list_id: {{ .Values.vikunja.defaultsettings.default_list_id }}
|
|
week_start: {{ .Values.vikunja.defaultsettings.week_start }}
|
|
{{- with .Values.vikunja.defaultsettings.language }}
|
|
language: {{ . | quote }}
|
|
{{- end }}
|
|
{{- with .Values.vikunja.defaultsettings.timezone }}
|
|
timezone: {{ . | quote }}
|
|
{{- end }}
|
|
|
|
configmap:
|
|
nginx-config:
|
|
enabled: true
|
|
data:
|
|
nginx-config: |
|
|
server {
|
|
listen {{ .Values.service.main.ports.main.port }};
|
|
location / {
|
|
proxy_pass http://localhost:80;
|
|
}
|
|
location ~* ^/(api|dav|\.well-known)/ {
|
|
proxy_pass http://localhost:3456;
|
|
client_max_body_size {{ .Values.vikunja.files.maxsize | upper | trimSuffix "B" }};
|
|
}
|
|
}
|
|
{{- end -}}
|