... | ... | @@ -65,13 +65,45 @@ graph TD |
|
|
Home page: [LINK](https://argoproj.github.io/argo-events/)
|
|
|
Getting started: [LINK](https://argoproj.github.io/argo-events/quick_start/)
|
|
|
- This simple example shows how to spawn a new Argo workflow from an HTTP request with some payload
|
|
|
- We could make each Forwarding Agent to send a custom payload with the information of its providers and consumers, and then spawn a new workflow using that config
|
|
|
- We could make each Forwarding Agent send a custom payload with the information of its providers and consumers, and then spawn a new workflow using that config
|
|
|
|
|
|
```mermaid
|
|
|
flowchart TB
|
|
|
subgraph fa-svc[Forwarding Agents Service]
|
|
|
subgraph task-a[Pod A]
|
|
|
ua-a[User App A]
|
|
|
out-a[Output A]
|
|
|
fa-a[Forwarding Agent A]
|
|
|
ua-a -- Writes --> out-a
|
|
|
out-a --> fa-a
|
|
|
end
|
|
|
|
|
|
subgraph task-b[Pod B]
|
|
|
ua-b[User App B]
|
|
|
out-b[Output B]
|
|
|
fa-b[Forwarding Agent B]
|
|
|
ua-b -- Writes --> out-b
|
|
|
out-b --> fa-b
|
|
|
end
|
|
|
end
|
|
|
|
|
|
subgraph es-svc[Event Source Service]
|
|
|
direction TB
|
|
|
es[Event Source]
|
|
|
end
|
|
|
|
|
|
es -- 0 - Spawns Pod A --> task-a
|
|
|
fa-a -- 1 - Ready to send --> es-svc
|
|
|
es -- 2 - Spawns Pod B --> task-b
|
|
|
fa-a <-- 3 - Socket --> fa-b
|
|
|
fa-b -- 4 - Ready to send --> es-svc
|
|
|
```
|
|
|
|
|
|
### EventSource
|
|
|
- Enable its own service to allow reachability from within the cluster to any pod
|
|
|
- Enable its own service to allow reachability from within the cluster to any pod (selector is `eventsource-name` by default)
|
|
|
### Sensor
|
|
|
- Create k8s resource --> Pod
|
|
|
- Pods must point towards a `subdomain`
|
|
|
- This `subdomain` shall be the name of a headless `service` (without ClusterIP)
|
|
|
### Service
|
|
|
- Create a service whose selector is a pod's label (for now, use the `eventsource-name`, but as the EventSource has its own service, we don't need it in the same headless service anymore) |
|
|
\ No newline at end of file |
|
|
- Create a service whose selector is the `app` label of the forwarding agents' pods |
|
|
\ No newline at end of file |