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:

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

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.