What is Argo Events?¶
Argo Events is an event-based dependency manager for Kubernetes which helps you define multiple dependencies from a variety of event sources like webhook, s3, schedules, streams etc. and trigger Kubernetes objects after successful event dependencies resolution.
- Manage dependencies from a variety of event sources.
- Ability to customize business-level constraint logic for event dependencies resolution.
- Manage everything from simple, linear, real-time dependencies to complex, multi-source, batch job dependencies.
- Ability to extends framework to add your own event source listener.
- Define arbitrary boolean logic to resolve event dependencies.
- CloudEvents compliant.
- Ability to manage event sources at runtime.
The framework is made up of two components:
Gateway which is implemented as a Kubernetes-native Custom Resource Definition processes events from event source.
Sensor which is implemented as a Kubernetes-native Custom Resource Definition defines a set of event dependencies and triggers K8s resources.
Event Source is a configmap that contains configurations which is interpreted by gateway as source for events producing entity.
Gateway monitors event sources and starts routines in parallel that consume events from entities like S3, Github, SNS, SQS, PubSub etc. and dispatch these events to sensor. Sensor upon receiving the events, evaluates the dependencies and triggers Argo workflows or other K8s resources.