Back to Charts

DEPRECATED - Mailhog

stable/mailhog/README.md

latest4.2 KB
Original Source

DEPRECATED - Mailhog

This chart has been deprecated and moved to its new home:

bash
helm repo add codecentric https://codecentric.github.io/helm-charts

Mailhog is an e-mail testing tool for developers.

TL;DR;

bash
$ helm install stable/mailhog

Introduction

This chart creates a Mailhog deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.5+ with Beta APIs enabled

Installing the Chart

To install the chart with the release name my-release:

bash
$ helm install --name my-release stable/mailhog

The command deploys Mailhog on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Uninstalling the Chart

To uninstall/delete the my-release deployment:

bash
$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following table lists the configurable parameters of the Mailhog chart and their default values.

ParameterDescriptionDefault
image.repositorycontainer image repositorymailhog/mailhog
image.tagcontainer image tagv1.0.0
image.pullPolicycontainer image pull policyIfNotPresent
auth.enabledspecifies whether basic authentication is enabled, see Auth.mdfalse
auth.existingSecretif auth is enabled, uses an existing secret with this name; otherwise a secret is created""
auth.fileNamethe name of the auth fileauth.txt
auth.fileContentsthe contents of the auth file""
nodeSelectornode labels for pod assignment{}
podAnnotationsannotations to be added to pods{}
resourcespod resource requests & limits{}
service.annotationsannotations for the service{}
service.clusterIPinternal cluster service IP""
service.externalIPsservice external IP addresses[]
service.loadBalancerIPIP address to assign to load balancer (if supported)""
service.loadBalancerSourceRangeslist of IP CIDRs allowed access to load balancer (if supported)[]
service.typetype of service to createClusterIP
service.node.httphttp port of service""
service.node.smtpsmtp port of service""
service.nodePort.httpif service.type is NodePort and this is non-empty, sets the http node port of the service""
service.nodePort.smtpif service.type is NodePort and this is non-empty, sets the smtp node port of the service""
ingress.enabledif true, an ingress is createdfalse
ingress.annotationsannotations for the ingress{}
ingress.pathif true, an ingress is created/
ingress.hostsa list of ingress hosts[mailhog.example.com]
ingress.tlsa list of IngressTLS items[]
envMailhog environment variables, see CONFIG.md{}

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

bash
$ helm install --name my-release \
  --set env.MH_UI_WEB_PATH=mailhog \
    stable/mailhog

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

bash
$ helm install --name my-release -f values.yaml stable/mailhog

Limitations

  • Disk storage not yet supported (env.MH_STORAGE: maildir)
  • The env property allows Mailhog to be freely configured via environment variables, but not all settings may work, e. g. changing ports using MH_SMTP_BIND_ADDR, MH_API_BIND_ADDR, or MH_UI_BIND_ADDR does not make sense with the standard Docker image because it would also require exposing different ports.