From 01db7828f8d0427ad560aced8cad0010acea5d98 Mon Sep 17 00:00:00 2001 From: Elron Bandel Date: Wed, 3 Jun 2026 17:53:03 +0300 Subject: [PATCH] feat(chart): parameterize image refs with registrySuffix (drop hardcoded "/") MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The chart's three image refs hardcode the category/name separator as "/" (registry/core/otel, /models/, /evals/). 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/{{ registrySuffix }}. At the default it renders byte-identical to today; --set registrySuffix=- flattens every image to registry/-. 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`. --- benchmarks/_chart/templates/job.yaml | 6 +++--- benchmarks/_chart/values.yaml | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/benchmarks/_chart/templates/job.yaml b/benchmarks/_chart/templates/job.yaml index 98bbcef0..2b8a22ab 100644 --- a/benchmarks/_chart/templates/job.yaml +++ b/benchmarks/_chart/templates/job.yaml @@ -24,7 +24,7 @@ spec: {{- end }} containers: - name: otelcol - image: {{ .Values.registry }}/core/otel:latest + image: {{ .Values.registry }}/core{{ .Values.registrySuffix }}otel:latest imagePullPolicy: IfNotPresent ports: - { name: otlp-grpc, containerPort: 4317 } @@ -34,7 +34,7 @@ spec: - { name: output, mountPath: /output } - name: gateway - image: {{ .Values.registry }}/models/{{ .Values.gatewayImage }}:{{ .Values.gatewayTag }} + image: {{ .Values.registry }}/models{{ .Values.registrySuffix }}{{ .Values.gatewayImage }}:{{ .Values.gatewayTag }} imagePullPolicy: IfNotPresent ports: - { name: gateway, containerPort: 4000 } @@ -60,7 +60,7 @@ spec: {{- end }} - name: runner - image: {{ .Values.registry }}/evals/{{ .Values.benchmark }}--{{ .Values.agent }}:{{ .Values.runnerTag }} + image: {{ .Values.registry }}/evals{{ .Values.registrySuffix }}{{ .Values.benchmark }}--{{ .Values.agent }}:{{ .Values.runnerTag }} imagePullPolicy: IfNotPresent command: ["/bin/bash", "-c"] # $? / $rc are the container's shell — Helm leaves them untouched diff --git a/benchmarks/_chart/values.yaml b/benchmarks/_chart/values.yaml index 306b29ad..6fb3b1d1 100644 --- a/benchmarks/_chart/values.yaml +++ b/benchmarks/_chart/values.yaml @@ -7,6 +7,12 @@ agent: claude-code task: "0" registry: quay.io/eval-containers +# Separator between an image's category and name. "/" keeps the nested refs +# (registry/core/otel). A flattened internal registry (e.g. an OpenShift +# imagestream) sets "-" so each image collapses to registry/core-otel — set it +# once in a platform overlay (deploy/values-openshift.yaml). Mirrors the +# REGISTRY_SUFFIX build-arg on the Dockerfiles (PR #23). +registrySuffix: "/" # The gateway is a fixed proxy image; `evalModel` is the upstream it proxies to # (CLI --model sets evalModel + model). `model` is the runner's logging tag. gatewayImage: gpt-5.4--bifrost