Installing Mattermost(AKA: Slack killer) in K8S
With Lucas Collino we installed Mattermost at our workplace, the free edition has some MUST features that slack doesn’t:
Custom Branding , if you want to match your company’s style ;) (https://goo.gl/yQNh2E)
We are based on https://github.com/mattermost/mattermost-kubernetes
This guide assumes that you have nginx , helm and cert manager running, there is a guide for that here.
We will be using wildcard certificates for *.mycompany.com to use the same certificate, there is a small guide here for that, that also replicates the secret containing the certificate across all namespaces.
We also assume that you have a mysql in AWS RDS, for this PoC we are using free-tier.
First we create a dedicated namespace
$kubectl create namespace mattermost
Create a mattermost-sandbox-company.yaml with the config, there is one here .
Proceed with the Helm installation:
$ helm install --name mattermost --namespace mattermost -f mattermost.yaml --version=0.2.5 mattermost/mattermost-helm
After 5 minutes you should see something like this
1. Get the application URL by running these commands:
We found a bug from nginx-ingress in which we need to remove some ingress configuration, so just comment this lines
$ kubectl edit ingress mattermost-sandbox-mattermost-helm -n mattermost -o yaml
You can now enter the website to check that it is running
Finally we need to configure Mattermost stuff like email and the like. In order to do that we can edit the configmap
$ kubectl get configmap -n mattermost
NAME DATA AGE
mattermost-sandbox-mattermost-helm-app-tests 1 33m
mattermost-sandbox-mattermost-helm-config-json 1 33m
mattermost-sandbox-minio 1 33m
$ kubectl edit configmap mattermost-sandbox-mattermost-helm-config-json -n mattermost
We use Amazon SES for sending emails, you would have to configure email settings in config.json accordingly, here is a guide for that.
All mattermost config is located in a ConfigMap that points to a config.json file, the details on each config are explained here , you should change that for your needs.
So, that’s it, you also have a Mattermost Admin Guide. I hope you find it useful and the steps are easy to follow. Please comment and/or ask questions if I missed something — I’d love to get your feedback.