[英]Override Argo Workflows generateName from Sensor
我正在研究自定義工作流程名稱。 我看到argo submit --generate-name
可以覆蓋.metadata.generateName
屬性,但是有誰知道這是否可以通過觸發Workflow
的Sensor
實現?
我正在使用 GitHub 事件來觸發這些工作流,但最好將存儲庫名稱從事件中提取出來並將其設置為工作流上的generateName
。
這是我希望工作的一個例子,但據我所知似乎沒有。 也許我的語法錯誤? 有誰知道這樣的事情是否可能?
(注意,我已經刪除了這個傳感器的很大一部分,以便只顯示重要部分。基本上,我想解析存儲庫名稱的 GitHub 事件有效負載。在工作流參數上設置它。然后使用這些來覆蓋工作流的generateName
屬性。)
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: github-sensor
spec:
dependencies:
- name: github-webhook-sensor
eventSourceName: github-events
eventName: github
triggers:
- template:
name: github
k8s:
group: argoproj.io
version: v1alpha1
resource: workflows
operation: create
source:
resource:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: {{ workflow.parameters.name }}
spec:
arguments:
parameters:
- name: "git-repository-name"
parameters:
# Parameter: git-repository-name
- src:
dependencyName: github-webhook-sensor
dataKey: body.repository.name
dest: spec.arguments.parameters.0.value
我認為您可以這樣做以在生成的名稱前面加上 repo 名稱(和連字符):
...
source:
resource:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: "-"
spec:
arguments:
parameters:
- name: "git-repository-name"
parameters:
- src:
dependencyName: github-webhook-sensor
dataKey: body.repository.name
dest: metadata.generateName
operation: prepend
# Parameter: git-repository-name
- src:
dependencyName: github-webhook-sensor
dataKey: body.repository.name
dest: spec.arguments.parameters.0.value
您也可以使用name代替generateName ,但我不確定如果出現多個觸發器會如何表現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.