Argo Events: Trigger Anything From Anything on Kubernetes
Argo Events connects event sources (webhooks, S3, Kafka, cron, GitHub) to triggers (Argo Workflows, Kubernetes resources, HTTP calls, Slack). Event-driven automation without writing glue code.
How It Works
Three concepts:
- EventSource — listens for events (webhook, S3 upload, Kafka message)
- Sensor — watches EventSources, applies filters, triggers actions
- Trigger — what happens (create pod, start workflow, call API)
The Free API (CRDs)
GitHub Webhook -> Argo Workflow
apiVersion: argoproj.io/v1alpha1
kind: EventSource
metadata:
name: github-events
spec:
github:
push:
repositories:
- owner: myorg
names: [my-repo]
webhook:
endpoint: /github/push
port: "12000"
events:
- push
apiToken:
name: github-token
key: token
---
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: ci-sensor
spec:
dependencies:
- name: push
eventSourceName: github-events
eventName: push
triggers:
- template:
name: ci-workflow
argoWorkflow:
operation: submit
source:
resource:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: ci-
spec:
entrypoint: build
templates:
- name: build
container:
image: golang:1.22
command: [go, test, ./...]
Cron -> HTTP Call
apiVersion: argoproj.io/v1alpha1
kind: EventSource
metadata:
name: cron-source
spec:
calendar:
daily-report:
schedule: "0 9 * * *"
---
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: report-sensor
spec:
dependencies:
- name: daily
eventSourceName: cron-source
eventName: daily-report
triggers:
- template:
name: send-report
http:
url: https://api.example.com/generate-report
method: POST
Event Sources (20+)
Webhook, GitHub, GitLab, S3, SQS, SNS, Kafka, NATS, Redis, AMQP, MQTT, Calendar/Cron, Slack, Stripe, and more.
Real-World Use Case
A data pipeline team manually triggered ETL jobs via cron. Argo Events: S3 upload -> trigger Argo Workflow -> process data -> notify Slack. Fully event-driven, no polling, no cron drift.
Quick Start
kubectl create namespace argo-events
kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml
Resources
Need automated event-driven data? Check out my tools on Apify or email spinov001@gmail.com for custom solutions.
Top comments (0)