registry: add oc and openshift-install (http backend)#9669
Conversation
There was a problem hiding this comment.
Code Review
This pull request adds http backends for the oc and openshift-install tools to the registry, providing platform-specific download URLs. It also updates the version fetching logic in src/backend/version_list.rs to allow raw text retrieval when a regex is provided, which is necessary for parsing HTML directory listings. A review comment suggests extending Windows support to the openshift-install tool for parity with the oc tool configuration.
Greptile SummaryAdds
Confidence Score: 5/5Safe to merge — registry additions are additive and isolated, and the version_list.rs changes are guarded correctly. The registry TOML files are straightforward additions that don't touch any shared logic. The version_list.rs change is narrow: it replaces No files require special attention. Important Files Changed
Reviews (4): Last reviewed commit: "[autofix.ci] apply automated fixes" | Re-trigger Greptile |
fd1f969 to
0aa1f2a
Compare
### 🚀 Features - **(cli)** add minimum release age flag to lock and ls-remote by @risu729 in [#9269](#9269) - **(config)** add run field for hooks by @risu729 in [#9718](#9718) - **(github)** add native oauth token source by @jdx in [#9654](#9654) - **(oci)** scope build to project config by default by @jdx in [#9766](#9766) - add support for prefixed latest version queries in outdated checks by @roele in [#9767](#9767) ### 🐛 Bug Fixes - **(activate)** guard bash chpwd hook under nounset by @risu729 in [#9716](#9716) - **(backend)** date-check latest stable fast path by @risu729 in [#9650](#9650) - **(config)** parse core tool options consistently by @risu729 in [#9742](#9742) - **(exec)** propagate __MISE_DIFF so nested mise recovers pristine PATH by @jdx in [#9765](#9765) - **(forgejo)** include prereleases when opted in by @risu729 in [#9717](#9717) - **(github)** avoid caching empty release assets by @risu729 in [#9616](#9616) - **(java)** resolve lockfile URLs from metadata by @risu729 in [#9719](#9719) - **(lock)** cache unavailable github attestations by @risu729 in [#9741](#9741) - **(pipx)** preserve options when reinstalling tools by @risu729 in [#9663](#9663) - **(python)** skip redundant lockfile provenance verification by @risu729 in [#9739](#9739) - **(vfox)** run pre_uninstall hook by @risu729 in [#9662](#9662) ### 🚜 Refactor - **(schema)** extract tool options definition by @risu729 in [#9649](#9649) ### ⚡ Performance - **(aqua)** bake rkyv aqua package blobs by @risu729 in [#9535](#9535) ### 📦️ Dependency Updates - lock file maintenance by @renovate[bot] in [#9773](#9773) ### 📦 Registry - add vector ([github:vectordotdev/vector](https://github.com/vectordotdev/vector)) by @kquinsland in [#9761](#9761) - add oc and openshift-install (http backend) by @konono in [#9669](#9669) ### New Contributors - @konono made their first contribution in [#9669](#9669) - @kquinsland made their first contribution in [#9761](#9761)
Summary
http:backend to existingocregistry entry (keeps conda/asdf as fallbacks)openshift-installregistry entry withhttp:backendhttps://mirror.openshift.com/pub/openshift-v4/clients/ocp/version_regexto parse HTML responses inversion_list.rs, since the OpenShift mirror serves an Apache-style HTML directory listing as its version indexWhy the
version_list.rschange is neededThe OpenShift mirror (
https://mirror.openshift.com/pub/openshift-v4/clients/ocp/) serves an HTML directory listing as the only available version index — there is no JSON API, GitHub Releases, or plain-text endpoint. Currently,fetch_versionsusesHTTP.get_text(),which rejects any response starting with
<!DOCTYPE html>. Whenversion_regexis specified, the caller explicitly intends to parse arbitrary content (including HTML directory listings from Apache/nginx), so this change bypasses the HTML rejection in that case only.Popularity
oc (OpenShift CLI)
conda:openshift-cli,asdf:mise-plugins/mise-oc) — this PR adds a better backendopenshift-install
Test results (macOS ARM64)
Version listing
Install & verify
Unit tests