nvca-operator: helm upgrade --reuse-values can pin the operator image to a stale tag
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 218
- Forks
- 72
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 427
Description
Summary
helm upgrade --reuse-values against the nvca-operator chart can leave the
operator, mirror, and cluster-validator containers running a stale image tag
even though helm list and the chart NOTES report the new chart/app version.
Root cause
templates/deployment.yaml (and cronjob.yaml, pre-delete-cleanup-job.yaml)
resolve the image tag as:
image: {{ .Values.image.repository }}:{{ default .Chart.Version .Values.image.tag }}
helm upgrade --reuse-values carries the previous release's fully-resolved
values.yaml forward, but never re-merges the new chart's Chart.yaml. If
any prior release ever published a chart where image.tag resolved to a
non-empty literal, that literal is retained on every later --reuse-values
upgrade regardless of what the newly published chart's own image.tag
default says.
Fix
Resolve the image tag through .Chart.AppVersion instead of
.Chart.Version. Chart.yaml (including appVersion) is never part of a
--reuse-values merge -- only values.yaml is -- so this fallback stays
correct on every future upgrade, not just on a fresh install.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect templates/deployment.yaml, cronjob.yaml, and pre-delete-cleanup-job.yaml, starting with how each resolves the image tag during helm upgrade --reuse-values. Verify that the operator, mirror, and cluster-validator images use the current chart app version after a reuse-values upgrade, while helm list and the chart NOTES remain consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100