255 lines
10 KiB
Smarty
255 lines
10 KiB
Smarty
{{/*
|
|
Mailu services:
|
|
- admin
|
|
- clamav
|
|
- dovecot
|
|
- fetchmail
|
|
- front
|
|
- postfix
|
|
- redis
|
|
- webmail
|
|
- rspamd
|
|
- webdav
|
|
- oletools
|
|
- tika
|
|
|
|
Service name can be retrieved with `mailu.SERVICE.serviceName`
|
|
Service fqdn (within cluster) can be retrieved with `mailu.SERVICE.serviceFqdn`
|
|
*/}}
|
|
|
|
{{/* Returns admin internal service name. */}}
|
|
{{- define "mailu.admin.serviceName" -}}
|
|
{{- printf "%s-admin" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns admin internal service fqdn. */}}
|
|
{{- define "mailu.admin.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.admin.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Returns clamav internal service name. */}}
|
|
{{- define "mailu.clamav.serviceName" -}}
|
|
{{- printf "%s-clamav" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns clamav internal service fqdn. */}}
|
|
{{- define "mailu.clamav.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.clamav.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
{{/* Returns clamav internal headless service name. */}}
|
|
{{- define "mailu.clamav.serviceNameHeadless" -}}
|
|
{{- printf "%s-headless" (include "mailu.clamav.serviceName" .) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Returns dovecot internal service name. */}}
|
|
{{- define "mailu.dovecot.serviceName" -}}
|
|
{{- printf "%s-dovecot" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns dovecot internal service fqdn. */}}
|
|
{{- define "mailu.dovecot.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.dovecot.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Returns fetchmail internal service name. */}}
|
|
{{- define "mailu.fetchmail.serviceName" -}}
|
|
{{- printf "%s-fetchmail" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns fetchmail internal service fqdn. */}}
|
|
{{- define "mailu.fetchmail.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.fetchmail.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Returns front internal service name. */}}
|
|
{{- define "mailu.front.serviceName" -}}
|
|
{{- printf "%s-front" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns front internal service fqdn. */}}
|
|
{{- define "mailu.front.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.front.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Returns postfix internal service name. */}}
|
|
{{- define "mailu.postfix.serviceName" -}}
|
|
{{- printf "%s-postfix" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns postfix internal service fqdn. */}}
|
|
{{- define "mailu.postfix.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.postfix.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Returns redis internal service name. */}}
|
|
{{- define "mailu.redis.serviceName" -}}
|
|
{{- printf "%s-master" (include "common.names.dependency.fullname" (dict "chartName" "redis" "chartValues" .Values.redis "context" $)) -}}
|
|
{{- end -}}
|
|
{{/* Returns redis service fqdn. */}}
|
|
{{- define "mailu.redis.serviceFqdn" -}}
|
|
{{- if .Values.externalRedis.enabled -}}
|
|
{{- if not .Values.externalRedis.host -}}
|
|
{{- fail "externalRedis.host must be set when externalRedis.enabled is true" -}}
|
|
{{- else -}}
|
|
{{- printf "%s" .Values.externalRedis.host -}}
|
|
{{- end -}}
|
|
{{- else -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.redis.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{/* Returns redis port */}}
|
|
{{- define "mailu.redis.port" -}}
|
|
{{- if .Values.externalRedis.enabled -}}
|
|
{{- if not .Values.externalRedis.port -}}
|
|
{{- fail "externalRedis.port must be set when externalRedis.enabled is true" -}}
|
|
{{- else -}}
|
|
{{- printf "%d" (.Values.externalRedis.port | int) -}}
|
|
{{- end -}}
|
|
{{- else -}}
|
|
{{- printf "6379" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{/* Returns Redis database ID for the quota storage on the admin pod */}}
|
|
{{- define "mailu.redis.db.adminQuota" -}}
|
|
{{- if .Values.externalRedis.enabled -}}
|
|
{{- printf "%d" (.Values.externalRedis.adminQuotaDbId | int) -}}
|
|
{{- else -}}
|
|
{{- printf "1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{/* Returns Redis database ID for the rate limit storage on the admin pod */}}
|
|
{{- define "mailu.redis.db.rateLimit" -}}
|
|
{{- if .Values.externalRedis.enabled -}}
|
|
{{- printf "%d" (.Values.externalRedis.adminRateLimitDbId | int) -}}
|
|
{{- else -}}
|
|
{{- printf "2" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
|
|
{{/* Returns webmail internal service name. */}}
|
|
{{- define "mailu.webmail.serviceName" -}}
|
|
{{- printf "%s-webmail" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns webmail internal service fqdn. */}}
|
|
{{- define "mailu.webmail.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.webmail.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Returns rspamd internal service name. */}}
|
|
{{- define "mailu.rspamd.serviceName" -}}
|
|
{{- printf "%s-rspamd" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns rspamd internal service fqdn. */}}
|
|
{{- define "mailu.rspamd.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.rspamd.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Returns webdav internal service name. */}}
|
|
{{- define "mailu.webdav.serviceName" -}}
|
|
{{- printf "%s-webdav" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns webdav internal service fqdn. */}}
|
|
{{- define "mailu.webdav.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.webdav.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
|
|
{{/* Returns oletools internal service name. */}}
|
|
{{- define "mailu.oletools.serviceName" -}}
|
|
{{- printf "%s-oletools" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns oletools internal service fqdn. */}}
|
|
{{- define "mailu.oletools.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.oletools.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Returns tika internal service name. */}}
|
|
{{- define "mailu.tika.serviceName" -}}
|
|
{{- printf "%s-tika" (include "mailu.fullname" .) -}}
|
|
{{- end -}}
|
|
{{/* Returns tika internal service fqdn. */}}
|
|
{{- define "mailu.tika.serviceFqdn" -}}
|
|
{{- printf "%s.%s.svc.%s" (include "mailu.tika.serviceName" . ) (include "common.names.namespace" . ) (include "mailu.clusterDomain" . ) -}}
|
|
{{- end -}}
|
|
|
|
|
|
{{/* Combine the enabled ports that should be exposed into a comma-separated string */}}
|
|
{{- define "mailu.enabledPorts" -}}
|
|
{{- $enabledPorts := list -}}
|
|
|
|
{{- if .Values.ingress.enabled -}}
|
|
{{- $enabledPorts = append $enabledPorts "80" -}}
|
|
{{- $enabledPorts = append $enabledPorts "443" -}}
|
|
{{- end -}}
|
|
|
|
{{- if .Values.front.externalService.enabled -}}
|
|
{{- if .Values.front.externalService.ports.pop3 -}}
|
|
{{- $enabledPorts = append $enabledPorts "110" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.pop3s -}}
|
|
{{- $enabledPorts = append $enabledPorts "995" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.imap -}}
|
|
{{- $enabledPorts = append $enabledPorts "143" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.imaps -}}
|
|
{{- $enabledPorts = append $enabledPorts "993" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.smtp -}}
|
|
{{- $enabledPorts = append $enabledPorts "25" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.smtps -}}
|
|
{{- $enabledPorts = append $enabledPorts "465" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.submission -}}
|
|
{{- $enabledPorts = append $enabledPorts "587" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.manageSieve -}}
|
|
{{- $enabledPorts = append $enabledPorts "4190" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- $enabledPortsString := join "," $enabledPorts -}}
|
|
{{- printf "%s" $enabledPortsString -}}
|
|
{{- end -}}
|
|
|
|
{{/* Combine the ports for which PROXY protocol should be enabled into a comma-separated string */}}
|
|
{{- define "mailu.proxyProtocolPorts" -}}
|
|
{{- $proxyProtocolPorts := list -}}
|
|
|
|
{{- if .Values.front.externalService.enabled -}}
|
|
{{- if .Values.front.externalService.ports.pop3 -}}
|
|
{{- $proxyProtocolPorts = append $proxyProtocolPorts "110" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.pop3s -}}
|
|
{{- $proxyProtocolPorts = append $proxyProtocolPorts "995" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.imap -}}
|
|
{{- $proxyProtocolPorts = append $proxyProtocolPorts "143" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.imaps -}}
|
|
{{- $proxyProtocolPorts = append $proxyProtocolPorts "993" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.smtp -}}
|
|
{{- $proxyProtocolPorts = append $proxyProtocolPorts "25" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.smtps -}}
|
|
{{- $proxyProtocolPorts = append $proxyProtocolPorts "465" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.submission -}}
|
|
{{- $proxyProtocolPorts = append $proxyProtocolPorts "587" -}}
|
|
{{- end -}}
|
|
{{- if .Values.front.externalService.ports.manageSieve -}}
|
|
{{- $proxyProtocolPorts = append $proxyProtocolPorts "4190" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- $proxyProtocolPortsString := join "," $proxyProtocolPorts -}}
|
|
{{/* if any ports are enabled and .front.realIpFrom is empty, fail */}}
|
|
{{- if and (gt (len $proxyProtocolPorts) 0) (not .Values.front.realIpFrom) -}}
|
|
{{- fail "PROXY protocol is enabled for some ports, but front.realIpFrom is not set" -}}
|
|
{{- end -}}
|
|
|
|
{{/* if any ports are enabled and .front.realIpHeader is set, fail */}}
|
|
{{- if and (gt (len $proxyProtocolPorts) 0) .Values.front.realIpHeader -}}
|
|
{{- fail "PROXY protocol is enabled for some ports, but front.realIpHeader is set" -}}
|
|
{{- end -}}
|
|
|
|
{{- printf "%s" $proxyProtocolPortsString -}}
|
|
{{- end -}}
|