-
I'm trying to create a ConfigMap as a step in my WorkflowTemplate by taking a json string as a parameter and then substituting the parsed value into the data field of ConfigMap. apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: test
spec:
entrypoint: create-configmap
arguments:
parameters:
- name: configmap-name
- name: configs
templates:
- name: create-configmap
resource:
action: patch
manifest: |
apiVersion: v1
kind: ConfigMap
metadata:
name: {{workflow.parameters.configmap-name}}
data:
{{ =sprig.fromJson(workflow.parameters.configs) }} This gets me this error: apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: test
spec:
template:
serviceAccountName: sa
dependencies:
- name: test-dependency
eventSourceName: asb
eventName: event-asb
triggers:
- template:
name: create-team-configmap
conditions: test-dependency
k8s:
operation: patch
source:
resource:
apiVersion: v1
kind: ConfigMap
metadata:
name: team-config-
parameters:
- src:
dependencyName: test-dependency
dataKey: body.configs
useRawData: true
dest: data How can I send a variable length JSON and have it convert to the data field in a configMap? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
I've fixed this. A combination of the correct workflowtemplate and sensor definition: apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: test
spec:
entrypoint: create-configmap
arguments:
parameters:
- name: configmap-name
- name: configs
templates:
- name: create-configmap
resource:
action: patch
manifest: |
apiVersion: v1
kind: ConfigMap
metadata:
name: {{workflow.parameters.configmap-name}}
data:
{{ workflow.parameters.configs }} apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: test
spec:
template:
serviceAccountName: sa
dependencies:
- name: test-dependency
eventSourceName: asb
eventName: event-asb
triggers:
- template:
name: test
conditions: test-dependency
argoWorkflow:
operation: submit
source:
resource:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: test-
spec:
arguments:
parameters:
- name: configmap-name
- name: configs
workflowTemplateRef:
name: test
parameters:
- src:
dependencyName: test-dependency
dataTemplate: "{{ .Input.body.configmap-name }}"
dest: spec.arguments.parameters.0.value
- src:
dependencyName: test-dependency
dataTemplate: "{{ toRawJson .Input.body.configs }}"
dest: spec.arguments.parameters.1.value |
Beta Was this translation helpful? Give feedback.
I've fixed this. A combination of the correct workflowtemplate and sensor definition: