fix(lib): discover Docker image tags for local profiles - #529
Conversation
`image_probe` only listed SIF files, so local + Docker profiles reported zero staged tags and the launcher's version selector rendered empty. Add a Docker discovery path that queries the local daemon via `docker image ls` and match refs against each configured `ImageSpec`. `list_staged_tags` now accepts the container provider and dispatches to the appropriate backend; Slurm profiles keep the SIF layout. Closes #520
ReviewNice fix overall - the Docker discovery path, the Bug:
|
CONTAINER_PROVIDER is a server-side setting detected at startup from the host's installed tools, not a per-profile fact. Forwarding it blindly to `list_staged_tags` meant a server with Docker installed (common on dev boxes) would run `docker image ls` over SSH on a Slurm login node — which has no Docker daemon — and silently return no tags. Force Apptainer for `SlurmProfile`; only local profiles honor the configured provider.
Summary
image_probeonly listed SIF files, so local + Docker profiles reported zero staged tags and the launcher's Advanced Options rendered orphan help text with no version selector.docker image ls --format '{{.Repository}}:{{.Tag}}') and matches full refs against each configuredImageSpec.repo.list_staged_tagsnow takes the container provider and dispatches: Docker uses the new path, everything else (Slurm profiles) keeps the SIF layout.Closes #520
Test plan
uv run just lintuv run just test(977 passed)Follow-up (separate PR): alert in the launcher when no images are staged for the configured service — applies to both local and Slurm.