catalog/premium/nextcloud/29.10.36/templates/common.yaml

93 lines
3.6 KiB
YAML

{{- $selector := dict -}}
{{- range $name := (list "main" "nextcloud-cron" "preview-cron") -}}
{{/* creates main: {} */}}
{{- $_ := set $selector $name dict -}}
{{/* sets main: {} to main: { main: {} } */}}
{{- $_ := set (get $selector $name) $name dict -}}
{{- end -}}
{{- range $item := .Values.persistenceList -}}
{{- $_ := set $item "targetSelector" $selector -}}
{{- end -}}
{{/* Make sure all variables are set properly */}}
{{- include "tc.v1.common.loader.init" . -}}
{{- include "nextcloud.validation" $ -}}
{{/* Render configmaps for all pods */}}
{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}}
{{- if $configmaps -}}
{{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}}
{{- end -}}
{{/* Create hostAliases (resolve ingress host to Node/LB IP) */}}
{{- $hostAlias := (list (dict
"ip" .Values.nextcloud.general.accessIP
"hostnames" (
list (include "nextcloud.accesshost" $)
)
)) -}}
{{/* Add [hostAliases] to nextcloud and collabora pod */}}
{{- $_ := set .Values.workload.main.podSpec "hostAliases" $hostAlias -}}
{{- $_ := set .Values.workload.collabora.podSpec "hostAliases" $hostAlias -}}
{{/* Add [init perms] container to nextcloud */}}
{{- if not (get .Values.workload.main.podSpec "initContainers") -}}
{{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}}
{{- end -}}
{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}}
{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}}
{{/* Add [wait nextcloud] container to nginx */}}
{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}}
{{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}}
{{- end -}}
{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}}
{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}}
{{/* Disable [notify push] if requested */}}
{{- if not .Values.nextcloud.notify_push.enabled -}}
{{- $_ := set .Values.workload.notify "enabled" false -}}
{{- $_ := set .Values.service.notify "enabled" false -}}
{{- else -}}
{{/* Add [wait nextcloud] container to notify push */}}
{{- if not (get .Values.workload.notify.podSpec "initContainers") -}}
{{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}}
{{- end -}}
{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}}
{{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}}
{{- end -}}
{{/* Disable [clamav] if requested */}}
{{- if not .Values.nextcloud.clamav.enabled -}}
{{- $_ := set .Values.workload.clamav "enabled" false -}}
{{- $_ := set .Values.service.clamav "enabled" false -}}
{{- end -}}
{{/* Disable [previews] if requested */}}
{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}}
{{- $_ := set .Values.workload.imaginary "enabled" false -}}
{{- $_ := set .Values.service.imaginary "enabled" false -}}
{{- end -}}
{{/* Disable [collabora] if requested */}}
{{- if not .Values.nextcloud.collabora.enabled -}}
{{- $_ := set .Values.workload.collabora "enabled" false -}}
{{- $_ := set .Values.service.collabora "enabled" false -}}
{{- end -}}
{{/* Create [cronjobs] defined */}}
{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}}
{{- if $cronjobs -}}
{{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}}
{{- end -}}
{{/* TODO: Do we have to cleanup when something (eg Collabora) is disabled? */}}
{{- include "nextcloud.ingressInjector" $ -}}
{{/* Render the templates */}}
{{- include "tc.v1.common.loader.apply" . -}}