A golang webhook server comply with at least once deliver.
go get github.com/si3nloong/webhook
# HTTP server
enabled: true
port: 3000
no_of_worker: 2
max_pending_webhook: 10000
# gRPC server
grpc:
enabled: true # enable gRPC server
api_key: "abcd"
port: 9000
message_queue:
engine: "redis" # possible value is redis, nats, nsq
topic: "webhook"
queue_group: "webhook"
redis:
cluster: false
addr: "127.0.0.1:6379"
password: ""
db: 1
nats:
js: true # indicate whether use jetstream or not
- Support YAML and env configuration.
- Automatically re-send webhook if the response is fail.
- RESTful API ready.
- GraphQL API ready.
- Support gRPC protocol.
- Allow to send a webhook using cURL command
- Support Inmemory, Redis, NATS, NSQ as Message Queue engine.
- Support Elasticsearch as Persistent Volume engine.
- Dockerize.
- Configurable.
- Kubernetes ready.
- Headless friendly.
- CLI ready.
Please refer to here.
Please refer to here.
Please refer to here.
This project still under development, don't use this in production!
Thanks to these awesome companies for their support of Open Source developers ❤
Copyright 2021 SianLoong
Licensed under the MIT License.