deploy-templates/templates/SmtpInternalServerUser.yaml (49 lines of code) (raw):
{{- if .Values.global.notifications.email }}
{{- $smtpServerNamespace := "smtp-server" }}
{{- $smtpServerDomain := include "smtp-domain" (dict "smtpServerNamespace" $smtpServerNamespace) }}
{{- $username := .Release.Namespace }}
{{- $password := "" }}
{{- $jobName := "" }}
{{- $userManagementCommand := "" }}
{{- if eq .Values.global.notifications.email.type "internal" }}
{{- $secretName := "smtp-internal-credentials" }}
{{- $password = include "smtp-internal-password" (dict "secretName" $secretName "namespace" .Release.Namespace) }}
{{- $jobName = (printf "create-user-%s" $username) }}
{{- $userManagementCommand = (printf "flask mailu user %s %s %s" $username $smtpServerDomain ($password | b64dec)) }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ $secretName }}
namespace: {{ .Release.Namespace }}
type: Opaque
data:
username: {{ (printf "%s@%s" $username $smtpServerDomain) | b64enc }}
password: {{ $password }}
{{- else }}
{{- $jobName = (printf "delete-user-%s" $username) }}
{{- $userManagementCommand = (printf "flask mailu user-delete %s@%s" $username $smtpServerDomain) }}
{{- end }}
---
apiVersion: batch/v1
kind: Job
metadata:
namespace: {{ $smtpServerNamespace }}
name: {{ $jobName }}
labels:
relatedNamespace: {{ .Release.Namespace }}
spec:
template:
metadata:
name: {{ $jobName }}
spec:
restartPolicy: Never
serviceAccountName: mailu
containers:
- name: {{ $jobName }}
image: 'quay.io/openshift/origin-cli:latest'
command: ["/bin/sh"]
args:
- '-c'
- oc -n {{ $smtpServerNamespace }} exec $(oc -n {{ $smtpServerNamespace }} get pods -l component=admin --no-headers -o custom-columns=NAME:metadata.name) {{ $userManagementCommand }}
{{- end }}