| Crates.io | shvbroker |
| lib.rs | shvbroker |
| version | 3.20.10 |
| created_at | 2025-12-19 02:09:55.974167+00 |
| updated_at | 2026-01-21 11:02:20.020799+00 |
| description | Rust implementation of the SHV broker |
| homepage | |
| repository | https://github.com/silicon-heaven/shvbroker-rs |
| max_upload_size | |
| id | 1994022 |
| size | 423,747 |
Rust implementation of SHV broker
Use CI build on releases
cargo build --release --all-features
Print default config
./shvbroker --print-config
Edit config, save config, run broker
./shvbroker --config myconfig.yaml
shvbroker_migrate_legacy is a command-line tool used to convert legacy C++ SHVBroker configuration and access database files into the YAML and SQLite formats used by shvbroker-rs.
This migration process includes:
.cfg configuration file to shvbroker.yml.db file to shvbroker.sqliteshvbroker_migrate_legacy --legacy-config <LEGACY_CONFIG_PATH> [--result-config <RESULT_CONFIG_PATH>]
| Flag | Description |
|---|---|
--legacy-config <PATH> |
Path to the legacy SHVBroker configuration file (in CPON format, e.g., shvbroker.cfg). |
| Flag | Description |
|---|---|
--result-config <PATH> |
Output path for the converted YAML configuration file. If not specified, the tool will write shvbroker.yml in the same directory as the legacy file. |
shvbroker_migrate_legacy --legacy-config /etc/shvbroker/shvbroker.cfg
What this does:
/etc/shvbroker/shvbroker.cfg./etc/shvbroker/shvbroker.yml (same directory by default).shvbroker.cfg.db), migrates it to shvbroker.sqlite in the configured data directory.shvbroker_migrate_legacy \
--legacy-config /etc/shvbroker/shvbroker.cfg \
--result-config /tmp/new_shvbroker.yml
This saves the converted configuration to /tmp/new_shvbroker.yml instead of the default shvbroker.yml in the config directory.
If the legacy configuration enables access database (i.e. use_access_db: true in the migrated config), the tool will:
data_directory in the new broker_config is a relative path, it will be joined with the config file's directory.data_directory is absolute, it will be used as-is.shvbroker.cfg.db).shvbroker.cfg.db.shvbroker.sqlite in the data directory.The tool reads the legacy DB in read-only mode and writes the new DB using the updated schema.