Open source libraries from Convoy
These are the Go libraries we built while running webhooks at scale. Try them in your own projects, and let us know what you think.
requestmigrations
Rolling versions for REST APIs. Date and semantic versions, type-based migrations, and Prometheus timing. We use it in production at Convoy.
Date and semantic versions:Version APIs with date or semantic version headers so clients stay on the contract they were built against.
View on GitHub
Type-based migrations:Define migrations per Go type instead of per handler, then transform requests and responses as they move between versions.
View on GitHub
Prometheus instrumentation:Track transformation latency so slow migrations are visible in production.
View on GitHub
gopartman
Range partitions for PostgreSQL, managed from Go. Creates upcoming partitions, drops expired ones, and drains the default partition.
Time and tenant partitions:Partition by date, or by tenant and date, so each tenant's rows live in their own child tables.
View on GitHub
Premake and retention:Keep upcoming partitions ready and drop or detach ones that fall outside the retention window.
View on GitHub
Pre-drop hooks:Decide whether a candidate partition is dropped, detached, archived, or skipped before it is removed.
View on GitHub
Built in the open
These libraries come out of the Convoy webhook gateway. The gateway itself is open source, and we would like you to use it, fork it, and talk to us.
Convoy gateway:The high-performance webhook gateway these libraries were extracted from. Star it, fork it, or run it yourself.
View on GitHub
Contribute:Issues and pull requests are welcome. Both libraries are MIT licensed and used in production at Convoy.
View on GitHub
Talk to us:Ask questions, share what you are building, and talk to the team in the Convoy Slack community.
Join Slack
Getting started with Convoy?
Add webhooks to your API in minutes. Start a 14-day free trial, no credit card required.