Skip to content

Derive edge image registry from a single ecrRegistry value#435

Open
timmarkhuff wants to merge 3 commits into
mainfrom
thuff/ecr-registry-single-source
Open

Derive edge image registry from a single ecrRegistry value#435
timmarkhuff wants to merge 3 commits into
mainfrom
thuff/ecr-registry-single-source

Conversation

@timmarkhuff

@timmarkhuff timmarkhuff commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

What

The edge-endpoint and inference-server images each hardcoded the GL_Public ECR host (767397850842.dkr.ecr.us-west-2.amazonaws.com), separate from the ecrRegistry value already used for the registry-credentials pull secret. This routes all three through a chart-local resolver keyed off upstreamEndpoint (the signal edge installs already provide), so no new install argument is added.

  • ecrRegistryMap (values.yaml) maps upstreamEndpoint -> ECR image base (registry host + optional repo prefix)
  • ecrRegistry helper -> full image base, used by the edge-endpoint and inference images
  • ecrRegistryHost helper -> host portion only, used by the pull-secret --docker-server (which keys on the host, not the prefix)
  • an explicit ecrRegistry value still overrides the map; upstreams absent from the map fall back to the prod (api.groundlight.ai) entry

No behavior change

The only map entry points at the GL_Public host, so the default and the fallback both render byte-identical image strings. Verified the full chart renders cleanly and that the override and unmapped-upstream branches resolve as expected:

Scenario image base docker-server host
Default (api.groundlight.ai) 767397850842.dkr.ecr.us-west-2.amazonaws.com same
Override 999.../edge 999.../edge 999...amazonaws.com (prefix stripped)
Unmapped upstream falls back to 767... same

Why

Establishes the registry-switching seam now so the move to the dedicated Axon edge ECR accounts (aws-global #371) is a data-only map edit: add the account host plus the edge/ repo prefix (and jetson repo naming).

The edge-endpoint and inference-server image references hardcoded the
GL_Public ECR host (767397850842.dkr.ecr.us-west-2.amazonaws.com)
independently, alongside the existing ecrRegistry value already used for
the registry-credentials pull secret. Collapse all three onto the single
ecrRegistry value so the registry host has one source of truth.

No behavior change: ecrRegistry still defaults to the GL_Public host, so
the rendered image strings are byte-identical. This sets up a later switch
to derive the registry per environment from upstreamEndpoint once the
dedicated Axon edge ECR accounts exist.

Co-authored-by: Cursor <cursoragent@cursor.com>
@timmarkhuff timmarkhuff requested a review from a team as a code owner June 23, 2026 17:41
@timmarkhuff timmarkhuff changed the title Derive edge image registry from single ecrRegistry value Derive edge image registry from a single ecrRegistry value Jun 23, 2026
Tim Huff and others added 2 commits June 23, 2026 11:00
Build the registry-switching seam now rather than deferring it. A chart-local
ecrRegistryMap keys the ECR image base (registry host plus optional repo prefix)
off upstreamEndpoint, the signal edge installs already provide, so no new install
argument is introduced. Two helpers consume it: ecrRegistry (full image base, for
the edge-endpoint and inference images) and ecrRegistryHost (host portion only, for
the registry-credentials pull secret docker-server, which keys on the host).

An explicit ecrRegistry value still overrides the map, and upstreams absent from
the map fall back to the prod (api.groundlight.ai) entry, so self-hosted installs
are unaffected.

No behavior change: the only map entry points at the GL_Public host, so the default
and fallback both render the byte-identical image strings as before. When the
dedicated Axon edge ECR accounts exist (aws-global #371), adding their host plus the
edge/ repo prefix (and jetson repo naming) to the map flips the switch as a data-only
change.

Co-authored-by: Cursor <cursoragent@cursor.com>
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