charts
charts copied to clipboard
Provide changelog for charts
What is the problem this feature will solve?
I'm using Renovate for automated Chart Updates. Renovate has a feature to automatically fetch changelogs and display them in the opened Merge Request.
The Bitnami Charts do not provide a Changelog so Renovate is not able to fetch the changes. The process of looking up the changes in the commit of the repository is tedious and takes some time.
What is the feature you are proposing to solve the problem?
Publish changelogs for Chart releases so that Renovate and other dependency management tools can fetch them.
Hi,
I' afraid this is currently not that easy because of how our automated systems work. However, I will forward this to the engineering team. Could you let us know the format of the changelog that renovate requires?
Hey,
yeah, I thought something like this. For transparency reasons, It would be beneficial to automate the Bitnami Charts release process on GitHub and use GitHub releases. It would be easier for us as a user of Bitnami Helm charts to find new Helm Chart releases and see what's changed.
As far as I know, Renovate uses the Changelog from the GitHub release. GitHub can generate release notes by itself or a GitHub Action like helm/chart-releaser-action could be used to generate the notes.
The missing changelogs in the Bitnami chart repo is something which irritates me for long time too. It simply makes me all the time fear to update, because I don't know what will be deployed to my clusters. Or it's pretty much effort to track down the changes in the repo itself. So the keywords here really are transparency and user experience.
It would BTW already help to simply tag commits accordingly, if any chart is assigned a new version. This enables the /compare feature of GitHub to inspect at least just the relevant diffs. What I mean can be tried out with Grafana Helm Charts as example: https://github.com/grafana/helm-charts/compare/grafana-6.58.0...grafana-6.61.1. True, you could also deal with SHA refs to use the /compare endpoint, but that's also quite ugly.
In addition, this is also the case for the https://github.com/bitnami/containers repository. No tags, no branches, no releases, no changelog.
To be honest, I am also not 100% sure if these multi-concern repos (e.g. providing dozens of helm charts or containers) are a good decision at all. Because, it makes all the versioning of each individual asset very complicated and floods the repo with hundreds of tags (and maybe even branches). But still, better than no tracking at all (besides the raw git history of commits).
hi, how do i get a diff/changelog for https://artifacthub.io/packages/helm/bitnami/nats/7.9.9 vs https://artifacthub.io/packages/helm/bitnami/nats/7.9.10 :thinking:
@ro0NL That's not possible at the moment. The only way is to look at the commits to the bitnami/<chart> directory, in your example: https://github.com/bitnami/charts/commits/main/bitnami/nats
From there, you have to deduce which commit belongs to 7.9.9 and which belongs to 7.9.10. All commits after the one belonging to 7.9.9, up to and including the one belonging to 7.9.10, are part of the "changelog". This is obviously extremely impractical and error-prone, however we cannot simply update Helm releases without inspecting changes, so it's unfortunately necessary to go through this pain.
I hope the Bitnami team can consider implementing improvements along the lines of what @lusu007 suggests.
extremely impractical and error-prone
agree, im going to block/ignore renovate updates
extremely impractical and error-prone
agree, im going to block/ignore renovate updates
Itβs definitely not the best idea to ignore or block all updates, as we might miss out on some crucial security enhancements.
I hope that Bitnami prioritizes this issue. π
A good example of this issue is the last commit on every chart [bitnami/kube-prometheus] fix: π Move service-account token auto-mount to pod declaration. This completely breaks the setup without intervention and we have absolutely no possibility to see what's changed without digging into the commit history.
We were just affected by #22746. However, this was kind of difficult to diagnose, and also hard to prevent in the first place due to the missing changelog. Overall I would say the transparency regarding changes is not great, and this can (and does) break things.
Thank you for the input, I will make sure that the team is aware of this. There are some possible initiatives but they would need to be prioritized
It's a blind flight every time we carry out updates. We are realizing more and more that we can't go on like this. It would be very important for us to have transparency on updates through a changelog!
@javsalgar currently release of your external-dns is 7.2.0 but commits show nothing of the sort:
https://github.com/bitnami/charts/commits/main/bitnami/external-dns
Bitnami charts are great but the fact that you have absolutely no way to understand what changes in them is actually "Russian roulette" (can lead to unforeseen issues including outages).
How do you internally handle release management? The chart in this example bumped from 6.x to 7.x but what constituted the major release? The underlying external-dns application stayed at 0.14.0 .... as of 7.2.0 the app version bumped to 0.14.1 ... the need for what changes are made to the chart are really important. Things change like paths for values within your charts and those need to be called out in a README or CHANGELOG of some sort.
Can't your workflow provide a really bad changelog without log output:
git log --pretty='format:%h (%s, %ad)' -- bitnami/external-dns:
43f3624574 (bitnami/external-dns Add support for OCI IAM instance principle and workload identity (#24708), Mon Apr 15 12:13:29 2024 +0100)
bf0fa5ff20 ([bitnami/external-dns] Release 7.1.2 updating components versions (#24941), Fri Apr 5 14:06:15 2024 +0200)
461e4f6dc9 ([bitnami/external-dns] Release 7.1.1 (#24879), Thu Apr 4 15:39:39 2024 +0200)
92e3e8a507 (Update resourcesPreset comments (#24467), Wed Apr 3 10:08:28 2024 +0200)
73c549c15f ([bitnami/external-dns] feat: add revisionHistoryLimit (#24525), Fri Mar 22 14:44:31 2024 +0200)
e06ec7a52c ([bitnami/external-dns] Release 7.0.2 (#24607), Thu Mar 21 18:58:13 2024 +0100)
0c13f72403 ([bitnami/external-dns] Fix boolean flag --pihole-tls-skip-verify (#24578), Thu Mar 21 14:43:14 2024 +0100)
47d68cc5ce ([bitnami/external-dns] feat!: :lock: :boom: Improve security defaults (#24325), Mon Mar 18 10:39:45 2024 +0100)
0cf4048e87 ([bitnami/*] Reorder Chart sections (#24455), Mon Mar 18 10:15:33 2024 +0100)
sadly the commit subject formatting could use some consistency (top commit is what 7.2.0 is in but not mentioned, doesn't have the brackets around bitnami/external-dns, 92e3e8a507 doesn't mention external-dns at all., 0cf4048e87
if you tagged your releases like external-dns-7.2.0 you could then generate CHANGELOG.md for each chart using the chart-name as the prefix for the contents of the changes.
To give example here I have tagged known release commits in the repo and used conventional-changelog-cli to demo a CHANGELOG.md generation:
β― git tag -l
external-dns-6.29.1
external-dns-6.30.1
external-dns-6.31.2
external-dns-6.31.3
external-dns-6.31.5
external-dns-6.31.6
external-dns-6.32.1
external-dns-6.34.1
external-dns-6.34.2
external-dns-6.36.1
external-dns-7.0.2
external-dns-7.1.1
external-dns-7.1.2
external-dns-7.2.0
pre-2022
β― npx conventional-changelog-cli -i bitnami/external-dns/CHANGELOG.md -s -t external-dns\- -r 0 --commit-path bitnami/external-dns
β― more bitnami/external-dns/CHANGELOG.md
## (2024-04-17)
## 7.2.0 (2024-04-15)
* bitnami/external-dns Add support for OCI IAM instance principle and workload identity (#24708) ([43f3624](https://github.com/bitnami/charts/commit/43f3624)), closes [#24708](https://github.com/bitnami/charts/issues/24708)
## <small>7.1.2 (2024-04-05)</small>
* [bitnami/external-dns] Release 7.1.2 updating components versions (#24941) ([bf0fa5f](https://github.com/bitnami/charts/commit/bf0fa5f)), closes [#24941](https://github.com/bitnami/charts/issues/24941)
## <small>7.1.1 (2024-04-04)</small>
* [bitnami/external-dns] feat: add revisionHistoryLimit (#24525) ([73c549c](https://github.com/bitnami/charts/commit/73c549c)), closes [#24525](https://github.com/bitnami/charts/issues/24525)
* [bitnami/external-dns] Release 7.1.1 (#24879) ([461e4f6](https://github.com/bitnami/charts/commit/461e4f6)), closes [#24879](https://github.com/bitnami/charts/issues/24879)
* Update resourcesPreset comments (#24467) ([92e3e8a](https://github.com/bitnami/charts/commit/92e3e8a)), closes [#24467](https://github.com/bitnami/charts/issues/24467)
## <small>7.0.2 (2024-03-21)</small>
* [bitnami/*] Reorder Chart sections (#24455) ([0cf4048](https://github.com/bitnami/charts/commit/0cf4048)), closes [#24455](https://github.com/bitnami/charts/issues/24455)
* [bitnami/external-dns] Allowing for customize dnsPolicy and dnsConfig for external-dns deployment (# ([4ce83be](https://github.com/bitnami/charts/commit/4ce83be)), closes [#24266](https://github.com/bitnami/charts/issues/24266)
* [bitnami/external-dns] feat: Add support for TXT record encryption (#23575) ([c9a12dd](https://github.com/bitnami/charts/commit/c9a12dd)), closes [#23575](https://github.com/bitnami/charts/issues/23575)
* [bitnami/external-dns] feat!: :lock: :boom: Improve security defaults (#24325) ([47d68cc](https://github.com/bitnami/charts/commit/47d68cc)), closes [#24325](https://github.com/bitnami/charts/issues/24325)
* [bitnami/external-dns] Fix boolean flag --pihole-tls-skip-verify (#24578) ([0c13f72](https://github.com/bitnami/charts/commit/0c13f72)), closes [#24578](https://github.com/bitnami/charts/issues/24578)
* [bitnami/external-dns] Release 7.0.2 (#24607) ([e06ec7a](https://github.com/bitnami/charts/commit/e06ec7a)), closes [#24607](https://github.com/bitnami/charts/issues/24607)
## <small>6.36.1 (2024-03-06)</small>
* [bitnami/external-dns] feat: :sparkles: :lock: Add automatic adaptation for Openshift restricted-v2 ([f5ac6f9](https://github.com/bitnami/charts/commit/f5ac6f9)), closes [#24080](https://github.com/bitnami/charts/issues/24080)
* [bitnami/external-dns] feat: :sparkles: :lock: Add runAsGroup (#23890) ([8e3887b](https://github.com/bitnami/charts/commit/8e3887b)), closes [#23890](https://github.com/bitnami/charts/issues/23890)
* [bitnami/external-dns] Release 6.36.1 updating components versions (#24199) ([cfaf19e](https://github.com/bitnami/charts/commit/cfaf19e)), closes [#24199](https://github.com/bitnami/charts/issues/24199)
## <small>6.34.2 (2024-02-21)</small>
* [bitnami/external-dns] Release 6.34.2 updating components versions (#23750) ([96651f4](https://github.com/bitnami/charts/commit/96651f4)), closes [#23750](https://github.com/bitnami/charts/issues/23750)
## <small>6.34.1 (2024-02-21)</small>
* [bitnami/*] Bump all versions (#23602) ([b70ee2a](https://github.com/bitnami/charts/commit/b70ee2a)), closes [#23602](https://github.com/bitnami/charts/issues/23602)
* [bitnami/external-dns] feat: :sparkles: :lock: Add resource preset support (#23447) ([df96ce8](https://github.com/bitnami/charts/commit/df96ce8)), closes [#23447](https://github.com/bitnami/charts/issues/23447)
* [bitnami/external-dns] Release 6.34.1 updating components versions (#23646) ([b838f7f](https://github.com/bitnami/charts/commit/b838f7f)), closes [#23646](https://github.com/bitnami/charts/issues/23646)
## <small>6.32.1 (2024-02-09)</small>
* [bitnami/external-dns] feat: :lock: Enable networkPolicy (#23285) ([c9676cb](https://github.com/bitnami/charts/commit/c9676cb)), closes [#23285](https://github.com/bitnami/charts/issues/23285)
* [bitnami/external-dns] Release 6.32.1 updating components versions (#23362) ([afb7cea](https://github.com/bitnami/charts/commit/afb7cea)), closes [#23362](https://github.com/bitnami/charts/issues/23362)
## <small>6.31.6 (2024-02-07)</small>
* [bitnami/external-dns] Release 6.31.6 updating components versions (#23215) ([ca0878d](https://github.com/bitnami/charts/commit/ca0878d)), closes [#23215](https://github.com/bitnami/charts/issues/23215)
## <small>6.31.5 (2024-02-02)</small>
* [bitnami/external-dns] Release 6.31.5 updating components versions (#23060) ([9548713](https://github.com/bitnami/charts/commit/9548713)), closes [#23060](https://github.com/bitnami/charts/issues/23060)
* [bitnami/external-dns] Update CRDs and add headers for automatic update (#22886) ([d87ba5a](https://github.com/bitnami/charts/commit/d87ba5a)), closes [#22886](https://github.com/bitnami/charts/issues/22886)
## <small>6.31.3 (2024-01-30)</small>
* [bitnami/external-dns] Release 6.31.3 updating components versions (#22867) ([0c1d2c1](https://github.com/bitnami/charts/commit/0c1d2c1)), closes [#22867](https://github.com/bitnami/charts/issues/22867)
## <small>6.31.2 (2024-01-27)</small>
* [bitnami/*] Move documentation sections from docs.bitnami.com back to the README (#22203) ([7564f36](https://github.com/bitnami/charts/commit/7564f36)), closes [#22203](https://github.com/bitnami/charts/issues/22203)
* [bitnami/external-dns] fix: :bug: Set seLinuxOptions to null for Openshift compatibility (#22585) ([99895d9](https://github.com/bitnami/charts/commit/99895d9)), closes [#22585](https://github.com/bitnami/charts/issues/22585)
* [bitnami/external-dns] fix: :lock: Move service-account token auto-mount to pod declaration (#22398) ([efca846](https://github.com/bitnami/charts/commit/efca846)), closes [#22398](https://github.com/bitnami/charts/issues/22398)
* [bitnami/external-dns] Release 6.31.2 updating components versions (#22790) ([7487874](https://github.com/bitnami/charts/commit/7487874)), closes [#22790](https://github.com/bitnami/charts/issues/22790)
* [bitnami/external-dns] Update CRDs and add source header (#22371) ([d59043c](https://github.com/bitnami/charts/commit/d59043c)), closes [#22371](https://github.com/bitnami/charts/issues/22371)
* Fix mapping of pihole secret name (#22503) ([8532e73](https://github.com/bitnami/charts/commit/8532e73)), closes [#22503](https://github.com/bitnami/charts/issues/22503)
## <small>6.30.1 (2024-01-18)</small>
* [bitnami/*] Fix ref links (in comments) (#21822) ([e4fa296](https://github.com/bitnami/charts/commit/e4fa296)), closes [#21822](https://github.com/bitnami/charts/issues/21822)
* [bitnami/external-dns] fix: :lock: Improve podSecurityContext and containerSecurityContext with esse ([848b150](https://github.com/bitnami/charts/commit/848b150)), closes [#22116](https://github.com/bitnami/charts/issues/22116)
* [bitnami/external-dns] Release 6.30.1 updating components versions (#22269) ([a8b40f8](https://github.com/bitnami/charts/commit/a8b40f8)), closes [#22269](https://github.com/bitnami/charts/issues/22269)
This is something that could be implemented as part of GitHub workflows.
I understand possibly backporting these tags could be time consuming (could probably be scriptable) but even if you started from today it would allow the generation of a CHANGELOG going forward.
Hi!
Thank you so much for the feedback! I'm looking into this to see if we can improve this area, at least a first step. I created a fork with a first experiment where I tagged all the chart releases. You can see it here:
https://github.com/javsalgar/charts
If we added tags you would be able to perform operations like this:
git log --oneline mariadb/16.3.1..mariadb/18.0.2 mariadb
3f8f0eec8 (tag: mariadb/18.0.2) [bitnami/mariadb] fix: π Add symlinks to stdout/stderr (#25131)
92e3e8a50 Update resourcesPreset comments (#24467)
e0c18317e (tag: mariadb/18.0.1) [bitnami/mariadb] Release 18.0.1 updating components versions (#24841)
d20e74f4d (tag: mariadb/18.0.0) [bitnami/mariadb] Release 18.0.0 updating components versions (#24804)
641c54680 [bitnami/several] Fix comment mentioning Keycloak (#24661)
601a37b1c (tag: mariadb/17.0.1) [bitnami/mariadb] Increase resources preset (#24564)
b427d4a70 (tag: mariadb/17.0.0) [bitnami/mariadb] feat!: π π₯ Improve security defaults (#24172)
0cf4048e8 [bitnami/*] Reorder Chart sections (#24455)
6f74357f4 (tag: mariadb/16.5.0) [bitnami/mariadb] feat: β¨ π Add automatic adaptation for Openshift restricted-v2 SCC (#24113)
6de23ae57 (tag: mariadb/16.4.0) [bitnami/mariadb] chore: β»οΈ Move all emptydirs to one (#23618)
8fadf76ce (tag: mariadb/16.3.2) [bitnami/mariadb] Release 16.3.2 updating components versions (#23800)
git log wordpress/19.4.1..wordpress/22.2.1 --oneline bitnami/wordpress
2c7666225 (tag: wordpress/22.2.1) [bitnami/wordpress] Release 22.2.1 updating components versions (#25231)
e304cb483 (tag: wordpress/22.2.0) [bitnami/wordpress] Add secondary ingress to Wordpress for /wp-admin (#24311)
6e0431b00 (tag: wordpress/22.1.8) [bitnami/wordpress] Release 22.1.8 updating components versions (#25194)
f0e379342 (tag: wordpress/22.1.7) [bitnami/wordpress] Release 22.1.7 updating components versions (#25123)
18723bc96 (tag: wordpress/22.1.6) [bitnami/wordpress] Release 22.1.6 updating components versions (#25087)
d54c0a7d0 (tag: wordpress/22.1.5) [bitnami/wordpress] fix: π Set readOnlyRootFilesystem=true in metrics container (#25033)
2e7963d2d (tag: wordpress/22.1.4) [bitnami/wordpress] Preserve default PHP config from container build (#25034)
30cb6bdfa (tag: wordpress/22.1.3) [bitnami/wordpress] Release 22.1.3 updating components versions (#24983)
974a7a2bd (tag: wordpress/22.1.2) [bitnami/wordpress] Release 22.1.2 updating components versions (#24925)
f99f48b6c (tag: wordpress/22.1.1) [bitnami/wordpress] fix: π Create htaccess folder when using custom configmap (#24867)
1cc61c1e0 (tag: wordpress/22.1.0) [bitnami/wordpress] Release 21.0.11 (#24843)
532fcdc49 [bitnami/*] Readme typos (#24852)
92e3e8a50 Update resourcesPreset comments (#24467)
0365986d4 (tag: wordpress/22.0.0) [bitnami/wordpress] Update MariaDB to branch 11.3 (#24831)
41952c33d (tag: wordpress/21.0.10) [bitnami/wordpress] Release 21.0.10 updating components versions (#24800)
f23b93791 (tag: wordpress/21.0.9) [bitnami/wordpress] Release 21.0.9 updating components versions (#24782)
a5f942f95 (tag: wordpress/21.0.8) [bitnami/wordpress] Release 21.0.8 updating components versions (#24761)
7e7a60900 [bitnami/wordpress] fix: π Load missing libfs.sh library in init container (#24644)
523d5e4ae (tag: wordpress/21.0.7) [bitnami/wordpress] Release 21.0.7 updating components versions (#24743)
3c6a419bc (tag: wordpress/21.0.6) [bitnami/wordpress] Release 21.0.6 updating components versions (#24632)
f1339c57d (tag: wordpress/21.0.5) [bitnami/wordpress] Release 21.0.5 updating components versions (#24613)
f7bbf5947 (tag: wordpress/21.0.4) [bitnami/wordpress] Release 21.0.4 updating components versions (#24609)
fe0866d9e (tag: wordpress/21.0.3) [bitnami/wordpress] Release 21.0.3 updating components versions (#24589)
6fbf3ddd2 (tag: wordpress/21.0.2) [bitnami/wordpress] Release 21.0.2 updating components versions (#24583)
d75b996c3 (tag: wordpress/21.0.1) [bitnami/wordpress] Update resource presets (#24573)
38bf03c4c (tag: wordpress/21.0.0) [bitnami/wordpress] feat!: π π₯ Improve security defaults (#24537)
cdc06795b (tag: wordpress/20.1.3) [bitnami/wordpress] Release 20.1.3 updating components versions (#24518)
0cf4048e8 [bitnami/*] Reorder Chart sections (#24455)
394faa187 (tag: wordpress/20.1.2) [bitnami/wordpress] Release 20.1.2 updating components versions (#24305)
da272a027 (tag: wordpress/20.1.1) [bitnami/wordpress] Release 20.1.1 updating components versions (#24235)
f06666006 (tag: wordpress/20.1.0) [bitnami/wordpress] feat: β¨ π Add automatic adaptation for Openshift restricted-v2 SCC (#24167)
781987fa4 (tag: wordpress/20.0.1) [bitnami/wordpress] Release 20.0.1 updating components versions (#24148)
db99feb3f (tag: wordpress/20.0.0) [bitnami/wordpress] Update bundled MariaDB (#24030)
1a21f054e (tag: wordpress/19.4.3) [bitnami/wordpress] Release 19.4.3 updating components versions (#23960)
a6c4cecd6 (tag: wordpress/19.4.2) [bitnami/wordpress] Release 19.4.2 updating components versions (#23838)
I'm still not sure how to implement the changelog without adding too much noise in the commit history (for example, merging a PR and then automatically creating a new commit updating the changelog). However, would something like :arrow_up: help as a first step? If so, we can consider adding this first tagging automation to bitnami/charts.
Also, for those experienced on this. If we went on with this, the repo would have > 22k tags. Would this have any performance impact on the repo? I'm concerned that this change makes the whole repo unusable.
After several experiments, I created this PR. Feel free to take a look https://github.com/bitnami/charts/pull/25359
We are leaving this on-hold as we're first fixing an UX issue with the repo and the index branches, which has dramatically increased the repo size. Once this is fixed, we will continue with this change.
The changes were merged. Now the repo has:
- A tag per release
- An automated CHANGELOG.md per chart
Hope this makes working with Bitnami charts easier!
Hi @javsalgar! This is much better now, thanks! Would you mind consider to also publish the changelog to artifact hub? https://blog.artifacthub.io/blog/changelogs/
Hi @javsalgar! This is much better now, thanks! Would you mind consider to also publish the changelog to artifact hub? https://blog.artifacthub.io/blog/changelogs/
Not for now, sorry. We will continue working on other initiatives to enhance Bitnami Helm charts and containers but adding annotations to render the changelog in Artifact Hub is not on our roadmap.