Mattermost📜
Overview📜
This package contains an installation of Mattermost using a helm chart built by Big Bang that leverages the operator.
Mattermost📜
Mattermost is an open-source, self-hostable online chat service with file sharing, search, and integrations. This repo provides an implementation of Mattermost for Big Bang. Installation requires that the Mattermost Operator be installed in your cluster as a prerequisite.
How it works📜
Mattermost is a single pane for collaboration, installed and configured via a mattermost
CustomResource and reconciled by the operator. You can visit your installation via browser or connect through one of their Desktop apps available for many operating systems.
Please review the BigBang Architecture Document for more information about it’s role within BigBang.
Granting Egress to Blocked Services📜
When Istio hardening is enabled through the settings istio.enabled
and istio.enabled.hardened
, a sidecar is injected into the mattermost
namespace. This sidecar limits network traffic to ‘REGISTRY_ONLY’, effectively blocking access to external services.
Note: Access to external services will be blocked.
This restriction commonly affects cloud provider services and secret stores configured in the Mattermost UI. To resolve this, you’ll need to identify the hosts blocked by Istio and add a customServiceEntry
for each one to your Big Bang values.yaml
file.
Discovering Blocked Hosts📜
To find out which hosts are being blocked, inspect the istio-proxy
logs from the mattermost
pod using the following commands:
export SOURCE_POD=$(kubectl -n mattermost get pod -l name=app=mattermost -o jsonpath={.items..metadata.name})
kubectl -n mattermost logs "$SOURCE_POD" -c istio-proxy | grep -i "BlackHoleCluster"
Here is an example of a customServiceEntry
that can be added to your Big Bang values.yaml
istio:
enabled: true
hardened:
enabled: true
customServiceEntries:
- name: "allow-amazonaws"
enabled: true
spec:
hosts:
- "cloudfront.amazonaws.com"
- "ec2.us-gov-east-1.amazonaws.com"
- "ec2.us-gov-west-1.amazonaws.com"
- "lambda.us-gov-west-1.amazonaws.com"
- "secretsmanager.us-gov-east-1.amazonaws.com"
- "sts.amazonaws.com"
- "sts.us-gov-east-1.amazonaws.com"
location: MESH_EXTERNAL
exportTo:
- "."
ports:
- name: https
number: 443
protocol: TLS
resolution: DNS