Salsa Steve
Salsa Steve

Reputation: 109

How to trigger an existing Argo cronworkflow?

I have tried many versions of this template below

apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
  name: tibco-events-sensor
spec:
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: 'false'
    serviceAccountName: operate-workflow-sa
  dependencies:
    - name: tibco-dep
      eventSourceName: tibco-events-source
      eventName: whatever
  triggers:
    - template:
        name: has-wf-event-trigger
        argoWorkflow:
          group: argoproj.io
          version: v1alpha1
          resource: Workflow
          operation: resubmit
          metadata:
            generateName: has-wf-argo-events-
          source:
            resource:
              apiVersion: argoproj.io/v1alpha1
              kind: Workflow
              metadata:
                name: has-wf-full-refresh

Keep getting errors of workflows not found

"rpc err
or: code = NotFound desc = workflows.argoproj.io \"has-wf-full-refresh\" not found"

I have hundreds of workflows launched as cronworkflows. And i would like to switch them to be event driven vs cron based. Id prefer not to change already existing flows. I just want to submit or resubmit them.

Upvotes: 0

Views: 1492

Answers (1)

Salsa Steve
Salsa Steve

Reputation: 109

I figured out that the argoWorkflow trigger template doesnt support CronWorkflows. I ended up using the httptrigger template.

apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
  name: tibco-events-sensor
spec:
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: 'false'
    serviceAccountName: operate-workflow-sa
  dependencies:
    - name: tibco-dep
      eventSourceName: tibco-events-source
      eventName: whatever
  triggers:
    - template:
        name: http-trigger
        http:
          url: http://argo-workflows.argo-workflows:2746/api/v1/workflows/lab-uat/submit
          secureHeaders:
            - name: Authorization
              valueFrom:
                secretKeyRef:
                  name: argo-workflows-sa-token
                  key: bearer-token
          payload: 
            - src:
                dependencyName: tibco-dep
                value: CronWorkflow
              dest: resourceKind
            - src:
                dependencyName: tibco-dep
                value: coinflip
              dest: resourceName
            - src:
                dependencyName: tibco-dep
                value: coinflip-event-
              dest: submitOptions.generateName
          method: POST
      retryStrategy:
        steps: 3
        duration: 3s
      policy:
        status:
          allow:
            - 200

Upvotes: 1

Related Questions