/webhook-broker

This is a fully HTTP based Pub/Sub Broker with a goal to simplify system architecture in SOA or Microservice architecture. It aims to solve the inter service communication problem.

Primary LanguageGoApache License 2.0Apache-2.0

webhook-broker

webhook-broker CI webhook-broker Container CI Test Coverage Maintainability Go Report Card

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 -

  1. Docker Hub
  2. Github Docker Registry

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