rancher: Rancher Helm corrupts Helm values.yaml leading to broken applications and doesn't handle upstream changes
Rancher Server Setup
- Rancher version: 2.6.2
- Installation option (Docker install/Helm Chart): Docker Install
- If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):
- Proxy/Cert Details:
Information about the Cluster
- Kubernetes version: v1.20.12
- Cluster Type (Local/Downstream): Downstream, Custom, RKE1
- If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):
Describe the bug In Rancher 2.6 (as opposed to how 2.5 and before behaved) I now have to explicitly provide all values, even values that I don’t change. Thus when an upstream repository changes their values, I don’t get the newest changes, and I don’t seem to have any way to actually see that the upstream changed values, without seeing a bug or manually investigating. Instead, my explicit values are carried forward through every Helm upgrade without knowing which ones to merge.
There’s been what seems like several regressions in the UX for Helm applications. This issue is actually a major trust buster for me since I can no-longer trust that Rancher is going to be able to safely upgrade a Helm upgrade.
To Reproduce
- Install a helm application (e.g. Prometheus v14.10.x. Note I didn’t use Rancher cluster tools to install this, the issue would apply to any other Helm application)
- Change one or two values (e.g. change
serverFiles.prometheus.yml.scrape_config:from the default - Install the application
- Attempt to upgrade to Prometheus Helm 15.0.1
- Make the upgrade. When it finally upgrades, note that all image versions are still at the old version and commits like this one are missed
Additionally, if I try to delete the value from the values.yaml view hoping for Rancher to fallback to the 2.5 behavior, it just proceeds with an empty value, breaking the application.
Result
Expected Result
- I want Rancher to be able to show me a diff of the default values from the upstream repo (What did they change?)
- If I have overridden values in my Helm application, I want Rancher to be able to show me which values I’m overriding have changed in the upstream or help me perform 3-way.
- I want to be able to store only the values that I’ve overridden, not have to look at the entire set of all values. (This was the Rancher 2.5 behavior)
- If I hit upgrade or install with some values, I want to see the exact same values in the Values YAML tab in the Heml UI
Screenshots
Additional context
Possibly related to some other Helm issues I’ve had: https://github.com/rancher/rancher/issues/35236
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 12
- Comments: 29 (8 by maintainers)
Bump. v2.7.5
@ajacques We have so far had great success with Argo-cd. We are currently setting up new infra and clusters, and all non cluster charts are managed by Argo-cd. We are managing both infrastructure (metallb, storage CSI, and a few others) as well as applications and their dbs.
May not be what you are looking for, but so far we are happy. The automatic syncing and updating of our applications is a bonus.
We are still in the early stages, could let you know in a couple months how it is going.
Still broken on v2.6.8