A webhook handler that securely forwards Buildkite build events to Google Cloud Pub/Sub, enabling event-driven architectures and integrations with your Buildkite pipelines.
This service connects Buildkite's webhook system to Google Cloud Pub/Sub, allowing you to:
- Receive Buildkite build events (status changes, pipeline updates, etc.)
- Forward events securely to Pub/Sub topics
- Monitor and alert on webhook delivery
- Filter and process events using Pub/Sub subscriptions
- Build event-driven workflows and integrations
- Go 1.20+ for development
- Docker for container builds
- kubectl for deployment
- Orbstack for local Kubernetes
- ngrok for local webhook testing
- Google Cloud Project with Pub/Sub enabled
- Buildkite organization admin access for webhook configuration
- Quick Start Guide - Get up and running in minutes
- Google Cloud Setup - Configure GCP project and permissions
- Testing Guide - Local development through production testing
- Usage Guide - Event patterns and integration examples
- Monitoring - Metrics, dashboards, and alerts
- Kubernetes Deployment - Production deployment configuration
See docs/ for complete documentation including architecture, distributed tracing, event schemas, and more.
# Run locally
go run cmd/webhook/main.go
# Run tests
go test ./...
# Build container
docker build -t buildkite-webhook .Follow the Quick Start Guide for complete deployment instructions, or see individual guides:
- GCP Setup Guide for Google Cloud configuration
- Usage Guide for event handling patterns
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -am 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE file for details.