Skip to content

akeebismail/convoy

 
 

Repository files navigation

Convoy

golangci-lint Build and run all tests

convoy image

Convoy is a fast & secure webhooks service. It receives event data from an HTTP API and sends these event data to the configured endpoints. To get started download the openapi spec into Postman or Insomnia.

Convoy includes the following features:

  • Security: Convoy signs the payload of events, so applications ensure the events have not been tampered with. You can configure your desired hash function to use as well as the name of the header E.g. X-Stripe-Signature to enable backward compatible migrations from custom-built systems to Convoy.

  • URL per Events: Convoy is able to receive one event and fan-out the event to multiple endpoints based on the configuration by the endpoint owner. On subscription, the endpoint owner configures what events should go to each endpoint. Overlaps are allowed.

  • Retries: Convoy currently supports two retry mechanisms: Constant time retries and exponential backoff. You can configure which retry mechanism works best for your application.

  • Management UI: Visibility and easy debugging are one of highly coveted features of a webhook delivery system. Convoy provides a UI to view your delivery attempt logs, filter by application, event status, date & time and perform flexible batch retries during downtimes.

  • Other features(Coming soon): Application Portal; enable you embed Convoy dashboard directly into your dashboard, Rate Limiting, Replay Attacks prevention, Multiple Ingest sources.

Installation, Getting Started

Follow the instructions on our quick start guide to start publishing events with Convoy.

There are several ways of installing Convoy.

Binaries

Convoy binaries can be downloaded with your package manager of choice. You can head over to Downloads Page to proceed.

Docker images

Docker images are available on GitHub Container Registry.

You can launch a Convoy Container with the following

$ docker run \
	-p 5005:5005 \
	--name convoy-server \
	-v `pwd`/convoy.json:/convoy.json \
	packages.getconvoy.io/frain-dev/convoy:v0.4.9

You can view a sample configuration here - convoy.json.

Building from source

To build Convoy from source code, you need:

git clone https://github.com/frain-dev/convoy.git && cd convoy
go build -o convoy ./cmd

Contributing

Thank you for your interest in contributing! Please refer to CONTRIBUTING.md for guidance. For contributions to the Convoy dashboard, please refer to the web/ui directory.

License

Mozilla Public License v2.0

About

Fast and Secure Webhooks Service.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 59.8%
  • TypeScript 13.5%
  • Vue 10.6%
  • HTML 7.0%
  • JavaScript 6.6%
  • SCSS 2.1%
  • Other 0.4%