Introduction
Argo Events is part of the Argo project ecosystem alongside Argo CD and Argo Workflows. It provides an event-driven architecture for Kubernetes where external events from webhooks, message queues, cloud services, and other sources can automatically trigger Kubernetes resources, Argo Workflows, or arbitrary actions.
What Argo Events Does
- Listens to 20+ event sources including webhooks, S3, Kafka, AMQP, and cloud events
- Applies filters and transformations on events before triggering actions
- Triggers Argo Workflows, Kubernetes resources, HTTP endpoints, or custom actions
- Supports complex event dependency logic with boolean conditions
- Provides an EventBus for reliable event delivery between components
Architecture Overview
Argo Events has three core components: EventSources (which listen for external events and publish them to the EventBus), Sensors (which subscribe to the EventBus, evaluate event dependencies and conditions, then fire Triggers), and the EventBus (a NATS-based or Jetstream-based messaging layer connecting sources to sensors). Each component runs as a Kubernetes deployment, and the controller manages their lifecycle.
Self-Hosting & Configuration
- Install via the official YAML manifests or Helm chart
- Deploy an EventBus using NATS Streaming or Jetstream as the transport
- Define EventSource resources for each event origin (webhook, S3, Kafka, etc.)
- Create Sensor resources with event filters, dependency logic, and trigger definitions
- Configure RBAC so Sensors can create the Kubernetes resources they trigger
Key Features
- 20+ built-in event source types covering cloud providers, message brokers, and custom webhooks
- Event dependency management with AND/OR logic across multiple sources
- Data filters and Lua-based transformations for event payload processing
- Trigger parameterization using event data to template Kubernetes resources
- Native integration with Argo Workflows for complex pipeline orchestration
Comparison with Similar Tools
- Argo Workflows — orchestrates multi-step workflows but does not listen for external events natively
- Tekton Triggers — similar webhook-to-pipeline triggering, tightly coupled to Tekton Pipelines
- Knative Eventing — broader eventing framework with CloudEvents support, heavier runtime footprint
- KEDA — scales workloads based on event metrics but does not trigger arbitrary resources
FAQ
Q: How does Argo Events relate to Argo Workflows? A: They are complementary. Argo Events listens for events and triggers actions, one of which can be submitting an Argo Workflow. Together they form an event-driven pipeline system.
Q: What happens if the EventBus goes down? A: Events are buffered and replayed when the EventBus recovers, depending on the NATS retention policy. Jetstream provides durable message storage.
Q: Can Argo Events trigger non-Kubernetes actions? A: Yes. Sensors can trigger HTTP requests to external endpoints, send Slack messages, invoke AWS Lambda functions, and more via the HTTP trigger type.
Q: Is Argo Events suitable for high-throughput event processing? A: Argo Events handles moderate throughput well. For extremely high-volume stream processing, consider pairing it with a dedicated streaming platform like Kafka and using Argo Events for orchestration.