# Remote-Image Runtime Workdown

**UNOFFICIAL/EXPERIMENTAL.** Generated by
`scripts/generate-remote-image-runtime-workdown.mjs`. Do not hand-edit. Regenerate
with `npm run remote-image-runtime-workdown`.

The `remote-image` watch rows all share one shape: **semantic parity holds, but
the workload cannot pull its image** — the same failure under regular Helm,
ConfigHub direct apply, and ConfigHub OCI/Argo. That is not a ConfigHub defect;
it is an upstream image-availability problem. This surface turns each row into a
concrete product/base decision.

Source rows: [live-parity-decisions](../live-parity-decisions/summary.md)
(`residue_category=remote-image`); image family defined in
[residue-families](../../docs/reference/residue-families.md). Image-pin context:
[image-digest-workdown](../image-digest-workdown/summary.md).

## Recommended actions

| Recommended action | Rows |
| --- | ---: |
| `refresh-chart-or-base` | 18 |
| `supported-image-override` | 2 |

| Owner class | Rows |
| --- | ---: |
| `catalog-refresh` | 18 |
| `base-design` | 2 |

## Rows

| Chart | Base | Missing image(s) | Where | Both fail | Action | Owner |
| --- | --- | --- | --- | --- | --- | --- |
| bitnami/apache@11.4.29 | default | docker.io/bitnami/apache:2.4.65-debian-12-r2 | init-container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/apache@11.4.29 | legacy | docker.io/bitnamilegacy/apache:2.4.65-debian-12-r2 | init-container | regular-helm-only | refresh-chart-or-base | catalog-refresh |
| bitnami/contour@21.1.4 | default | docker.io/bitnami/contour:1.32.1-debian-12-r0; docker.io/bitnami/envoy:1.34.5-debian-12-r0 | hook/lifecycle-job | regular-helm-only | refresh-chart-or-base | catalog-refresh |
| bitnami/contour@21.1.4 | no-crds | docker.io/bitnami/contour:1.32.1-debian-12-r0; docker.io/bitnami/envoy:1.34.5-debian-12-r0 | hook/lifecycle-job | regular-helm-only | refresh-chart-or-base | catalog-refresh |
| bitnami/elasticsearch@22.1.6 | default | docker.io/bitnami/elasticsearch:9.1.2-debian-12-r0; docker.io/bitnami/os-shell:12-debian-12-r50 | init-container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/elasticsearch@22.1.6 | ha | docker.io/bitnami/elasticsearch:9.1.2-debian-12-r0; docker.io/bitnami/os-shell:12-debian-12-r50 | init-container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/elasticsearch@22.1.6 | legacy | docker.io/bitnamilegacy/elasticsearch:9.1.2-debian-12-r0; docker.io/bitnamilegacy/os-shell:12-debian-12-r50 | init-container | regular-helm-only | refresh-chart-or-base | catalog-refresh |
| bitnami/opensearch@2.0.10 | default | docker.io/bitnami/opensearch:3.2.0-debian-12-r0; docker.io/bitnami/os-shell:12-debian-12-r51 | init-container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/opensearch@2.0.10 | ha | docker.io/bitnami/opensearch:3.2.0-debian-12-r0; docker.io/bitnami/os-shell:12-debian-12-r51 | init-container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/opensearch@2.0.10 | legacy | docker.io/bitnamilegacy/opensearch:3.2.0-debian-12-r0; docker.io/bitnamilegacy/os-shell:12-debian-12-r51 | init-container | regular-helm-only | refresh-chart-or-base | catalog-refresh |
| bitnami/phpmyadmin@20.0.0 | default | docker.io/bitnami/phpmyadmin:5.2.2-debian-12-r22 | init-container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/phpmyadmin@20.0.0 | legacy | docker.io/bitnamilegacy/phpmyadmin:5.2.2-debian-12-r22 | init-container | regular-helm-only | refresh-chart-or-base | catalog-refresh |
| bitnami/spark@10.0.3 | default | docker.io/bitnami/spark:4.0.0-debian-12-r20 | container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/spark@10.0.3 | ha | docker.io/bitnami/spark:4.0.0-debian-12-r20 | container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/spark@10.0.3 | legacy | docker.io/bitnamilegacy/spark:4.0.0-debian-12-r20 | container | regular-helm-only | refresh-chart-or-base | catalog-refresh |
| bitnami/zookeeper@13.8.7 | default | docker.io/bitnami/zookeeper:3.9.3-debian-12-r21 | container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/zookeeper@13.8.7 | ha | docker.io/bitnami/zookeeper:3.9.3-debian-12-r21 | container | both | refresh-chart-or-base | catalog-refresh |
| bitnami/zookeeper@13.8.7 | legacy | docker.io/bitnamilegacy/zookeeper:3.9.3-debian-12-r21 | container | regular-helm-only | refresh-chart-or-base | catalog-refresh |
| istio/gateway@1.30.0 | controller-default-reviewed | auto | container | both | supported-image-override | base-design |
| istio/gateway@1.30.0 | default | auto | container | both | supported-image-override | base-design |

## How to read a row

- **missing_images** is taken from the committed receipt (the workload's image
  set); **image_location** says whether it fails in a main container, an init
  container, or a hook/lifecycle job.
- **candidate_override_path** is only filled when committed recipe artifacts
  actually expose an image value; otherwise it is `unknown` — this surface does
  not invent an override path.
- **recommended_action** / **owner_class** route the fix: a removed publisher tag
  is a `refresh-chart-or-base` (catalog), a hook-job image is a
  `route-lifecycle-image` (lifecycle), and an `image: auto` injection placeholder
  is a `supported-image-override` (base design).

## Boundaries

- Read-only over committed receipts and decision surfaces. No live run, no
  registry call, no `runs/` edit, no status change.
- A recommended action is a routed product decision, not a claim that the image
  is fixed. These rows stay `watch` until a refreshed/overridden image is proven.
