Skip to content

feat(chart): parameterize image refs with registrySuffix (drop hardcoded "/")#25

Open
elronbandel wants to merge 1 commit into
mainfrom
elron/chart-registry-suffix
Open

feat(chart): parameterize image refs with registrySuffix (drop hardcoded "/")#25
elronbandel wants to merge 1 commit into
mainfrom
elron/chart-registry-suffix

Conversation

@elronbandel

Copy link
Copy Markdown
Contributor

Why

The shared Helm chart's three image refs hardcode the category/name separator as /registry/core/otel, registry/models/<x>, registry/evals/<x>. That blocks rendering against a flattened internal registry, notably an OpenShift imagestream: a namespace can't hold nested paths, so images must collapse to core-otel. This is the Helm-side gap that #23 closed for the Dockerfiles.

What

Mirror PR #23's REGISTRY_SUFFIX parameterization in the chart. Add .Values.registrySuffix (default "/"), placed between category and name exactly as the Dockerfiles do (${REGISTRY}/<cat>${REGISTRY_SUFFIX}<name>):

{{ .Values.registry }}/core{{ .Values.registrySuffix }}otel:latest
{{ .Values.registry }}/models{{ .Values.registrySuffix }}{{ .Values.gatewayImage }}:{{ .Values.gatewayTag }}
{{ .Values.registry }}/evals{{ .Values.registrySuffix }}{{ .Values.benchmark }}--{{ .Values.agent }}:{{ .Values.runnerTag }}

Byte-identical at the default: "/" resolves to today's refs exactly. The only new capability is --set registrySuffix=-, which flattens every image to registry/<cat>-<name>. Like the other platform knobs, it's meant to be set once in an overlay (deploy/values-openshift.yaml) via --overlay, not per run — matching the project's axis(--set)/platform(--overlay) split. No CLI change: the CLI already threads --set registry= and layers overlays; the suffix rides the overlay.

Verification

  • aime renders byte-identical to main at defaults (diff empty).
  • --set registry=…/myns --set registrySuffix=-…/myns/core-otel, …/myns/models-…, …/myns/evals-aime--claude-code (flattened imagestream form).
  • All 102 benchmarks pass cargo test --test helm.

Companion to #23 for the build --builder oc / OpenShift-internal-registry path.

…ded "/")

The chart's three image refs hardcode the category/name separator as "/"
(registry/core/otel, /models/<x>, /evals/<x>). That blocks targeting a
flattened internal registry — notably an OpenShift imagestream, where a
namespace can't hold nested paths and images must collapse to core-otel.

Mirror the REGISTRY_SUFFIX parameterization PR #23 added to the Dockerfiles:
introduce .Values.registrySuffix (default "/") placed between category and
name — registry/<cat>{{ registrySuffix }}<name>. At the default it renders
byte-identical to today; --set registrySuffix=- flattens every image to
registry/<cat>-<name>. Set it once in a platform overlay
(deploy/values-openshift.yaml) rather than per run, matching the existing
axis(--set)/platform(--overlay) split.

Verified: aime renders byte-identical at defaults; suffix=- yields the
flattened imagestream form; all 102 benchmarks pass `cargo test --test helm`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant