CloudEvent Player¶
A developer tool for testing and debugging CloudEvents in distributed systems.
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.
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.
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:
- Installation - Run locally with Python or Docker
- Quick Start - Get up and running in 5 minutes
- Usage Guide - Learn how to use all features
- Deployment - Deploy to Kubernetes or cloud platforms
Documentation Structure¶
-
Getting Started
- Quick Start
-
Usage
- API Reference
- Event Generation
-
Deployment
- Kubernetes Deployment
-
Advanced
- Request ID Tracing
- Testing
- Troubleshooting
Community & Support¶
- Issues: Report bugs and request features on our issue tracker
- Contributions: See CONTRIBUTE.md
- Changelog: View release notes
License¶
Ready to start? Head to the Installation Guide or jump to the Quick Start!