As I understand it, I should follow this simple seventeen step process to update Mattermost.
Step 3 is to find an "existing upstream chart", which I think means to find something on the internet that looks like it might be the "official" chart for the product. This looks to be that site, but it has not one, but five different helm charts.
Our current chart does not indicate which of those charts it came from. It is possible that there was only one chart when it was created.
I guess we either want the "team edition" or the "enterprise edition"?
The enterprise edition references version 5.33.3, while the team edition references 5.29.0 (in their respective master branch value.yaml files. Both use mysql rather than postgressql, which is in our chart.
One way to interpret this is that the charts have not been changed, and the whole story will be completed by updating the image version in our chart.
At the other extreme, I could spend a couple of weeks becoming a Mattermost expert, use that expertise to determine which version we should build from, go through and update all the chart files to be correct for bb, update them to use postgress rather than mysql, etc.
I suspect both those extremes are silly. So how am I to proceed?
One way to interpret this is that the charts have not been changed, and the whole story will be completed by updating the image version in our chart.
This is the most accurate answer. We build the Mattermost chart ourselves because we utilize the Mattermost Operator. The upstream charts do not. For most MM updates we just need to bump the image version, and then do some manual verification that things are functioning the way we expect (the pipeline also does some of this for us). As a quick example, for one of the past updates:
Bumped the image version, chart version, and changelog
Tested everything and file storage wasn't working.
Re-reviewed the upstream changelog (linked in the issue desc) and noticed a change to the default for SSL connection for file storage which broke our Minio connection.
Made some small changes to handle Minio w/ the new SSL changes.
So basically what I'd recommend is follow that similar process, but you could also start with a quick review of the upstream changelog. If you're not too familiar with Mattermost that might not be the most intuitive to know what might break things, but from a quick review I don't see any issues. Then change the image version, chart version, and add a changelog update. Test installing the package locally and validating features - and/or let the pipeline do that for you.
The 17 step doc you linked is really for developing a completely new package, not adding a new one on. I think we misled you by pointing to that doc - the importance there was really just to see how the initial package was made and how kpt is used.
Oh also meant to say, if you have any questions about how to test on this, feel free to ping me in Mattermost and I can give some more specific pointers on what "testing everything" means.