Skip to main content

Module handlers

Module handlers 

Source
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/ 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 handlers shows).