Skip to content

A lightweight, extensible webhook handler that forwards Buildkite events to Google Cloud Pub/Sub. Built to provide GCP feature parity with Buildkite's AWS EventBridge integration.

License

Notifications You must be signed in to change notification settings

mcncl/buildkite-pubsub

Repository files navigation

Buildkite PubSub Webhook

A webhook handler that securely forwards Buildkite build events to Google Cloud Pub/Sub, enabling event-driven architectures and integrations with your Buildkite pipelines.

Overview

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

Prerequisites

Documentation

  1. Getting Started

  2. Usage & Integration

Features

  • 🔄 Event Handling

    • Standardized event transformation
    • Support for all Buildkite event types
    • Configurable event filtering
    • Reliable delivery with retries
  • 🔒 Security

    • Webhook token validation
    • Rate limiting (global and per-IP)
    • TLS termination
    • Security headers
  • 📊 Observability

    • Prometheus metrics
    • Grafana dashboards
    • Health checks
    • Alert templates
  • 🚀 Deployment

    • Kubernetes manifests
    • Horizontal scaling
    • Resource management
    • Zero-downtime updates

Local Development

# Run locally
go run cmd/webhook/main.go

# Run tests
go test ./...

# Build container
docker build -t buildkite-webhook .

Deployment

Follow the Quick Start Guide for complete deployment instructions, or see individual guides:

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -am 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see LICENSE file for details.

About

A lightweight, extensible webhook handler that forwards Buildkite events to Google Cloud Pub/Sub. Built to provide GCP feature parity with Buildkite's AWS EventBridge integration.

Resources

License

Stars

Watchers

Forks

Packages

No packages published