Workflow clusters support eventing, which lets you build automated pipelines that trigger Argo workflows in response to external events. Supported event sources include Object Storage Service (OSS), Simple Message Queue (formerly MNS) (SMQ), Git repositories, and EventBridge.
How it works
Eventing is built on open source Argo Events and fully complies with its open source eventing standards.
Three components work together to route external events to workflow executions:
-
Event Source: An Argo Events custom resource that collects events from an external source. Creating an Event Source automatically provisions an event source pod on an elastic container instance. Supported event sources include Git repositories, OSS, and Simple Message Queue (formerly MNS). To use other event sources, submit a ticket.
-
Event Bus: A buffer that caches events collected by an Event Source. Two types are supported:
-
NATS: A local message system based on open source NATS, running on an elastic container instance. Creating a NATS Event Bus provisions an event bus pod.
-
Simple Message Queue (formerly MNS): Uses an SMQ queue to cache events.
-
-
Event Sensor: Reads events from an Event Bus, applies filter rules, and triggers an Argo workflow. To configure trigger conditions, event transformation, and filters, see the open source Argo Events documentation.
Note Event Sensors can only trigger Argo workflows. To trigger other workflow types, submit a ticket.
Billing
Elastic container instance fees apply when the following resources are created. For details, see Billing overview.
| Resource created | Billed component |
|---|---|
| Event Source | Event source pod running on an elastic container instance |
| NATS Event Bus | Event bus pod running on an elastic container instance |
| Event Sensor | Event sensor pod running on an elastic container instance |
Prerequisites
Before you begin, ensure that you have:
-
A workflow cluster. See Create a workflow cluster
-
RAM user permissions configured. See Grant permissions to a RAM user
-
Alibaba Cloud CLI 3.0.188 or later installed with credentials configured. For installation instructions, see Install Alibaba Cloud CLI on Windows. For credential setup, see Configure credentials
Enable eventing
Step 1: Get your workflow cluster ID.
Run the following command to list your workflow clusters and note the cluster ID:
aliyun adcp DescribeHubClusters --Profile=XFlow
Alternatively, log on to the ACK One console. On the Workflow Cluster page, go to the Basic Information tab to find the cluster ID.
Step 2: Enable eventing.
Replace *** with your cluster ID and run:
aliyun adcp UpdateHubClusterFeature --ArgoEventsEnabled true --ClusterId ***
Step 3: Verify that eventing is enabled.
After a few moments, query the cluster details:
aliyun adcp DescribeHubClusterDetails --ClusterId ***
In the output, find the EnabledArgoEvents entry and confirm that Status is True:
{
"Message": "",
"Reason": "",
"Status": "True",
"Type": "EnabledArgoEvents"
}
Eventing is now active on your workflow cluster. Proceed to create Event Sources, Event Buses, and Event Sensors to build event-driven workflows.
What's next
With eventing enabled, trigger Argo workflows from external events:
If Event Source, Event Bus, or Event Sensor pods do not reach a running state after enabling, submit a ticket for assistance.