Cross-repo search — for idiots
Class:
guide(beginner) · Function:search. The five-minute version. The real reference issearch-guide.md.
The problem
You have a bunch of repositories in Holger (a Rust one, a Maven one, a prod one…) and you want to know: where is serde? or which repo holds the jar with this exact checksum? You do not want to open each repo one at a time.
The fix
Search looks in all of them at once. One command, one answer.
holger-server search --config holger.ron --name serde
That prints every artifact called (or containing) "serde", in every repo, with the repo name in brackets:
search: 2 artifact hit(s), 0 path hit(s)
[rust-dev] -/serde@1.0.1 (11 bytes)
[rust-dev] -/serde@1.0.0 (11 bytes)
The dials
Add as many as you like — they stack (all must match):
--name serde— the artifact name (case doesn't matter, partial is fine).--namespace org.example— the Maven group / npm scope.--version 1.0.0— the exact version.--checksum <hex>— "find whatever has these bytes" (by sha256). Slower, because Holger has to read the files to check — only use it when you mean it.--path .jar— search the raw file paths inside archives.--repo rust-dev— only look in this repo (repeat for more).--limit 50— stop after 50 hits.
No dials at all? You get a list of everything.
Not just the command line
The same search is also a gRPC call (SearchService.Search) and a plain web URL you can open in a browser or curl:
http://your-holger:PORT/-/search?name=serde
It answers with JSON. It is read-only — searching never changes anything.
Two things to remember
- Searching is safe and read-only. It never deletes or edits an artifact.
- If it says
(truncated …), there were more hits than your--limit— raise it.