Files
chart/library/ix-dev/charts/nextcloud/templates/_configuration.tpl
2024-05-14 11:39:43 +03:00

115 lines
4.6 KiB
Smarty

{{- define "nextcloud.configuration" -}}
{{- $fullname := (include "ix.v1.common.lib.chart.names.fullname" $) -}}
{{- $dbHost := (printf "%s-postgres" $fullname) -}}
{{- $dbUser := "nextcloud" -}}
{{- $dbName := "nextcloud" -}}
{{- $dbPass := (randAlphaNum 32) -}}
{{/* Fetch secrets from pre-migration secret */}}
{{- with (lookup "v1" "Secret" .Release.Namespace "db-details") -}}
{{- $dbUser = ((index .data "db-user") | b64dec) -}}
{{- if contains "\\x" (printf "%q" $dbUser) -}}
{{- $dbUser = (index .data "db-user") -}}
{{- end -}}
{{- $dbPass = ((index .data "db-password") | b64dec) -}}
{{- end -}}
{{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-postgres-creds" $fullname)) -}}
{{- $dbUser = ((index .data "POSTGRES_USER") | b64dec) -}}
{{- $dbPass = ((index .data "POSTGRES_PASSWORD") | b64dec) -}}
{{- end -}}
{{- $redisHost := (printf "%s-redis" $fullname) -}}
{{- $redisPass := randAlphaNum 32 -}}
{{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-redis-creds" $fullname)) -}}
{{- $redisPass = ((index .data "REDIS_PASSWORD") | b64dec) -}}
{{- end -}}
{{/* Temporary set dynamic db details on values,
so we can print them on the notes */}}
{{- $_ := set .Values "ncDbPass" $dbPass | quote -}}
{{- $_ := set .Values "ncDbHost" $dbHost | quote -}}
{{- $_ := set .Values "ncDbName" $dbName | quote -}}
{{- $_ := set .Values "ncDbUser" $dbUser | quote -}}
{{- $dbURL := (printf "postgres://%s:%s@%s:5432/%s?sslmode=disable" $dbUser $dbPass $dbHost $dbName) }}
secret:
postgres-creds:
enabled: true
data:
POSTGRES_USER: {{ $dbUser }}
POSTGRES_DB: {{ $dbName }}
POSTGRES_PASSWORD: {{ $dbPass }}
POSTGRES_HOST: {{ $dbHost }}
POSTGRES_URL: {{ $dbURL }}
redis-creds:
enabled: true
data:
ALLOW_EMPTY_PASSWORD: "no"
REDIS_PASSWORD: {{ $redisPass }}
REDIS_HOST: {{ $redisHost }}
nextcloud-creds:
enabled: true
data:
POSTGRES_HOST: {{ $dbHost }}:5432
POSTGRES_DB: {{ $dbName }}
POSTGRES_USER: {{ $dbUser }}
POSTGRES_PASSWORD: {{ $dbPass }}
REDIS_HOST: {{ $redisHost }}
REDIS_HOST_PORT: "6379"
REDIS_HOST_PASSWORD: {{ $redisPass }}
NEXTCLOUD_DATA_DIR: {{ .Values.ncConfig.dataDir }}
PHP_UPLOAD_LIMIT: {{ printf "%vG" .Values.ncConfig.maxUploadLimit | default 3 }}
PHP_MEMORY_LIMIT: {{ printf "%vM" .Values.ncConfig.phpMemoryLimit | default 512 }}
{{- $host := "127.0.0.1" -}}
{{- if .Values.ncConfig.host -}}
{{- $host = printf "%v:%v" .Values.ncConfig.host .Values.ncNetwork.webPort -}}
{{- if contains ":" $host -}} {{/* Make sure it always contains a port https://ixsystems.atlassian.net/browse/TNCHARTS-1016 */}}
{{- $host = .Values.ncConfig.host -}}
{{- end -}}
{{- end }}
NEXTCLOUD_TRUSTED_DOMAINS: {{ list $host "127.0.0.1" "localhost" (printf "%v-*" $fullname) $fullname | mustUniq | join " " | quote }}
NEXTCLOUD_ADMIN_USER: {{ .Values.ncConfig.adminUser | quote }}
NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.ncConfig.adminPassword | quote }}
{{- if .Values.ncNetwork.certificateID }}
{{- $svcCidr := "" -}}
{{- $clusterCidr := "" -}}
{{- if .Values.global.ixChartContext -}}
{{- $svcCidr = .Values.global.ixChartContext.kubernetes_config.service_cidr -}}
{{- $clusterCidr = .Values.global.ixChartContext.kubernetes_config.cluster_cidr -}}
{{- end }}
APACHE_DISABLE_REWRITE_IP: "1"
OVERWRITEPROTOCOL: "https"
TRUSTED_PROXIES: {{ list $svcCidr $clusterCidr "127.0.0.1" | mustUniq | join " " | quote }}
{{- if .Values.ncConfig.host }}
{{- $overwritehost := printf "%v:%v" .Values.ncConfig.host .Values.ncNetwork.webPort -}}
{{- if .Values.ncNetwork.nginx.useDifferentAccessPort -}}
{{ $overwritehost = printf "%v:%v" .Values.ncConfig.host .Values.ncNetwork.nginx.externalAccessPort -}}
{{- if contains ":" .Values.ncConfig.host -}}
{{- $overwritehost = .Values.ncConfig.host -}}
{{- end -}}
{{- end }}
OVERWRITEHOST: {{ $overwritehost }}
{{- end }}
{{- end }}
{{- if eq (include "nextcloud.is-migration" $) "true" }}
postgres-backup-creds:
enabled: true
annotations:
helm.sh/hook: "pre-upgrade"
helm.sh/hook-delete-policy: "hook-succeeded"
helm.sh/hook-weight: "1"
data:
POSTGRES_USER: {{ $dbUser }}
POSTGRES_DB: {{ $dbName }}
POSTGRES_PASSWORD: {{ $dbPass }}
POSTGRES_HOST: {{ $dbHost }}
POSTGRES_URL: {{ printf "postgres://%s:%s@%s:5432/%s?sslmode=disable" $dbUser $dbPass $dbHost $dbName }}
{{- end }}
{{- end -}}