developmentseed / developmentseed/cng-formats-benchmark
Released chart has appVersion 0.0.0, so an unpinned image tag resolves to a nonexistent :0.0.0
- Dominant language
- Python
- Stars
- 4
- Forks
- 0
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 3
Description
## What happened
Installing the **released** chart from the `v0.7.1` tag, with the runner tag pinned but the tiler tag left at its default, fails:
```text
Failed to pull image "ghcr.io/developmentseed/cng-benchmark-tiler:0.0.0":
failed to resolve image: ... not found
```
The runner Job then dies in `PodInitializing`, because its `wait-display` init container waits for a tiler that can never start:
```text
waiting for display server: [Errno 111] Connection refused
display server did not become ready
```
## Cause
`deploy/helm/cng-benchmark/Chart.yaml` at `v0.7.1`:
```yaml
name: cng-benchmark
version: 0.7.1
appVersion: 0.0.0
```
release-please bumps the chart `version` but not `appVersion`. Both image defaults resolve through `appVersion`:
- `image.tag: ""` → "the chart's appVersion (which release-please bumps with each release)", per the comment in `values.yaml`
- `titiler.image.tag: ""` → same convention
So the documented default path, `helm install` of a released chart with no `--set image.tag`, pulls `:0.0.0` for **both** images and cannot work. Any arm with a `display` metric fails; arms without one only work because the runner tag happens to be pinned by hand.
## Fix
Have release-please bump `appVersion` alongside `version` (an `extra-files` entry for `Chart.yaml`, or the helm plugin's `appVersion` handling), so a released chart pulls its matching released images by default. A chart test that renders the default values and asserts the tag is not `0.0.0` would keep it honest.
## Workaround
Pin both explicitly:
```sh
helm install ... --set image.tag=0.7.1 --set titiler.image.tag=0.7.1
```
Found while running the CNES final campaign (wave 2, SWOT raster all-variable arm) on 2026-08-10.
Contributor guide
Research direction
Start with deploy/helm/cng-benchmark/Chart.yaml and values.yaml, then inspect the release-please handling for Chart.yaml. Render or install the released chart with default values and verify both image tags match the release rather than 0.0.0; add the proposed chart test to prevent that default from regressing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, helm
- Domain
- devops, release
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 70/100