$ show mattermost/mattermost-helm
This repository provides the official Helm charts for deploying Mattermost, an open-source messaging platform, and its associated services (Focalboard, RTCD, Push Proxy, Calls Offloader) onto Kubernetes. The primary deployment method is the `mattermost-operator` chart, which uses Kubernetes Custom Resource Definitions (CRDs) to declaratively manage the full lifecycle of Mattermost installations, including databases, file stores, ingresses, and scaling. Legacy charts (`mattermost-enterprise-edition`, `mattermost-team-edition`) are included but deprecated in favor of the operator. The architecture is a collection of Helm charts, with the operator chart acting as the core. It relies on external dependencies like PostgreSQL, S3-compatible storage, and optionally Elasticsearch and Grafana. The repository demonstrates strong DevOps practices, including automated CI/CD for chart releases, end-to-end testing with kind, and embedded monitoring configuration. Key reusable patterns include a Helm-embedded Grafana dashboard template for application KPIs, an ExternalSecrets integration for secure credential management, a deprecation handling template for managing breaking changes, and advanced Kubernetes storage patterns (EFS, NFS). The codebase is actively maintained but carries some technical drift from legacy components and outdated Kubernetes API versions.
The LLM identified 4 files worth highlighting for reuse:
Defines a complete Grafana KPI dashboard as a Helm template. Uses PromQL queries to visualize Mattermost-specific metrics (message rates, error rates, DB connections, request latencies). Reusable pattern for embedding operational dashboards directly into Helm chart deployments, ensuring monitoring is version-controlled and deployed alongside the application.
Implements the ExternalSecrets Kubernetes pattern to fetch secrets from external providers (AWS Secrets Manager, HashiCorp Vault, etc.) instead of storing them in Helm values. This is a modern security best practice for managing sensitive credentials in GitOps workflows. The template is self-contained and can be adapted for any Helm chart requiring secure secret injection.
A Helm template dedicated to managing breaking changes and deprecation warnings. It checks for old configuration keys and prints migration instructions. This is a non-obvious but highly valuable pattern for maintaining Helm charts over time, providing a smooth upgrade path for users and reducing support burden.
Demonstrates how to create Kubernetes PersistentVolumes backed by AWS EFS (Elastic File System). This is an advanced storage integration pattern for stateful applications requiring shared, scalable NFS storage. The template is cleanly parameterized and can be extracted for any project needing cloud-backed network storage in Kubernetes.