diff --git a/src/helm/env.d/dev/values.desk.yaml.gotmpl b/src/helm/env.d/dev/values.desk.yaml.gotmpl index 0f6a56c..28a942d 100644 --- a/src/helm/env.d/dev/values.desk.yaml.gotmpl +++ b/src/helm/env.d/dev/values.desk.yaml.gotmpl @@ -107,3 +107,12 @@ ingress: ingressAdmin: enabled: true host: desk.127.0.0.1.nip.io + +mailcatcher: + image: + repository: sj26/mailcatcher + tag: latest + pullPolicy: Always + ingress: + enabled: true + host: mailcatcher.127.0.0.1.nip.io diff --git a/src/helm/helmfile.yaml b/src/helm/helmfile.yaml index 4a7b313..18b22b4 100644 --- a/src/helm/helmfile.yaml +++ b/src/helm/helmfile.yaml @@ -100,3 +100,10 @@ releases: values: - env.d/{{ .Environment.Name }}/values.desk.yaml.gotmpl + - name: mailcatcher + installed: {{ regexMatch "^dev.*" .Environment.Name | toYaml }} + missingFileHandler: Warn + namespace: {{ .Namespace }} + chart: ./mailcatcher + values: + - env.d/{{ .Environment.Name }}/values.desk.yaml.gotmpl diff --git a/src/helm/mailcatcher/Chart.yaml b/src/helm/mailcatcher/Chart.yaml new file mode 100644 index 0000000..950200b --- /dev/null +++ b/src/helm/mailcatcher/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v2 +name: mailcatcher +description: A simple SMTP server with a web interface for testing email in development +version: 1.0.0 +type: application diff --git a/src/helm/mailcatcher/templates/deployment.yaml b/src/helm/mailcatcher/templates/deployment.yaml new file mode 100644 index 0000000..61345ac --- /dev/null +++ b/src/helm/mailcatcher/templates/deployment.yaml @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mailcatcher + labels: + app: mailcatcher +spec: + replicas: 1 + selector: + matchLabels: + app: mailcatcher + template: + metadata: + labels: + app: mailcatcher + spec: + containers: + - name: mailcatcher + image: "{{ .Values.mailcatcher.image.repository }}:{{ .Values.mailcatcher.image.tag }}" + imagePullPolicy: {{ .Values.mailcatcher.image.pullPolicy }} + ports: + - name: smtp + containerPort: 1025 + - name: http + containerPort: 1080 diff --git a/src/helm/mailcatcher/templates/ingress.yaml b/src/helm/mailcatcher/templates/ingress.yaml new file mode 100644 index 0000000..e71ff1a --- /dev/null +++ b/src/helm/mailcatcher/templates/ingress.yaml @@ -0,0 +1,20 @@ +{{- if .Values.mailcatcher.ingress.enabled }} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: mailcatcher + labels: + app: mailcatcher +spec: + rules: + - host: {{ .Values.mailcatcher.ingress.host }} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: mailcatcher + port: + number: 1080 +{{- end }} diff --git a/src/helm/mailcatcher/templates/service.yaml b/src/helm/mailcatcher/templates/service.yaml new file mode 100644 index 0000000..2ece018 --- /dev/null +++ b/src/helm/mailcatcher/templates/service.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +metadata: + name: mailcatcher + labels: + app: mailcatcher +spec: + type: ClusterIP + ports: + - port: 1025 + targetPort: smtp + protocol: TCP + name: smtp + - port: 1080 + targetPort: http + protocol: TCP + name: http + selector: + app: mailcatcher diff --git a/src/helm/mailcatcher/values.yaml b/src/helm/mailcatcher/values.yaml new file mode 100644 index 0000000..37cda0e --- /dev/null +++ b/src/helm/mailcatcher/values.yaml @@ -0,0 +1,16 @@ +image: + repository: sj26/mailcatcher + tag: latest + pullPolicy: IfNotPresent + +resources: + requests: + memory: "64Mi" + cpu: "50m" + limits: + memory: "128Mi" + cpu: "100m" + +ingress: + enabled: false + host: ""