Add Stalwart

This commit is contained in:
Ruben Hensen
2026-01-25 16:14:42 +01:00
parent eba294f87b
commit 4f59c2062e
5 changed files with 135 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: stalwart
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/rubenhensen/k8scd.git
targetRevision: v0.1.0
path: stalwart
destination:
server: https://kubernetes.default.svc
namespace: stalwart
syncPolicy:
automated:
selfHeal: true
prune: true
syncOptions:
- CreateNamespace=true
automated:
selfHeal: true
+5
View File
@@ -0,0 +1,5 @@
apiVersion: v2
name: stalwart
description: Helm chart for Stalwart
version: 0.1.0
appVersion: "latest"
+48
View File
@@ -0,0 +1,48 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "stalwart.fullname" . }}
labels:
{{- include "stalwart.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "stalwart.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "stalwart.selectorLabels" . | nindent 8 }}
spec:
containers:
- name: stalwart
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
livenessProbe:
httpGet:
path: /healthz/live
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /healthz/ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
ports:
- containerPort: 8080
- containerPort: 443
- containerPort: 25
- containerPort: 587
- containerPort: 465
- containerPort: 143
- containerPort: 993
- containerPort: 4190
volumeMounts:
- name: stalwart-volume
mountPath: {{ .Values.persistence.mountPath }}
volumes:
- name: stalwart-volume
persistentVolumeClaim:
claimName: {{ include "stalwart.fullname" . }}
+35
View File
@@ -0,0 +1,35 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "stalwart.fullname" . }}
labels:
{{- include "stalwart.labels" . | nindent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
- name: http
port: 8080
targetPort: 8080
- name: https
port: 443
targetPort: 443
- name: smtp
port: 25
targetPort: 25
- name: submission
port: 587
targetPort: 587
- name: smtps
port: 465
targetPort: 465
- name: imap
port: 143
targetPort: 143
- name: imaps
port: 993
targetPort: 993
- name: sieve
port: 4190
targetPort: 4190
selector:
{{- include "stalwart.selectorLabels" . | nindent 4 }}
+25
View File
@@ -0,0 +1,25 @@
image:
repository: stalwartlabs/stalwart
pullPolicy: IfNotPresent
tag: "latest"
service:
type: NodePort
ports:
http: 8080
https: 443
smtp: 25
submission: 587
smtps: 465
imap: 143
imaps: 993
sieve: 4190
persistence:
enabled: true
storageClass: "standard"
accessMode: ReadWriteOnce
size: 10Gi
mountPath: /opt/stalwart
replicaCount: 1