Expand description
Package-handler register + discovery.
Rust has no runtime reflection / classpath scan, so the register is the
compiled-in catalog builtin_handlers. The tool autodiscovers it at
runtime via each handler’s meta() — that is what znippy handlers lists
and what --format <name> selects from. Adding a native handler = one line
in builtin_handlers.
One znippy archive carries one package type, so --format selects exactly
one handler. Combining/merging or signing archives, and config-driven
orchestration of many handlers, are a higher layer — that layer is the
sibling holger repo, not znippy.
Where a handler’s source lives — in znippy-common/src/plugins/native/ or in its
own znippy-plugin-* crate — is decided by rule P-5 in
.nornir/plugins-design.md §f3. Both tiers register right here and are
indistinguishable to znippy handlers.
Functions§
- builtin_
handlers - The plugin register: every natively-compiled handler, sorted by
type_id(so cargo/rust = 1 lists first). To add a handler, add its constructor here. - find_
handler - Look up a handler by canonical name or alias (case-insensitive).
- print_
catalog - Print the autodiscovered register (what
znippy handlersshows).