src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
config.yml | ||
README.md |
Webhookey
Build
Install Rust
The Rust toolchain needs to be installed:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Further, for Rocket we need to have the nightly toolchain installed:
rustup toolchain install nightly
Build Webhookey
The webhookey project can be built for development:
cargo b
or for releasing:
cargo b --release
Install Webhookey
When a Rust toolchain installed you can also install Webhookey directly without cloning it manualy:
cargo install --git https://git.onders.org/finga/webhookey.git webhookey
or from within the project:
cargo install webhookey
Run Webhookey
Webhookey can either be run from the project directory with:
cargo b
or you can copy the produced binary somewhere else from
webhookey/target/{debug, release}/webhookey
depending on which one
you built.
Configuration
Configuration syntax is YAML and has to be done in following order:
Right now there is only the configuration parameter for hooks, here each hook has to be configured, It contains following fields:
- action: optional string for the action to be executed when all filters match
- filters: list of filters
Each filter has to have following fields:
- pointer: pointer to the JSON field according to RFC 6901
- regex: regular expression which has to match the field pointed to by the pointer
Configuration paths
Following locations are checked for a configuration file:
/etc/webhookey/config.yml
<config_dir>/webhookey/config.yml
./config.yml
Whereas <config_dir>
depends on the platform:
- Linux:
$XDG_CONFIG_HOME
or$HOME/.config
- macOS:
$HOME/Library/Application Support
- Windows:
{FOLDERID_RoamingAppData}