Summary
When upgrading from 5.29.1 to 5.30.0 mattermost refuses to start because config.json is mounted on a read-only Secret
, not a writable PersistentVolume
.
Steps to reproduce
- Deploy mattermost 5.29.1 to kubernetes using the helm charts with
persistence.data.enabled
andpersistence.plugins.enabled
both set tofalse
- Update the
image
to 5.30.0
Expected behavior
Mattermost should start
Observed behavior (that appears unintentional)
Logs:
Error: failed to load configuration: unable to load on store creation: failed to persist: failed to write file: open /mattermost/config/config.json: read-only file system
Usage:
mattermost [flags]
mattermost [command]
Available Commands:
channel Management of channels
command Management of slash commands
config Configuration
export Export data from Mattermost
group Management of groups
help Help about any command
import Import data.
integrity Check database data integrity
jobserver Start the Mattermost job server
ldap LDAP related utilities
license Licensing commands
logs Display logs in a human-readable format
permissions Management of the Permissions system
plugin Management of plugins
reset Reset the database to initial state
roles Management of user roles
sampledata Generate sample data
server Run the Mattermost server
team Management of teams
user Management of users
version Display version information
webhook Management of webhooks
Flags:
-c, --config string Configuration file to use.
--disableconfigwatch When set config.json will not be loaded from disk when the file is changed.
-h, --help help for mattermost
Use "mattermost [command] --help" for more information about a command.
Possible fixes
Don’t know where in the code but if mattermost must be able to write to the config, even if it doesn’t need to be persisted, then the container should:
- copy the config.json file to a directory that’s hosted on a volume (ie an emptyDir)
- point the mattermost executable to the temporary config file
(originally opened on GitHub - 5.30.0 wont start on Kubernetes because config.json is not writable · Issue #16725 · mattermost/mattermost-server · GitHub)