3 unstable releases
0.1.1 | Jul 10, 2024 |
---|---|
0.1.0 | Jun 14, 2024 |
0.0.0 | Mar 20, 2024 |
#302 in Cargo plugins
125KB
2K
SLoC
cargo-prosa
ProSA is a framework that handles processors organized around a service bus. As such, ProSA needs to be built from internal or external Processors/Adaptor/Main.
cargo-prosa is a utility to package and deliver a builded ProSA. This builder is packaged within cargo as a custom command to be well integrated with the Rust ecosystem.
Install
To use it, you need to install it within Cargo.
cargo install cargo-prosa
Use
Create your own ProSA (work like cargo):
cargo prosa new my-prosa
# or from an existing folder, init it
cargo prosa init
cargo-prosa is meant to evolve in the future.
So maybe new things will be introduced.
To update your model, you can update the generated file with cargo prosa update
.
If you have different main/tvf, select them:
cargo prosa main MainProc
cargo prosa tvf SimpleStringTvf
Add your dependencies and your processor with its adaptor name
cargo add prosa
cargo prosa add -n stub-1 -a StubParotAdaptor stub
Once your ProSA is specified, the file ProSA.toml will contain the configuration. This file can be edited manually if you want.
Your project uses a build.rs/main.rs to create a binary that you can use.
Configuration
Keep in mind that you also need to have a settings file.
You can initiate a default one with:
cargo run -- -c default_config.yaml --dry_run
A configuration file contains:
- name: Name of your ProSA
- observability: Configuration of log/trace/metrics
- a map of processor name -> their settings
Run
When your ProSA is built, you can deploy like any Rust binary. So you'll find it in the target folder.
And you can run it:
cargo run -- -n "MyBuiltProSA" -c default_config.yaml
# or with binary
target/debug/my-prosa -n "MyBuiltProSA" -c default_config.yaml
Dependencies
~20–33MB
~514K SLoC