0

I am triggering a sensor from a webhook in argo events

I am making a post request which triggers the sensor and the sensor starts up the work flow

I want to get the data from body of the post request pass it to git repo

apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
  name: webhook
  namespace: argo-events
spec:
  template:
    serviceAccountName: operate-workflow-sa
  dependencies:
    - name: test-dep
      eventSourceName: webhook
      eventName: example
  triggers:
    - template:
        name: webhook-workflow-trigger
        k8s:
          group: argoproj.io
          version: v1alpha1
          resource: workflows
          operation: create
          source:
            resource:
              apiVersion: argoproj.io/v1alpha1
              kind: Workflow
              metadata:
                name: s3-react-upload
              spec:
                entrypoint: git-clone
                arguments:
                  parameters:
                    - name: url
                      value: hello world
                templates:
                  - name: git-clone
                    inputs:
                      artifacts:
                        - name: argo-source
                          path: /src
                          git:
                            repo: "{{inputs.parameters.url}}"
                    container:
                      image: node:16-alpine3.17
                      command: [sh, -c]
                      args: ["npm install && npm run build"]
                      workingDir: /src
                    outputs:
                      artifacts:
                        - name: message
                          path: /src/build
                          archive:
                            none: {}
                          s3:
                            endpoint: s3.amazonaws.com
                            bucket: "{{inputs.parameters.bucket-name}}"
                            region: eu-west-2
                            key: "."
                            accessKeySecret:
                              name: secretdata
                              key: accessKey
                            secretKeySecret:
                              name: secretdata
                              key: secretKey
          parameters:
            - src:
                dependencyName: test-dep
                dataKey: body.url
              dest: spec.arguments.parameters.0.value
            - src:
                dependencyName: test-dep
                dataKey: body.bucket-name
              dest: spec.arguments.parameters.1.value

webhook

apiVersion: argoproj.io/v1alpha1
kind: EventSource
metadata:
  name: webhook
  namespace: argo-events
spec:
  service:
    ports:
      - port: 12000
        targetPort: 12000
  webhook:
    example:
      port: "12000"
      endpoint: /deploy
      method: POST

Curl

curl -d '{"url":"https://github.com/not-real-name/ci-cd", "bucket-name": "app-2023"}' -H "Content-Type: application/json" -X POST http://localhost:12000/deploy

I am getting this error

Failed: invalid spec: templates.git-clone: failed to resolve {{inputs.parameters.url}}

etranz
  • 891
  • 2
  • 10
  • 29

0 Answers0