簡體   English   中英

"從傳感器覆蓋 Argo 工作流 generateName"

[英]Override Argo Workflows generateName from Sensor

我正在研究自定義工作流程名稱。 我看到argo submit --generate-name可以覆蓋.metadata.generateName屬性,但是有誰知道這是否可以通過觸發WorkflowSensor實現?

我正在使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM