qhook
Lightweight event-to-action engine. Turn webhooks and API events into reliable HTTP actions — single binary, no Redis, no Kubernetes.
- Zero infrastructure. Single binary, SQLite for dev, Postgres for production.
- Webhook verification built in. GitHub, Stripe, Shopify, PagerDuty, Grafana, Terraform Cloud, GitLab, HMAC, AWS SNS X.509.
- From one action to a pipeline. Single HTTP call or multi-step workflow with branching, parallelism, and rollback.
- Production ready. Prometheus metrics, health checks, alerts, CloudEvents, gRPC output.
Quick Start
# Install
cargo install qhook
# Or run with Docker
docker run -p 8888:8888 -v $(pwd)/qhook.yaml:/data/qhook.yaml ghcr.io/totte-dev/qhook
Simple: one event, one action
# qhook.yaml
database:
driver: sqlite
sources:
github:
type: webhook
verify: github
secret: ${GITHUB_WEBHOOK_SECRET}
handlers:
deploy:
source: github
events: [push]
url: http://deployer:3000/deploy
filter: "$.ref == refs/heads/main"
retry: { max: 5 }
Multi-step: event triggers a pipeline
workflows:
deploy-pipeline:
source: github
events: [push]
timeout: 600
steps:
- name: build
url: http://ci:3000/build
retry: { max: 2, errors: [5xx, timeout] }
- name: deploy
url: http://deployer:3000/deploy
catch:
- errors: [all]
goto: rollback
- name: notify
url: http://slack:3000/notify
end: true
- name: rollback
url: http://deployer:3000/rollback
end: true
Full Getting Started guide
Documentation
Guides
| Guide |
Description |
| Getting Started |
Installation, first config, first event |
| Configuration |
Full YAML config reference |
| CLI Reference |
All CLI commands and options |
| Webhook Verification |
GitHub, Stripe, Shopify, PagerDuty, Grafana, Terraform Cloud, GitLab, HMAC |
| CloudEvents |
Binary and structured mode support |
| AWS SNS |
Receive events from SNS topics |
| Workflows |
Multi-step pipelines with error routing |
| Filtering & Transformation |
Event filtering and payload reshaping |
| gRPC Output |
Deliver events via gRPC |
| Monitoring |
Prometheus metrics, health checks, alerts |
| Security |
Security features and best practices |
| Error Reference |
HTTP status codes and error messages |
| API Spec |
OpenAPI 3.1 specification |
Deployment
Deployment overview & platform comparison
Examples
Other
| Page |
Description |
| Why qhook? |
Use cases, comparisons, and positioning |
| Examples |
All example projects with descriptions |