Add readme file to give at least some infos
This commit is contained in:
parent
82ccbf0a7e
commit
2539e75071
1 changed files with 83 additions and 0 deletions
83
README.md
Normal file
83
README.md
Normal file
|
@ -0,0 +1,83 @@
|
|||
# Webhookey
|
||||
|
||||
## Build
|
||||
|
||||
### Install Rust
|
||||
The Rust toolchain needs to be installed:
|
||||
``` sh
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
```
|
||||
|
||||
Further, for Rocket we need to have the nightly toolchain installed:
|
||||
``` sh
|
||||
rustup toolchain install nightly
|
||||
```
|
||||
|
||||
### Build Webhookey
|
||||
The webhookey project can be built for development:
|
||||
``` sh
|
||||
cargo b
|
||||
```
|
||||
|
||||
or for releasing:
|
||||
``` sh
|
||||
cargo b --release
|
||||
```
|
||||
|
||||
### Install Webhookey
|
||||
When a Rust toolchain installed you can also install Webhookey
|
||||
directly without cloning it manualy:
|
||||
``` sh
|
||||
cargo install --git https://git.onders.org/finga/webhookey.git webhookey
|
||||
```
|
||||
|
||||
or from within the project:
|
||||
``` sh
|
||||
cargo install webhookey
|
||||
```
|
||||
|
||||
### Run Webhookey
|
||||
Webhookey can either be run from the project directory with:
|
||||
``` sh
|
||||
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](https://tools.ietf.org/html/rfc6901)
|
||||
- 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}`
|
||||
|
||||
# TODOs
|
||||
|
||||
## Systemd service file
|
||||
## Use `lazy_static` or `once_cell` for compiled regexes
|
||||
## Use `clap` to parse command line arguments
|
||||
## Implement the functionality to reply to certain webhooks
|
||||
## Security
|
||||
### Authentication features
|
||||
### Secure cookies?
|
Loading…
Reference in a new issue