API exact match on `arch` field
Nobody has claimed this yet.
- Dominant language
- Elixir
- Stars
- 276
- Forks
- 68
- Avg merge
- 5h 52m
- Merged PRs (30d)
- 14
Description
Manually extracted from https://github.com/hexpm/bob/issues/289#issuecomment-5407764435
There are exactly 2 choices of arch: amd64 | arm64, plus end users may want to filter results down to multi-arch images (e.g. mix phx.gen.release needs that), thus making an array also a reasonable valid input, thus making "arch": "amd64" | "arm64" | ["amd64", "arm64"].
LiveView UI in /docker uses a dropdown, so values are always exact and no typing is required.
One way to make arch usable for multi-arch queries is turning it into a multi-select in the LiveView UI (or, perhaps even better UX, keep with a single select with options "any", "amd64", "arm64", "multi-arch"), and an (optional) list of strings in the API, so that we can query for images that have both amd64 & arm64 archs.
An alternative for the API would be accepting some special value like "all", but I'd argue that's a worse solution, because it is ambiguous. If in the future Bob supports a new arch, the meaning of "all" would suddenly change.
Suggestion: make arch exact match instead of prefix match and support list of archs as API input, similar to the change to repo in #289.
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.
Research direction
Start by tracing the API handling for the arch field and the LiveView UI under /docker, then inspect how the existing repo exact-match change works in #289. Done means exact matching for amd64 and arm64, support for an API list containing both architectures, and a UI choice for multi-arch results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, elixir
- Domain
- api, devops, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100