Argo Events
Argo Events
Introduction
Argo Events provides a Kubernetes-native event-driven automation framework.
In this setup, it is used to trigger workflows based on events generated by Redis.
This section explores the key components of Argo Events: the Jetstream event bus, the Redis event source, and the event sensor that drives the execution of the water bodies detection pipeline.
Key Features of Argo Events
- Event-Driven Execution: Automates workflows in response to real-time events.
- Scalable Architecture: Decouples event sources from workflow execution.
- Modularity: Supports multiple event sources, including HTTP, Redis, and more.
- Native Integration: Seamlessly integrates with Argo Workflows to trigger pipelines.
Components of Argo Events
- Event Bus
The event bus serves as the messaging backbone, enabling communication between event sources and sensors. In this setup, a Jetstream event bus is used for reliable, high-performance event delivery.
Why Jetstream?
- High throughput and reliability.
-
Built-in message persistence for fault tolerance.
-
Event Source
The event source monitors Redis for changes and forwards relevant events to the event bus.
Redis simulates incoming events by querying a STAC endpoint and publishing results.
Key Features:
- Channel-Based Filtering: Listens to specific channels for relevant events.
-
Secure Connections: Supports secret-based password authentication.
-
Event Sensor
The event sensor listens for events on the Jetstream event bus and triggers the execution of workflows when criteria are met.
Key Features:
- Dependencies: Defines the event source and type to listen for.
- Trigger Templates: Configures the workflow to be executed upon an event.
Event Flow
- Event Generation:
Redis generates events by querying a STAC endpoint for new geospatial data.
Events are published to the stac-events channel.
- Event Source Handling:
The Redis event source monitors the stac-events channel and forwards messages to the Jetstream event bus.
- Sensor Activation:
The sensor listens to the Jetstream event bus.
Upon receiving an event, it triggers the water-bodies-detection workflow.
- Workflow Execution:
Argo Workflows orchestrates the pipeline to process geospatial data and detect water bodies.
Why Use Argo Events?
- Seamless Workflow Triggers: Effortlessly connects events with workflows.
- Flexibility: Supports various event sources, making it adaptable to different scenarios.
- Scalability: Can handle high event throughput with minimal latency.
- Kubernetes-Native: Fully integrates with Kubernetes for a unified ecosystem.