Previously, we introduced how to install Argo Workflow and trigger tasks. In this article, we focus on a new tool:
What is ArgoEvents?
Argo Events is an event-driven Kubernetes workflow automation framework. It supports over 20 different event sources (e.g., webhooks, S3 drops, cronjobs, message queues such as Kafka, GCP PubSub, SNS, SQS, etc.).
EventSource (similar to a gateway; sends messages to the event bus)
EventBus (event message queue; implemented using high-performance distributed messaging middleware NATS — note that NATS has ceased maintenance after 2023, so architectural changes may be expected in the future)
EventSensor (subscribes to the message queue, parameterizes events, and filters them)
Grant operate-workflow-sa permission to create Argo Workflows within the argo-events namespace — required for EventSensor to automatically create workflows later.
apiVersion:argoproj.io/v1alpha1kind:Sensormetadata:name:webhookspec:template:serviceAccountName:operate-workflow-sadependencies:- name:test-depeventSourceName:webhookeventName:exampletriggers:- template:name:webhook-workflow-triggerk8s:group:argoproj.ioversion:v1alpha1resource:workflowsoperation:createsource:resource:apiVersion:argoproj.io/v1alpha1kind:Workflowmetadata:generateName:webhook-spec:serviceAccountName:workflow-pods-saentrypoint:whalesayarguments:parameters:- name:message# Value will be overridden by payload from test-depvalue:hello worldtemplates:- name:whalesayinputs:parameters:- name:messagecontainer:image:docker/whalesay:latestcommand:[cowsay]args:["{{inputs.parameters.message}}"]parameters:- src:dependencyName:test-depdest:spec.arguments.parameters.0.value