[英]Argo Events: passing variables from workflow through event payload to triggered workflow
我希望設置 argo-events 以在提交“常規”工作流程時觸發數據記錄工作流程。 按照資源事件源文檔,我可以做到這一點,但我找不到如何像使用webhook 參數化那樣編碼和提取變量。
所以我想提交以下工作流程:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: test-logger-workflow-
labels:
class: dummy-in
submitaction: log-this
wfuser: m-wf
wfteam: a-wf
spec:
entrypoint: whalesay
templates:
- name: whalesay
container:
image: docker/whalesay:latest
command: [cowsay]
args: ["hello world - manual submit - was log created?"]
然后在觸發器中訪問這些標簽:
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: resource-logger
spec:
template:
serviceAccountName: operate-workflow-sa
dependencies:
- name: test-dep-sensor
eventSourceName: resource-wf-submit
eventName: log-this
triggers:
- template:
name: argo-workflow
k8s:
operation: create
source:
resource:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: resource-workflow-
labels:
class: dummy-out
spec:
entrypoint: mylogger
arguments:
parameters:
- name: user
value: default-name
- name: group
value: default-group
- name: description
value: triggered by argo submission
templates:
- name: logger
inputs:
parameters:
- name: user
- name: group
- name: description
container:
image: logger:latest
imagePullPolicy: Always
command: [/app/logger.py]
args: ["-w", "argo-events", "-u", "{{inputs.parameters.user}}", "-t", "{{inputs.parameters.group}}", "-d", "{{inputs.parameters.description}}"]
parameters:
- src:
dependencyName: test-dep-user
??
dest: spec.arguments.parameters.0.value
- src:
dependencyName: test-dep-group
??
dest: spec.arguments.parameters.1.value
- src:
dependencyName: test-dep-description
??
dest: spec.arguments.parameters.2.value
我需要用什么代替“??” 從工作流中獲取wfuser
和wfteam
值? 是否有訪問任何工作流結構的通用方法,例如使用image
值( docker/whalesay:latest
)填充描述?
我遇到的錯誤是spec.dependencies.name
( test-dep-sensor
)和spec.triggers.template.k8s.parameters.src.dependencyName
需要匹配,否則不包含/處理后者:
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: resource-logger
spec:
template:
serviceAccountName: operate-workflow-sa
dependencies:
- name: test-dep-sensor
eventSourceName: resource-wf-submit
eventName: log-this
triggers:
- template:
name: argo-workflow
k8s:
operation: create
source:
resource:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: resource-workflow-
labels:
class: dummy-out
spec:
entrypoint: mylogger
arguments:
parameters:
- name: description
value: triggered by argo submission
- name: user
value: default-name
- name: group
value: default-group
templates:
- name: logger
inputs:
parameters:
- name: description
- name: user
- name: group
container:
image: logger:latest
imagePullPolicy: Always
command: [/app/logger.py]
args: ["-w", "argo-events", "-u", "{{inputs.parameters.user}}", "-t", "{{inputs.parameters.group}}", "-d", "{{inputs.parameters.description}}"]
parameters:
- src:
dependencyName: test-dep-sensor
dataKey: body
dest: spec.arguments.parameters.0.value
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.