🧑‍💻(tilt) use maildev for local kube

Switch from mailcatcher to maildev for local work purpose.
This commit is contained in:
Quentin BEY
2025-02-13 12:59:55 +01:00
committed by BEY Quentin
parent d23ac76f36
commit a811431070
15 changed files with 171 additions and 108 deletions

View File

@@ -14,7 +14,7 @@ backend:
DJANGO_SUPERUSER_PASSWORD: admin
DJANGO_SUPERUSER_EMAIL: admin@example.com
DJANGO_EMAIL_HOST_PASSWORD: changeme
DJANGO_EMAIL_HOST: "mailcatcher"
DJANGO_EMAIL_HOST: "maildev"
DJANGO_EMAIL_PORT: 1025
DJANGO_EMAIL_USE_SSL: False
OIDC_RS_CLIENT_ID: changeme
@@ -100,12 +100,3 @@ 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

View File

@@ -29,7 +29,7 @@ backend:
DJANGO_SETTINGS_MODULE: people.settings
DJANGO_SUPERUSER_EMAIL: admin@example.com
DJANGO_SUPERUSER_PASSWORD: admin
DJANGO_EMAIL_HOST: "mailcatcher"
DJANGO_EMAIL_HOST: "maildev"
DJANGO_EMAIL_PORT: 1025
DJANGO_EMAIL_USE_SSL: False
OIDC_OP_JWKS_ENDPOINT: https://fca.integ01.dev-agentconnect.fr/api/v2/jwks
@@ -107,12 +107,3 @@ 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

View File

@@ -0,0 +1,3 @@
ingress:
enabled: true
host: maildev.127.0.0.1.nip.io

View File

@@ -100,10 +100,10 @@ releases:
values:
- env.d/{{ .Environment.Name }}/values.desk.yaml.gotmpl
- name: mailcatcher
- name: maildev
installed: {{ regexMatch "^dev.*" .Environment.Name | toYaml }}
missingFileHandler: Warn
namespace: {{ .Namespace }}
chart: ./mailcatcher
chart: ./maildev
values:
- env.d/{{ .Environment.Name }}/values.desk.yaml.gotmpl
- env.d/values.maildev.yaml.gotmpl

View File

@@ -1,5 +0,0 @@
apiVersion: v2
name: mailcatcher
description: A simple SMTP server with a web interface for testing email in development
version: 1.0.0
type: application

View File

@@ -1,25 +0,0 @@
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

View File

@@ -1,20 +0,0 @@
{{- 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 }}

View File

@@ -1,19 +0,0 @@
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

View File

@@ -1,16 +0,0 @@
image:
repository: sj26/mailcatcher
tag: latest
pullPolicy: IfNotPresent
resources:
requests:
memory: "64Mi"
cpu: "50m"
limits:
memory: "128Mi"
cpu: "100m"
ingress:
enabled: false
host: ""

View File

@@ -0,0 +1,5 @@
apiVersion: v2
name: maildev
description: SMTP Server + Web Interface for viewing and testing emails during development.
version: 1.0.0
type: application

View File

@@ -0,0 +1,64 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: maildev
labels:
app: maildev
spec:
replicas: 1
selector:
matchLabels:
app: maildev
template:
metadata:
labels:
app: maildev
spec:
containers:
- name: maildev
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: smtp-port
containerPort: {{ .Values.ports.smtp }}
protocol: TCP
- name: web-port
containerPort: {{ .Values.ports.web }}
protocol: TCP
env:
{{- if or .Values.web.user .Values.web.pass}}
- name: MAILDEV_WEB_USER
value: "{{ .Values.web.user }}"
- name: MAILDEV_WEB_PASS
value: "{{ .Values.web.pass }}"
{{- end }}
- name: MAILDEV_SMTP_PORT
value: "{{ .Values.ports.smtp }}"
- name: MAILDEV_WEB_PORT
value: "{{ .Values.ports.web }}"
- name: MAILDEV_HTTPS
value: "{{ .Values.https.enabled }}"
{{- if .Values.https.key }}
- name: MAILDEV_HTTPS_KEY
value: "{{ .Values.https.key }}"
{{- end }}
{{- if .Values.https.cert }}
- name: MAILDEV_HTTPS_CERT
value: "{{ .Values.https.cert }}"
{{- end }}
{{- if .Values.incoming }}
- name: MAILDEV_INCOMING_USER
value: "{{ .Values.incoming.user }}"
- name: MAILDEV_INCOMING_PASS
value: "{{ .Values.incoming.pass }}"
{{- end }}
livenessProbe:
httpGet:
path: /healthz
port: {{ .Values.ports.web }}
readinessProbe:
httpGet:
path: /healthz
port: {{ .Values.ports.web }}
resources:
{{- toYaml .Values.resources | nindent 12 }}

View File

@@ -0,0 +1,20 @@
{{- if .Values.ingress.enabled -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: maildev
labels:
app: maildev
spec:
rules:
- host: {{ .Values.ingress.host }}
http:
paths:
- path: {{ .Values.ingress.path }}
pathType: Prefix
backend:
service:
name: maildev-web
port:
number: {{ .Values.ports.web }}
{{- end }}

View File

@@ -0,0 +1,17 @@
{{- if .Values.ports.smtp }}
apiVersion: v1
kind: Service
metadata:
name: maildev-smtp
labels:
app: maildev
spec:
type: ClusterIP
ports:
- name: smtp-{{ .Values.ports.smtp }}-tcp
port: {{ .Values.ports.smtp }}
protocol: TCP
targetPort: {{ .Values.ports.smtp }}
selector:
app: maildev
{{- end }}

View File

@@ -0,0 +1,17 @@
{{- if .Values.ports.web }}
apiVersion: v1
kind: Service
metadata:
name: maildev-web
labels:
app: maildev
spec:
type: ClusterIP
ports:
- name: web-{{ .Values.ports.web }}-tcp
port: {{ .Values.ports.web }}
protocol: TCP
targetPort: {{ .Values.ports.web }}
selector:
app: maildev
{{- end }}

View File

@@ -0,0 +1,40 @@
image:
repository: maildev/maildev
tag: "2.2.1"
pullPolicy: IfNotPresent
ports:
# MAILDEV_SMTP_PORT
smtp: 1025
# MAILDEV_WEB_PORT
web: 1080
# MAILDEV_HTTPS
https:
enabled:
# MAILDEV_HTTPS_KEY
# key:
# MAILDEV_HTTPS_KEY
# cert:
# Web interface
web:
# MAILDEV_DISABLE_WEB
disable: false
# MAILDEV_WEB_USER
user:
# MAILDEV_WEB_PASS
pass:
incoming:
# MAILDEV_INCOMING_USER
# user:
# MAILDEV_INCOMING_PASS
# pass:
ingress:
enabled: false
host: ""
path: /
resources: