Summary
This article helps diagnose and resolve common configuration issues when deploying Mattermost in Kubernetes using the Mattermost Helm chart, especially in air-gapped environments with external PostgreSQL.
Issue
During deployment, Mattermost pods enter a crash loop and job server pods fail to initialize. Logs show an error like:
Failed to load configuration: failed to create store: unable to load on store creation: parsing error at line 1, character 2: invalid character 'e' looking for beginning of value
Root Cause
The error typically indicates an improperly formatted or misreferenced secret value in your Helm configuration, particularly related to:
-
global.features.database.existingDatabaseSecret -
global.features.database.external.dataSource
In some cases, the issue can stem from incorrect key references for database and license secrets.
Resolution Steps
-
Verify Secret Names and Keys
Use the default secret names and keys unless absolutely necessary:-
Database:
-
Secret name:
mattermost-dbsecret -
Key:
mattermost.dbsecret
-
-
License:
-
Secret name:
mattermost-license -
Key:
mattermost.mattermost-license
-
-
-
Avoid Overriding Without Matching Template Logic
If you override the default secret names or keys invalues.yaml, ensure they match the Helm chart’s template logic. Misalignments may not surface clearly in logs but can prevent the config from loading. -
License Handling Tip
If Helm-based injection of the license fails, you may manually upload the license via the System Console under System Console > Site Configuration > License.
Best Practices
-
Always validate
values.yamlagainst the latest Mattermost Helm chart (avoid using outdated or external forks). -
For air-gapped deployments, ensure all required image dependencies and configs are mirrored and accessible internally.
Comments
Please sign in to leave a comment.