Mattermost
- By Paul Collins
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/stable | 25 | 04 Jul 2023 | |
latest/edge | 18 | 14 Jun 2021 |
juju deploy mattermost-k8s
You will need Juju 2.9 to be able to run this command. Learn how to upgrade to Juju 2.9.
Deploy Kubernetes operators easily with Juju, the Universal Operator Lifecycle Manager. Need a Kubernetes cluster? Install MicroK8s to create a full CNCF-certified Kubernetes system in under 60 seconds.
Platform:
Getting Started
What you’ll do
The mattermost-k8s charm helps deploy a horizontally scalable Mattermost application with ease. This tutorial will walk you through each step of deployment to get a basic Mattermost deployment.
Prerequisites
To deploy mattermost-k8s charm, you will need a juju bootstrapped with any kubernetes controller. To see how to bootstrap your juju installation with microk8s, please refer to the documentation on microk8s installation.
Setting up the tutorial model
To easily clean up the resources and to separate your workload from the contents of this tutorial, it is recommended to set up a new model with the following command.
juju add-model mattermost-tutorial
Deploy the mattermost-k8s charm
Deployment of Mattermost requires a relational database. The integration with the
pgsql
interface is required by the mattermost-k8s
charm and hence, postgresql-k8s
charm will be used.
Start off by deploying the mattermost charm. By default it will deploy the latest stable release of the mattermost-k8s charm.
juju deploy mattermost-k8s
Deploy and relate database
The following commands deploys the postgresql-k8s charm with TLS and relates mattermost-k8s charm through its db interface.
juju deploy postgresql-k8s
# If your k8s cluster has RBAC enabled, you'll then need to run this:
juju trust postgresql-k8s --scope=cluster
# Deploy and enable TLS certificates for PostgreSQL connections.
juju deploy tls-certificates-operator
# Using self-signed certificates for demonstration purposes only.
juju config tls-certificates-operator generate-self-signed-certificates="true" ca-common-name="Test CA"
juju relate postgresql-k8s tls-certificates-operator
# And now relate postgresql-k8s to mattermost-k8s
juju relate mattermost-k8s postgresql-k8s:db
Login to Mattermost
We should now edit /etc/hosts
so that the IP address of your ingress controller resolves to the name
of the deployed application. Add the following to that file:
127.0.0.1 mattermost-k8s
Once the deployment has completed and the “mattermost-k8s” workload state in juju status has changed to “active” you can then visit http://mattermost-k8s in a browser and log in to your Mattermost instance, and you’ll be presented with a screen to create an initial admin account. Further accounts must be created using this admin account, or by setting up an external authentication source, such as SAML.
Cleaning up the environment
Congratulations! You have successfully finished the mattermost-k8s tutorial. You can now remove the model environment that you’ve created using the following command.
juju destroy-model mattermost-tutorial -y --release-storage
Help us improve this documentation
Most of this documentation can be collaboratively discussed and changed on the respective topic in the doc category of the Charmhub forum. See the documentation guidelines if you’d like to contribute.