DirectorySecurity AdvisoriesPricing
Sign in
Directory
mailpit logoHELM

mailpit

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart versions
Default values
Chart metadata
Images

Tag:
Compare:

1
## @section Global parameters
2
## Global Docker image parameters
3
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
4
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
5
##
6
7
## @param global.imageRegistry Global Docker image registry
8
## @param global.imagePullSecrets Global Docker registry secret names as an array
9
## @param global.storageClass Global StorageClass for Persistent Volume(s)
10
##
11
global:
12
imageRegistry: ""
13
## E.g.
14
## imagePullSecrets:
15
## - myRegistryKeySecretName
16
##
17
imagePullSecrets: []
18
storageClass: ""
19
## @section Common
20
##
21
22
## @param clusterDomain Kubernetes Cluster Domain
23
##
24
clusterDomain: cluster.local
25
## Bitnami image
26
## ref: https://hub.docker.com/r/bitnami/image/tags/
27
## @param image.registry image registry
28
## @param image.repository image repository
29
## @param image.tag image tag (immutable tags are recommended)
30
## @param image.digest image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)
31
## @param image.pullPolicy image pull policy
32
## @param image.pullSecrets image pull secrets
33
## @param image.debug Enable image debug mode
34
##
35
image:
36
registry: cgr.dev
37
repository: chainguard-private/mailpit
38
tag: 1.31.2
39
digest: sha256:2da5fddc82878a4a8263645a16be173f25fabb81d3e45bc3d77eaeb6ba20facf
40
## Specify a imagePullPolicy
41
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
42
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
43
##
44
pullPolicy: IfNotPresent
45
## Optionally specify an array of imagePullSecrets.
46
## Secrets must be manually created in the namespace.
47
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
48
## e.g:
49
## pullSecrets:
50
## - myRegistryKeySecretName
51
##
52
pullSecrets: []
53
## Enable debug mode
54
##
55
debug: false
56
## @param commonLabels [object] Labels to add to all deployed objects
57
##
58
commonLabels:
59
app.kubernetes.io/version: "{{ .Values.image.tag }}"
60
## @param podLabels [object] Extra labels for pods
61
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
62
##
63
podLabels:
64
helm.sh/chart: "{{ .Chart.Name }}"
65
## @param updateStrategy.type statefulset strategy type
66
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
67
##
68
updateStrategy:
69
## StrategyType
70
## Can be set to RollingUpdate or OnDelete
71
##
72
type: RollingUpdate
73
## @param podSecurityContext [object] SecurityContext for pods
74
## ref: https://kubernetes.io/docs/concepts/security/pod-security-standards/
75
##
76
podSecurityContext:
77
enabled: true
78
fsGroup: 1001
79
## @param containerSecurityContext [object] SecurityContext for pods
80
## ref: https://kubernetes.io/docs/concepts/security/pod-security-standards/
81
##
82
containerSecurityContext:
83
enabled: true
84
allowPrivilegeEscalation: false
85
capabilities:
86
drop:
87
- ALL
88
runAsUser: 1001
89
runAsGroup: 1001
90
runAsNonRoot: true
91
readOnlyRootFilesystem: true
92
seccompProfile:
93
type: RuntimeDefault
94
## @param replicaCount Number of replicas to deploy
95
##
96
replicaCount: 1
97
## @param revisionHistoryLimit The number of old history to retain to allow rollback
98
##
99
revisionHistoryLimit: 10
100
## resource requests and limits
101
## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
102
## @param resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
103
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
104
##
105
resourcesPreset: "nano"
106
# Name of the priorityClass to apply to the Cluster Agent
107
## @param priorityClassName Name of the priority class to assign to the pods
108
## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
109
##
110
priorityClassName: ""
111
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
112
## @param resources [object] The resources for the containers
113
##
114
resources: {}
115
## @param affinity Pod affinity
116
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
117
##
118
affinity: {}
119
## @param args Override default container args (useful when using custom images)
120
##
121
args: []
122
## @param extraEnvVars Array with extra environment variables to add to nodes
123
## e.g:
124
## extraEnvVars:
125
## - name: FOO
126
## value: "bar"
127
##
128
extraEnvVars: []
129
## @param extraEnvVarsSecret Name of existing Secret containing extra env vars for containers
130
##
131
extraEnvVarsSecret: ""
132
## @param extraVolumes Optionally specify extra list of additional volumes for the pods
133
##
134
extraVolumes: []
135
## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for the containers
136
##
137
extraVolumeMounts: []
138
## @param livenessProbe [object] Enables the livenessProbe for mailpit
139
livenessProbe:
140
enabled: true
141
initialDelaySeconds: 2
142
periodSeconds: 10
143
timeoutSeconds: 5
144
failureThreshold: 5
145
successThreshold: 1
146
## @param readinessProbe [object] Enables the readinessProbe for mailpit
147
readinessProbe:
148
enabled: true
149
initialDelaySeconds: 2
150
periodSeconds: 10
151
timeoutSeconds: 5
152
failureThreshold: 5
153
successThreshold: 1
154
## @param nodeSelector Node labels for pod assignment
155
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
156
nodeSelector: {}
157
## @param tolerations expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core
158
## for example:
159
## tolerations:
160
## - key: foo.bar.com/role
161
## operator: Equal
162
## value: master
163
## effect: NoSchedule
164
tolerations: []
165
## @param enableServiceLinks enabled by default https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26
166
enableServiceLinks: true
167
# https://github.com/axllent/mailpit/wiki/Basic-authentication
168
# https://github.com/axllent/mailpit/wiki/HTTPS
169
mailpit:
170
## @param mailpit.webroot Set the webroot for web UI & API
171
webroot: /
172
ui:
173
## @param mailpit.ui.authFile.enabled Adding basic authentication to web UI
174
## @param mailpit.ui.authFile.htpasswd htpasswd content
175
## @param mailpit.ui.authFile.existingSecret Secret containing htpasswd content
176
authFile:
177
enabled: false
178
htpasswd: ""
179
existingSecret: {}
180
## @param mailpit.ui.tls.enabled Enable tls for web UI
181
## @param mailpit.ui.tls.secretName tls secret for web UI
182
tls:
183
enabled: false
184
secretName: ""
185
smtp:
186
## @param mailpit.smtp.authFile.enabled Adding SMTP authentication
187
## @param mailpit.smtp.authFile.htpasswd htpasswd content
188
## @param mailpit.smtp.authFile.existingSecret Secret containing htpasswd content
189
authFile:
190
enabled: false
191
htpasswd: ""
192
existingSecret: {}
193
## ref: https://mailpit.axllent.org/docs/configuration/certificates/#auto-generate-self-signed-certificates
194
## @param mailpit.smtp.tls.enabled Enable TLS for SMTP
195
## @param mailpit.smtp.tls.method TLS certificate source: generated by Mailpit (`auto`), cert-manager (`cert-manager`) or an existing Secret (`secret`)
196
## @param mailpit.smtp.tls.secretName Existing TLS Secret for SMTP when method is secret
197
## @param mailpit.smtp.tls.auto.dnsNames DNS names included in the certificate generated by Mailpit. Defaults to the SMTP Service names
198
## @param mailpit.smtp.tls.certManager.dnsNames DNS names included in the certificate. Defaults to the SMTP Service names
199
## @param mailpit.smtp.tls.certManager.issuerRef cert-manager issuer for the certificate
200
tls:
201
enabled: false
202
method: secret
203
secretName: ""
204
auto:
205
dnsNames: []
206
certManager:
207
dnsNames: []
208
issuerRef: {}
209
relay:
210
## @param mailpit.relay.enabled enable SMTP Relay configuration
211
## @param mailpit.relay.config Mailpit SMTP relay configuration
212
## @param mailpit.relay.relayAll Relay all messages to relay
213
enabled: false
214
config: {}
215
relayAll: false
216
## @section Traffic Exposure Parameters
217
##
218
219
## service parameters
220
##
221
service:
222
http:
223
## @param service.http.name service name, default to ${common.names.fullname}-http, e.g. mailpit-http
224
##
225
name: ""
226
## @param service.http.type service type
227
##
228
type: ClusterIP
229
## @param service.http.port port for http
230
##
231
port: 80
232
## @param service.http.nodePort nodeport bind for HTTP service
233
##
234
nodePort: 0
235
## @param service.http.loadBalancerIP %%MAIN_CONTAINER_NAME%% service Load Balancer IP
236
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
237
##
238
loadBalancerIP: ""
239
## @param service.http.loadBalancerSourceRanges %%MAIN_CONTAINER_NAME%% service Load Balancer sources
240
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
241
## e.g:
242
## loadBalancerSourceRanges:
243
## - 10.10.10.0/24
244
##
245
loadBalancerSourceRanges: []
246
## @param service.http.externalTrafficPolicy %%MAIN_CONTAINER_NAME%% service external traffic policy
247
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
248
##
249
externalTrafficPolicy: Cluster
250
smtp:
251
## @param service.smtp.name service name, default to ${common.names.fullname}-smtp, e.g. mailpit-smtp
252
##
253
name: ""
254
## @param service.smtp.type service type
255
##
256
type: ClusterIP
257
## @param service.smtp.port port for SMTP
258
##
259
port: 25
260
## @param service.smtp.nodePort nodeport bind for STMP service
261
##
262
nodePort: 0
263
## @param service.smtp.loadBalancerIP %%MAIN_CONTAINER_NAME%% service Load Balancer IP
264
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
265
##
266
loadBalancerIP: ""
267
## @param service.smtp.loadBalancerSourceRanges %%MAIN_CONTAINER_NAME%% service Load Balancer sources
268
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
269
## e.g:
270
## loadBalancerSourceRanges:
271
## - 10.10.10.0/24
272
##
273
loadBalancerSourceRanges: []
274
## @param service.smtp.externalTrafficPolicy %%MAIN_CONTAINER_NAME%% service external traffic policy
275
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
276
##
277
externalTrafficPolicy: Cluster
278
## ingress parameters
279
## ref: http://kubernetes.io/docs/user-guide/ingress/
280
##
281
ingress:
282
## @param ingress.enabled Enable ingress record generation for %%MAIN_CONTAINER_NAME%%
283
##
284
enabled: false
285
## @param ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
286
## Use this parameter to set the required annotations for cert-manager, see
287
## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
288
## e.g:
289
## annotations:
290
## kubernetes.io/ingress.class: nginx
291
## cert-manager.io/cluster-issuer: cluster-issuer-name
292
##
293
annotations: {}
294
## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
295
## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
296
## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
297
##
298
ingressClassName: ""
299
## @param ingress.hostname Default host for the ingress record
300
##
301
hostname: hostname.local
302
## @param ingress.path Default path for the ingress record
303
## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
304
##
305
path: /
306
## @param ingress.pathType Ingress path type
307
##
308
pathType: ImplementationSpecific
309
## @param ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
310
## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
311
## extraHosts:
312
## - name: nginx.local
313
## path: /
314
##
315
extraHosts: []
316
## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
317
## TLS certificates will be retrieved from a TLS secret
318
## You can:
319
## - Rely on cert-manager to create it by setting the corresponding annotations
320
##
321
tls: false
322
## @param ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
323
## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
324
## extraTls:
325
## - hosts:
326
## - nginx.local
327
## secretName: nginx.local-tls
328
##
329
extraTls: []
330
## Gateway API route parameters
331
## ref: https://gateway-api.sigs.k8s.io/api-types/httproute/
332
##
333
route:
334
http:
335
## @param route.http.enabled Enable HTTPRoute generation for the HTTP service
336
##
337
enabled: false
338
## @param route.http.parentRefs References to the Gateways the HTTPRoute attaches to
339
##
340
parentRefs: []
341
## @param route.http.hostnames Hostnames matched against the HTTP Host header
342
##
343
hostnames: []
344
## @param route.http.matches Rule matches (paths, headers, query params, method)
345
matches: []
346
## @param route.http.filters Filters applied to requests matched by the rule
347
##
348
filters: []
349
## @param route.http.timeouts Per-rule timeouts (request, backendRequest)
350
##
351
timeouts: {}
352
## @section Persistence Parameters
353
##
354
355
## Enable persistence using Persistent Volume Claims
356
## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
357
##
358
persistence:
359
## @param persistence.enabled Enable persistence using Persistent Volume Claims
360
##
361
enabled: false
362
## @param persistence.storageClass Storage class of backing PVC
363
## If defined, storageClassName: <storageClass>
364
## If set to "-", storageClassName: "", which disables dynamic provisioning
365
## If undefined (the default) or set to null, no storageClassName spec is
366
## set, choosing the default provisioner. (gp2 on AWS, standard on
367
## GKE, AWS & OpenStack)
368
##
369
storageClass: ""
370
## @param persistence.annotations Persistent Volume Claim annotations
371
##
372
annotations: {}
373
## @param persistence.labels Persistent Volume Claim labels
374
##
375
labels: {}
376
## @param persistence.accessModes Persistent Volume Access Modes
377
##
378
accessModes:
379
- ReadWriteOnce
380
## @param persistence.size Size of data volume
381
##
382
size: 8Gi
383
## @param persistence.existingClaim The name of an existing PVC to use for persistence
384
##
385
existingClaim: ""
386
## @param persistence.selector Selector to match an existing Persistent Volume for WordPress data PVC
387
## If set, the PVC can't have a PV dynamically provisioned for it
388
## E.g.
389
## selector:
390
## matchLabels:
391
## app: my-app
392
##
393
selector: {}
394
## @param persistence.dataSource Custom PVC data source
395
##
396
dataSource: {}
397
## @param persistence.volumeName Custom PVC volumeName
398
##
399
volumeName: ""
400
## @param extraDeploy Array of extra objects to deploy with the release
401
##
402
extraDeploy: []
403
# - apiVersion: networking.istio.io/v1alpha3
404
# kind: VirtualService
405
# metadata:
406
# name: mailpit-http
407
# namespace: mailpit
408
# spec:
409
# gateways:
410
# - default/gtw-priv-http
411
# hosts:
412
# - mailpit.yourhost.com
413
# http:
414
# - name: main
415
# route:
416
# - destination:
417
# host: mailpit-http
418
# port:
419
# number: 80
420

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.