This patch introduces a foundational test and keyword framework
for syncing Docker images from external registries (e.g., DockerHub)
into the local StarlingX registry at registry.local:9001. Sync
behavior is driven by YAML manifests and resolved using the
JSON5-based ConfigurationManager system already used throughout
starlingx/test.
Key Features:
- Supports multiple image manifests and logical registry mappings
defined in config/docker/files/default.json5.
- Registry resolution follows:
1. source_registry field (per image in manifest)
2. manifest_registry_map (per manifest)
3. default_source_registry (global fallback)
- Test coverage verifies that registry resolution honors override
order, ensuring images are pulled from the correct source based
on per-image fields and per-manifest mappings, using
default_source_registry only when no override is provided.
Forward Compatibility:
- The config and manifest format is designed to support future
extensions such as digest pinning, curated test image sets,
or internal registry mirroring.
- Test images currently reference stable tags from
https://hub.docker.com/u/starlingx and will later be moved to
a dedicated test image repo.
This patch lays the foundation for managing image dependencies
through versioned manifests rather than bundling image binaries
in the repository.
Change-Id: Ib0bdf8ade444f079b141baed680eb1e71ed7cd0a
Signed-off-by: Andrew Vaillancourt <andrew.vaillancourt@windriver.com>