rockethook
Rockethook is a microservice dedicated to delivering webhooks. Backed by the Crystal Language and Redis, Rockethook can achieve unmatched speeds with little effort. And it all compiles to a small executable that is easy to setup and deploy.
Some features of Rockethook include:
- Ability to add context and event info to each webhook via headers.
- Automatically generates HMAC headers for source verification.
- Support for max attempts and retry schedules.
- Fast HTTP requests with Keep-Alive headers.
- Client support for Ruby and Crystal.
- Support for blacklisting failed hosts.
- Ops center provides insight into your Rockethook service.
Rough benchmarks on Ubuntu 16.04:
Runtime | RSS | Time | Throughput |
---|---|---|---|
Crystal 0.19.2 | 15MB | 5.2 | 20,800 webhooks/sec |
Installation
Prerequisites:
- The latest version of crystal (> 0.19.0).
-
Clone the repo:
$ git clone https://github.com/nsweeting/rockethook.git
-
Switch to the repo directory:
$ cd rockethook
-
Build:
$ make install
-
Add /user/local/bin to your $PATH for access to Rockethoook from the command-line.
$ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
Ubuntu Desktop note: Modify your ~/.bashrc instead of ~/.bash_profile.
Zsh note: Modify your ~/.zshrc file instead of ~/.bash_profile.
Usage
TODO: Write usage instructions here
Development
TODO: Write development instructions here
Contributing
- Fork it ( https://github.com/nsweeting/rockethook/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- nsweeting Nicholas Sweeting - creator, maintainer
rockethook
- 1
- 0
- 0
- 0
- 2
- almost 9 years ago
- November 6, 2016
MIT License
Tue, 02 Sep 2025 06:52:41 GMT