11# Deployment using HELM charts
22
3- These examples provide you HELM charts for individual use or the composition.
4-
5- * Chart ` mariadb ` : Deploys MariaDB pod
6- * Chart ` postfix ` : Deploys Postfix pod
7- * Chart ` amavis ` : Deploys Amavis pod
8- * Chart ` postfixadmin ` : Deploys PostfixAdmin pod
9- * Chart ` roundcube ` : Deploys Roundcube pod
10- * Chart ` mailserver ` : Deploys all of above
3+ This page explains how to use the HELM charts for the composition of all containers.
114
125# HOWTO
136
@@ -29,40 +22,37 @@ YAML files and commands accordingly.
2922* You are familiar with MariaDB or MySQL administration. There are a few commands to be executed directly
3023 on your database. A [ PhpMyAdmin] ( https://hub.docker.com/r/phpmyadmin/phpmyadmin/ ) pod could help you here.
3124
32- ## Clone the Git Repository
25+ ## Configure the HELM repository
3326
34- Make sure you are working in your home directory (or whatever path you want to work in)
27+ Execute the following command to add the HELM repository to your client and load its content:
3528
3629```
37- git clone https://github. com/technicalguru/docker-mailserver.git
38- cd docker-mailserver/examples/ helm-charts/mailserver
30+ helm repo add technicalguru https://raw.githubusercontent. com/technicalguru/helm-repo/master/repo
31+ helm repo update
3932```
4033
41- ## Define you deployment values
34+ ## Copy the original values.yaml file
35+
36+ Make sure you are working in your home directory (or whatever path you want to work in). Then download
37+ the [ ` values.yaml ` ] ( https://raw.githubusercontent.com/technicalguru/helm-repo/master/src/mailserver/values.yaml ) file e.g. via wget:
4238
43- You can edit the ` values.yaml ` file directly or make a copy. We will assume that you have made a copy called
44- ` my-values.yaml ` .
39+ ```
40+ wget -O my-values.yaml https://raw.githubusercontent.com/technicalguru/helm-repo/master/src/mailserver/values.yaml
41+ ```
4542
46- Edit the values file now and set all individual variables for your deployment.
43+ ## Define you deployment values
4744
48- * You can comment out or delete variable that you do not change. HELM will use the default values from ` values.yaml ` .
45+ You can now edit the ` my-values.yaml ` file directly and set all individual variables for your deployment.
46+
47+ * You can comment out or delete variable that you do not change. HELM will use the default values from ` values.yaml `
48+ or the underlying sub-charts.
4949* You can add values in the individual sections in case you want to change some of the values. Refer to
5050 the in-file documentation of these values.
5151* Make sure that your TLS certificate for Postfix is available. The template will not create any TLS certificate
5252 configuration if the file is not accessible. Do not set the TLS certificate values in your values file (although you can)
5353 but rather use the ` --set-file=... ` command line option to HELM in order to pass the content of these files into the
5454 respective values.
5555
56- ## Update Dependencies
57-
58- You will need to update the dependencies before you can start installation:
59-
60- ```
61- helm dep update
62- ```
63-
64- Alternatively, you can skip this step and use ` --dependency-update ` option in your HELM install command.
65-
6656## Deploy into your Kubernetes cluster
6757
6858You can inspect the result of your deployment in advance by issuing the following command. ` my-mailserver `
@@ -73,8 +63,8 @@ directory.
7363helm template \
7464 --namespace mailserver \
7565 --values my-values.yaml \
76- --set-file=postfix.tlsCertificate=/path/to/cert.pem,postfix.tlsCertificateChain=/path/to/fullchain.pem,postfix.tlsKey=/path/to/privke .pem \
77- my-mailserver .
66+ --set-file=postfix.tlsCertificate=/path/to/cert.pem,postfix.tlsCertificateChain=/path/to/fullchain.pem,postfix.tlsKey=/path/to/privkey .pem \
67+ my-mailserver technicalguru/mailserver:1.0.0
7868```
7969
8070Check the output whether the Kubernetes YAML files are what you had in mind when defining the values.
@@ -85,7 +75,7 @@ helm install \
8575 --namespace mailserver \
8676 --values my-values.yaml \
8777 --set-file=postfix.tlsCertificate=/path/to/cert.pem,postfix.tlsCertificateChain=/path/to/fullchain.pem,postfix.tlsKey=/path/to/privke.pem \
88- my-mailserver .
78+ my-mailserver technicalguru/mailserver:1.0.0
8979```
9080
9181## Setup your Domain and Mailboxes
@@ -112,3 +102,15 @@ You need to execute some further first-time installation steps. Follow the instr
112102The setup of the mailserver is complete now. Feel free to give feedback or report bugs and change requests
113103at the individual components' issue trackers or at this main [ Issue Tracker] ( https://github.com/technicalguru/docker-mailserver/issues ) .
114104
105+ # Customizing the HELM charts
106+
107+ Of course you can change the HELM charts. You will find the sources at GitHub:
108+
109+ > [ https://github.com/technicalguru/helm-repo ] ( https://github.com/technicalguru/helm-repo )
110+
111+ You can easily clone it into your home directory and work from there:
112+
113+ ```
114+ git clone https://github.com/technicalguru/helm-repo.git
115+ ```
116+
0 commit comments