Mattermost-server: Add make and/or CLI command to output added, removed, and changed key/values in the config JSON

Created on 12 Aug 2019  路  2Comments  路  Source: mattermost/mattermost-server

Now that the config JSON payload has been moved to the database, it is not as easily visible what config settings have been added, removed, and had their default values changed from one release to another. Ideally we would have a make and/or CLI command that that accepts two git tags or commit IDs and outputs:

  • New config settings
  • Removed config settings
  • Updated default values

Bonus points if it checks whether a config setting that was added has diagnostics.

This feature would be used by:

  • The release team each release to create the release notes
  • Possibly by QA to view areas to look out for while doing release testing
  • Possibly by the customer support team when debugging config-related customer issues

See https://community-daily.mattermost.com/core/pl/zoca8mmqsfgzpg5k83uux1rnec for the original conversation about this.

Part of the work involved for this story is proposing a CLI interface and output and discussing with [~jason] and [~amy.blais] to see that the solution meets their needs.

Jira Ticket: https://mattermost.atlassian.net/browse/MM-17703


If you're interested in this ticket, please comment here and come join our "Contributors" community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our "Developers" community channel.

New contributors please see our Developer's Guide.

AreCLI Medium Help Wanted PR Exists TecGo

Most helpful comment

I'm interested in taking this issue

All 2 comments

I'm interested in taking this issue

I'm trying to find an easy way to obtain the default config for a given mattermost version and so far the approach I like the most is running a docker container like this:

docker run --rm -it mattermost/mattermost-team-edition:5.13.2 mattermost config show

The output is a pretty printed version of the default config, which is a bit hard to compare with another one, but there's a change introduced in version 5.14.0-rc1 that allows getting a json representation of the config, which makes things simpler.

If we only need to get the config differences for newer versions I think it'd be better to go with the JSON, otherwise we'll have to compare the pretty printed structs. Do you think supporting diffs between versions greater or equal 5.14.0-rc1 is enough or it'd be better to support older versions too?

Was this page helpful?
0 / 5 - 0 ratings