cordis-cli
Command-line runner for the cordis-rs
plugin framework: cordis run <config.yml>.
Builds on cordis-loader to give a config-driven cordis application a process model:
$ cordis run cordis.yml
cordis: worker ready (2 entries, config: cordis.yml)
- daemon / worker —
cordis runsupervises a worker subprocess that boots the loader. The worker exits with code51to request a hot restart and52to quit; only51respawns. - signals —
SIGINT/SIGTERMdispose the root context gracefully and exit52, so Ctrl+C stops the whole application cleanly. - dotenv —
.envand.env.localare loaded from the working directory at startup (existing environment variables always win), and${{ env.NAME }}templates in the config expand from there. - hot reload — the entry file is watched (debounced); external edits reconcile fibers through the loader's diff machinery.
Plugins stop or restart the process through the worker service:
# use Context;
#
Scope
The stock binary registers only the built-in group plugin; entries with
other names are recorded in the loader's last_error() and skipped.
Embedding applications register their own plugins via
cordis_loader::PluginRegistry or fork
this runner; dynamic library loading (dynamic feature) is future work.