Registry deduplication: duplicate Docker Hub entries in image destination picker
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Stale
- Tech stack
- docker, typescript
- Domain
- cli
Research direction
Start in packages/cli/src/utils/prompts.ts and read getAvailableRegistries(), comparing the existing GCR Map deduplication with the Docker Hub and GHCR paths. Use Docker config entries with equivalent registry URL variants to verify that the image destination picker shows one entry per registry type and username.
Written by the indexing model from the issue text.
Description
Description
When running ecloud compute app deploy and selecting an image destination, Docker Hub registries appear multiple times if ~/.docker/config.json contains multiple URL variants for the same registry (e.g., docker.io, index.docker.io, https://index.docker.io/v1/).
Example output:
Detected authenticated registries:
dockerhub: mattmurrs/dev-test:latest
dockerhub: mattmurrs/dev-test:latest
dockerhub: mattmurrs/dev-test:latest
? Select image destination:
❯ mattmurrs/dev-test:latest
mattmurrs/dev-test:latest
mattmurrs/dev-test:latest
Enter custom image reference
Root Cause
In packages/cli/src/utils/prompts.ts, getAvailableRegistries() deduplicates GCR entries using a Map (keyed by username), but Docker Hub and GHCR entries are pushed directly to the array without deduplication. Each auths entry in the Docker config that resolves to Docker Hub produces a separate registry entry.
Expected Behavior
Only one entry per unique registry type + username combination should appear in the picker.
Suggested Fix
Apply the same Map-based deduplication used for GCR to Docker Hub and GHCR entries (e.g., key by registryType:username).
- Dominant language
- TypeScript
- Stars
- 7
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Layr-Labs/ecloud
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
dstack integration Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
All issues in Layr-Labs/ecloud
Similar issues
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Automattic/studio#4908 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100