Skip to content

CloudEvent Player

A developer tool for testing and debugging CloudEvents in distributed systems.

CloudEvent Player Logo

What is CloudEvent Player?

CloudEvent Player is a lightweight, browser-based tool designed to help developers test, generate, and monitor CloudEvents in real-time. It combines an event publisher, subscriber, and visual inspector in a single application.

CloudEvent Player Demo

Demo Setup: Two CloudEvent Players monitoring each other's events

graph TB
    Browser[🌐 Browser SSE Client]

    Browser ---|SSE Stream| Player1[CloudEvent Player 1]
    Browser ---|SSE Stream| Player2[CloudEvent Player 2]

    Player1 <-->|Publishes Events| Player2

    style Browser fill:#FFFFFF,stroke:#1A1A1A,stroke-width:2px,color:#1A1A1A
    style Player1 fill:#10aef7,stroke:#1A1A1A,stroke-width:2px,color:#fff
    style Player2 fill:#10aef7,stroke:#1A1A1A,stroke-width:2px,color:#fff

Key Features

🎯 Event Generation

Generate CloudEvents with customizable properties, data payloads, and delivery options. Perfect for testing event-driven architectures without writing code.

📡 Real-Time Monitoring

Watch events flow through your system with Server-Sent Events (SSE) streaming. See events as they arrive with syntax-highlighted JSON.

🔍 Event Inspection

Examine CloudEvent structure, validate schemas, and debug data payloads with an intuitive web interface.

🔄 Pub/Sub Support

Acts as both publisher and subscriber, allowing you to test complete event workflows.

🆔 Request Tracing

Built-in Request ID tracing for debugging across distributed systems.

🏥 Health Monitoring

Health check endpoint for integration with monitoring systems and orchestrators.

Use Cases

  • Development: Test event-driven microservices locally
  • Integration Testing: Validate event flows between services
  • Debugging: Inspect CloudEvents in real-time
  • Load Testing: Generate high-volume event streams
  • Documentation: Demonstrate CloudEvents to stakeholders

Quick Start

The easiest way to run CloudEvent Player is using Docker.

# Pull and run the latest image
docker pull ghcr.io/bvandewe/events-player:latest

docker run -d \
--name event-player \
-p 8884:8080 \
-e API_LOG_LEVEL=INFO \
ghcr.io/bvandewe/events-player:latest
# Using Docker Compose
git clone https://github.com/bvandewe/events-player
cd events-player
docker-compose up -d

# Access the UI
open http://localhost:8884

Architecture

graph LR
    A[Web UI] --> B[FastAPI Backend]
    B --> C[SSE Stream]
    B --> D[Event Publisher]
    B --> E[Event Subscriber]
    D --> F[CloudEvent Gateway]
    G[External Systems] --> E
    C --> A

Technology Stack

  • Backend: Python 3.10+ with FastAPI
  • Frontend: Vanilla JavaScript with Bootstrap 5
  • Streaming: Server-Sent Events (SSE)
  • Event Format: CloudEvents v1.0 specification
  • Containerization: Docker with multi-stage builds

CloudEvents Compliance

CloudEvent Player implements the CloudEvents v1.0 specification, supporting:

  • ✅ Required attributes (specversion, id, source, type)
  • ✅ Optional attributes (datacontenttype, subject, time)
  • ✅ JSON format with proper type handling
  • ✅ Content-Type validation
  • ✅ Structured content mode

Getting Started

Choose your deployment method:

Documentation Structure

Community & Support

License

MIT License


Ready to start? Head to the Installation Guide or jump to the Quick Start!