developmentseed / developmentseed/cng-formats-benchmark

Released chart has appVersion 0.0.0, so an unpinned image tag resolves to a nonexistent :0.0.0

Open
#101 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.