Files
Stefan AgnerandClaude Opus 5 8bf77ce2a9 Convert remaining image reference parsing to the new helpers
Canonicalizing index.docker.io to docker.io made _get_credentials() qualify
Docker Hub images from the raw reference, so a reference already carrying a
Docker Hub domain gained a second prefix: index.docker.io/org/app was pulled as
docker.io/index.docker.io/org/app. Before the canonicalization the legacy domain
matched no configured registry and the image was pulled anonymously under its
original name, so this only surfaced now, although the same doubling already
applied to an explicit docker.io/org/app reference. Qualify from the remainder
instead, which covers references without a domain and with either Docker Hub
domain.

Three more sites split an image reference on its first colon and hit the same
problem a registry with a port causes in the unsupported container evaluation:

- The image property of DockerInterface reported myreg:5000/supervisor:1.0 as
  myreg, and a digest reference as name@sha256.
- get_latest_version() read the tag of a RepoTags entry, which for
  myreg:5000/homeassistant:2026.8.0 yielded 5000/homeassistant:2026.8.0. That
  is not a known version strategy, so every tag was skipped and the lookup
  failed with "No version found". This is reachable with a user-overridden Core
  image or a plugin image on a registry with a port.
- The Supervisor start tag repair took the image name from a RepoTags entry the
  same way, leaving myreg as the name to tag.

Also align two Docker Hub details with normalize.go: the library/ prefix for
official images now applies whenever the resolved registry is Docker Hub, not
only when the reference carried no domain, and credential lookup falls back to
the legacy hub.docker.com key for an explicit Docker Hub domain as it already
did for references without one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 16:25:24 +02:00
..