Home > Mobile >  error: unable to recognize "a.yaml": no matches for kind "Sensor" in version &qu
error: unable to recognize "a.yaml": no matches for kind "Sensor" in version &qu

Time:01-18

I got the following YAML from: https://raw.githubusercontent.com/argoproj/argo-events/stable/examples/sensors/webhook.yaml

and saved it at a.yaml

However, when I do

kubectl apply -f a.yaml

I get:

error: unable to recognize "a.yaml": no matches for kind "Sensor" in version "argoproj.io/v1alpha1"

Not sure why Sensor is not valid "Kind"

apiVersion: argoproj.io/v1
kind: Sensor
metadata:
  name: webhook
spec:
  template:
    serviceAccountName: operate-workflow-sa
  dependencies:
    - name: test-dep
      eventSourceName: webhook
      eventName: example
  triggers:
    - template:
        name: webhook-workflow-trigger
        k8s:
          operation: create
          source:
            resource:
              apiVersion: argoproj.io/v1alpha1
              kind: Workflow
              metadata:
                generateName: webhook-
              spec:
                entrypoint: whalesay
                arguments:
                  parameters:
                  - name: message
                    # the value will get overridden by event payload from test-dep
                    value: hello world
                templates:
                - name: whalesay
                  inputs:
                    parameters:
                    - name: message
                  container:
                    image: docker/whalesay:latest
                    command: [cowsay]
                    args: ["{{inputs.parameters.message}}"]
          parameters:
            - src:
                dependencyName: test-dep
                dataKey: body
              dest: spec.arguments.parameters.0.value

CodePudding user response:

The Kubernetes api can be extended. Kubernetes by default does not know this kind.

You have to install it.

Check this with your System-admin on a Production-Side.

CodePudding user response:

There are two requirements for this to work:

  1. You need a cluster with Alpha Features Enabled: https://cloud.google.com/kubernetes-engine/docs/how-to/creating-an-alpha-cluster

AND

  1. You need argo events installed
kubectl create ns argo-events
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/namespace-install.yaml

Then you can install a webhook Sensor.

  • Related