Skip to content

Commit 7f68d44

Browse files
committed
feat(new): add docker-mailserver helm chart v5.1.1
Adds the docker-mailserver chart (IMAP + bundled Postfix for outbound mail), with sane in-cluster defaults, plus an optional Cilium egress gateway template for a stable outbound IP (SPF alignment) - since docker-mailserver bundles its own Postfix, this is the one place mail actually leaves the cluster for a deployment using this chart, not a separate relay chart. Also patches the vendored subchart's service.yaml to support externalIPs - the upstream template never read that value at all, so it was being silently ignored. Egress policy's pod-selector label key is configurable (egressGateway.podSelectorLabelKey, defaults to 'release' - this chart's actual convention). Getting this wrong means the policy silently matches nothing; confirmed happening in production, causing a real SPF failure until caught and fixed. Adds tls.enforceOutbound (default off) for anyone who wants to require TLS on outbound delivery instead of Postfix's default opportunistic behaviour. Adds service.exposePlaintextImap (default false) - plaintext IMAP (143) was included in the Service unconditionally whenever IMAP is enabled, alongside TLS IMAPS (993), meaning it was reachable from outside the cluster on any deployment using a LoadBalancer/NodePort service. Flagged by an external security report against a real deployment using this chart. Only IMAPS is exposed now unless you explicitly opt in. Signed-off-by: Rishi <rishi@obmondo.com>
1 parent 27f352c commit 7f68d44

24 files changed

Lines changed: 1914 additions & 0 deletions

.helm_version_last_update

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,4 @@
108108
2026-07-21 6.0.0 whoami
109109
2026-07-21 1.0.196 yetibot
110110
2026-07-21 2.10.1 zfs-localpv
111+
2026-07-09 5.1.1 docker-mailserver
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dependencies:
2+
- name: docker-mailserver
3+
repository: https://docker-mailserver.github.io/docker-mailserver-helm
4+
version: 5.1.1
5+
digest: sha256:db028913fbd0d1c70c5065d12f457f0e79d8a6f5177487a18bce7e0085ad3544
6+
generated: "2026-07-09T00:03:07.809779868+05:30"
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion: v2
2+
name: docker-mailserver
3+
version: 1.0.0
4+
dependencies:
5+
- name: docker-mailserver
6+
version: 5.1.1
7+
repository: https://docker-mailserver.github.io/docker-mailserver-helm
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*~
18+
# Various IDEs
19+
.project
20+
.idea/
21+
*.tmproj
22+
tests/
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dependencies: []
2+
digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726
3+
generated: "2024-01-28T21:49:18.990692471-08:00"
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
annotations:
2+
artifacthub.io/changes: |
3+
- Breaking : Standardized app labels to app.kubernetes.io/name for Istio workload/Cilium compatibility
4+
apiVersion: v2
5+
appVersion: 15.1.0
6+
description: A fullstack but simple mailserver (smtp, imap, antispam, antivirus, ssl...)
7+
using Docker.
8+
home: https://github.com/funkypenguin/helm-docker-mailserver
9+
icon: https://avatars.githubusercontent.com/u/76868633?s=400&v=4
10+
keywords:
11+
- mailserver
12+
- postfix
13+
- dovecot
14+
- amavis
15+
- imap
16+
maintainers:
17+
- email: davidy@funkypenguin.co.nz
18+
name: funkypenguin
19+
name: docker-mailserver
20+
sources:
21+
- https://github.com/docker-mailserver/docker-mailserver-helm
22+
version: 5.1.1
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
approvers:
2+
- funkypenguin
3+
reviewers:
4+
- funkypenguin

argocd-helm-charts/docker-mailserver/charts/docker-mailserver/README.md

Lines changed: 385 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
service:
2+
type: ClusterIP
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
service:
2+
type: ClusterIP
3+
4+
configMaps:
5+
postfix-accounts.cf:
6+
create: true
7+
path: postfix-accounts.cf
8+
data: |
9+
user@example.com|{SHA512-CRYPT}$6$PLsyDsD5kMTmQbe/$b1jT8MvuoBfs/JeBQ9fBQ0JlnWJZ377SW/OxSlNe7ldjgRQ7K4ysGfM6OpkkxQkAu7c7pR7EAR5Y4aIty2/Qi.
10+
11+
image:
12+
# Makes kube-score happy, otherwise it complains about the default pullPlicy of "IfNotPresent"
13+
pullPolicy: Always

0 commit comments

Comments
 (0)