'Access CronWorkflow name for metrics labels

I have a CronWorkflow that sends the following metric:

apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
  name: my-cron-wf
spec:
  schedule: "0 * * * *"
  suspend: false
  workflowSpec:
    metrics:
      prometheus:
        - name: wf_exec_duration_gauge
          help: "Duration gauge by workflow name and status"
          labels:
            - key: name
              value: my-cron-wf
            - key: status
              value: "{{workflow.status}}"
          gauge:
            value: "{{workflow.duration}}"

I would like to populate the metric's label name with the CronWorkflow name using a variable in order to avoid copying it but I didn't find a variable for it. I tried to use {{workflow.name}} but it equals to the generated workflow name and not to the desired CronWorkflow name.

I use Kustomize to manage argo workflows resources so if there is a kustomize-way to achieve this it would be great as well.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source