Problem
Vendors building airgap-compatible Helm charts need to use the HasLocalRegistry template function to conditionally rewrite image references to point at the customer's local registry when airgap mode is active. The docs mention this function but don't include a full worked example showing:
The chart values structure
The template function in a _helpers.tpl
How the rewritten image reference flows through to deployments/statefulsets
What the airgap bundle contains vs what the install expects
Mikhail's path:
Tried overriding images with upstream URLs (as docs suggested) → works for proxy pulls, breaks for airgap installs because private images fail
Reverted to pulling from the proxy → airgap builder appeared to work, but cluster still couldn't pull images when VM was airgapped
Eventually solved it with HasLocalRegistry template conditionally overwriting image references → worked, but painful
Mikhail's quote: "This felt painful. Maybe a full example in the docs would help here."
Source
Mikhail (Hollr bootcamp friction log)
Proposed fix
Add a complete worked example to the airgap / Helm docs showing:
A chart with private images routed through the proxy
The HasLocalRegistry template pattern in _helpers.tpl
Expected behavior in online vs airgap mode
How to verify the airgap bundle contains the images
Problem
Vendors building airgap-compatible Helm charts need to use the HasLocalRegistry template function to conditionally rewrite image references to point at the customer's local registry when airgap mode is active. The docs mention this function but don't include a full worked example showing:
The chart values structure
The template function in a _helpers.tpl
How the rewritten image reference flows through to deployments/statefulsets
What the airgap bundle contains vs what the install expects
Mikhail's path:
Tried overriding images with upstream URLs (as docs suggested) → works for proxy pulls, breaks for airgap installs because private images fail
Reverted to pulling from the proxy → airgap builder appeared to work, but cluster still couldn't pull images when VM was airgapped
Eventually solved it with HasLocalRegistry template conditionally overwriting image references → worked, but painful
Mikhail's quote: "This felt painful. Maybe a full example in the docs would help here."
Source
Mikhail (Hollr bootcamp friction log)
Proposed fix
Add a complete worked example to the airgap / Helm docs showing:
A chart with private images routed through the proxy
The HasLocalRegistry template pattern in _helpers.tpl
Expected behavior in online vs airgap mode
How to verify the airgap bundle contains the images