I need help with escaping in my Argo Workflow:
- name: faith-tmpl
inputs:
parameters:
- name: run_name
- name: repo_name
- name: release_name
- name: username
- name: run_params
metadata:
labels:
argo-workflows-e2e: "{{inputs.parameters.run_name}}"
annotations:
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-pre-populate-only: "true"
vault.hashicorp.com/agent-inject-secret-.env: "{{=sprig.fromJson(steps.composer.outputs.parameters.output).vault_ci_path}}"
vault.hashicorp.com/role: home-ci
vault.hashicorp.com/agent-inject-template-.env: |
{{- with secret "{{=sprig.fromJson(steps.composer.outputs.parameters.output).vault_ci_path}}" }}
{{- range $k, $v := .Data.data }}
export {{ $k }}={{ $v }}
{{- end }}
{{- end }}
The sprig
function in agent-inject-secret-.env
works fine, but it doesn’t work in agent-inject-template-.env
.
I don’t know how to escape the parameter here:
{{- with secret "{{=sprig.fromJson(steps.composer.outputs.parameters.output).vault_ci_path}}" }}
I tried a few things but none worked for me.