webhook-broker
This is a fully HTTP based Pub/Sub Broker with a goal to simplify systems architected in SOA or Microservice architecture. It aims to solve the inter service communication problem.
Install & Usage
Consider one of the following 4 strategies to use Webhook Broker.
Terraform
As part of this project we are committed to maintain a terraform module to make it easy to deploy and manage Webhook Broker in a Kubernetes setting. The module is available in Terraform Registry as well; please make sure to checkout the w7b6 submodule if you are just interested in Webhook Broker; we also recommend to additionally consider k8s modules.
Helm Chart
As part of the Terraform configuration, we deploy Webhook Broker using a Helm Chart maintained within this repo.
DIY - Use Docker Image
Our docker images are host in 2 repositories -
The difference being Docker Hub will have images for builds from main
branch whenever a commit is pushed to the branch. Whereas Github registry will only contain releases. The distinction is made so that docker hub can be used for continuous deployment whereas Github Docker Registry for stable releases. The docker compose file for integration test gives a good idea how about to setup an environment using docker images and how to configure it through volume mount.
DIY - Build and Use
All the above should give plenty of hints around how to deploy the application on its own. The CLI Arguments look like -
$ make dep-tools deps build
$ ./webhook-broker -h
{"level":"debug","time":"2021-01-16T20:58:51-05:00","message":"Webhook Broker - 0.1-dev"}
Usage of ./webhook-broker:
-config string
Config file location
-do-not-watch-conf-change
Do not watch config change
-migrate string
Migration source folder
-stop-on-conf-change
Restart internally on -config change if this flag is absent
In addition consult our configuration documentation to setup the application.
Implementation Details
The Tech Specs are good place to understand the implementation details -
Contributors
The Project Board represents the works slated for current release. Once you find something you want to work on please fork the project, create a topic/issue/ticket branch, once complete open a PR against master.
If you find any bug, please report it here.
For all support and discussion please use the Slack Channel #webhook-broker
in the Gophers workspace. For direct invite please email to webhook-broker at imytech.net
.
Please check Developers for more developer note.
License
The project is released under ASL 2.0