Передача нескольких шаблонных входных данных в значение рабочего процесса Argo

#argo-workflows #argoproj

#argo-workflows #argoproj

Вопрос:

Ниже я записал рабочий процесс для Argo, который состоит из шаблона (на основе контейнера) и DAG. DAG должен передавать переменное количество значений во входные параметры шаблона.

Возможно ли это?

 apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: dag-
spec:
  entrypoint: do-something
  templates:
    - name: something
      inputs:
        parameters:
          - name: values
      container:
        image: some-image
        args: ["{{inputs.parameters.values}}"]  # This field must be converted to ["1", "3", "6", "9"]

    - name: do-something
      dag:
        tasks:
          - name: do-it
            template: something
            arguments:
              parameters:
                - name: values
                  value: [1, 3, 6, 9]

  

Ответ №1:

Я поднял проблему, и это невозможно таким образом. Предлагаемый обходной путь заключается в создании слоя, который преобразует строку в список:

 apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: dag-
spec:
  entrypoint: do-something
  templates:
    - name: something
      inputs:
        parameters:
          - name: values
      container:
        image: alpine:latest
        command: [sh, -c]
        args: ["parselist {{inputs.parameters.values}}"]

    - name: do-something
      dag:
        tasks:
          - name: do-it
            template: something
            arguments:
              parameters:
                - name: values
                  value: '["1", "3", "6", "9"]'