apiVersion: v1
kind: Namespace
metadata:
  name: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: eventing-controller
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eventing-controller
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-controller
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: knative-eventing-controller
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eventing-controller-resolver
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-controller
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: addressable-resolver
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eventing-controller-source-observer
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-controller
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: source-observer
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eventing-controller-sources-controller
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-controller
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: knative-eventing-sources-controller
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eventing-controller-manipulator
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-controller
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: channelable-manipulator
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eventing-controller-crossnamespace-subscriber
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-controller
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: crossnamespace-subscriber
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: job-sink
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: knative-eventing-job-sink
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: job-sink
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: knative-eventing-job-sink
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: pingsource-mt-adapter
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: knative-eventing-pingsource-mt-adapter
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: pingsource-mt-adapter
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: knative-eventing-pingsource-mt-adapter
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: eventing-webhook
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eventing-webhook
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-webhook
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: knative-eventing-webhook
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: knative-eventing
  name: eventing-webhook
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-webhook
    namespace: knative-eventing
roleRef:
  kind: Role
  name: knative-eventing-webhook
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eventing-webhook-resolver
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-webhook
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: addressable-resolver
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eventing-webhook-podspecable-binding
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
subjects:
  - kind: ServiceAccount
    name: eventing-webhook
    namespace: knative-eventing
roleRef:
  kind: ClusterRole
  name: podspecable-binding
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-br-default-channel
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
data:
  channel-template-spec: |
    apiVersion: messaging.knative.dev/v1
    kind: InMemoryChannel
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-br-defaults
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
data:
  default-br-config: |
    clusterDefault:
      brokerClass: MTChannelBasedBroker
      apiVersion: v1
      kind: ConfigMap
      name: config-br-default-channel
      namespace: knative-eventing
      delivery:
        retry: 10
        backoffPolicy: exponential
        backoffDelay: PT0.2S
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: default-ch-webhook
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
data:
  default-ch-config: |
    clusterDefault:
      apiVersion: messaging.knative.dev/v1
      kind: InMemoryChannel
    namespaceDefaults:
      some-namespace:
        apiVersion: messaging.knative.dev/v1
        kind: InMemoryChannel
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-ping-defaults
  namespace: knative-eventing
  annotations:
    knative.dev/example-checksum: "9185c153"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
data:
  _example: |
    ################################
    #                              #
    #    EXAMPLE CONFIGURATION     #
    #                              #
    ################################

    # This block is not actually functional configuration,
    # but serves to illustrate the available configuration
    # options and document them in a way that is accessible
    # to users that `kubectl edit` this config map.
    #
    # These sample configuration options may be copied out of
    # this example block and unindented to be in the data block
    # to actually change the configuration.

    # Max number of bytes allowed to be sent for message excluding any
    # base64 decoding. Default is no limit set for data
    data-max-size: -1
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-features
  namespace: knative-eventing
  labels:
    knative.dev/config-propagation: original
    knative.dev/config-category: eventing
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
data:
  kreference-group: "disabled"
  delivery-retryafter: "disabled"
  delivery-timeout: "enabled"
  kreference-mapping: "disabled"
  transport-encryption: "disabled"
  eventtype-auto-create: "disabled"
  authentication-oidc: "disabled"
  default-authorization-mode: "allow-same-namespace"
  cross-namespace-event-links: "disabled"
  new-apiserversource-filters: "disabled"
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-kreference-mapping
  namespace: knative-eventing
  labels:
    knative.dev/config-propagation: original
    knative.dev/config-category: eventing
  annotations:
    knative.dev/example-checksum: "7375dbe1"
data:
  _example: |
    ################################
    #                              #
    #    EXAMPLE CONFIGURATION     #
    #                              #
    ################################

    # This block is not actually functional configuration,
    # but serves to illustrate the available configuration
    # options and document them in a way that is accessible
    # to users that `kubectl edit` this config map.

    # this is an example of mapping from pod to addressable-pod service
    # the data key must be of the form "kind.version.group"
    # the data value must be a valid URL. Valid template data are:
    # - Name: reference name
    # - Namespace: reference namespace
    # - SystemNamespace: knative namespace
    # - UID: reference UID
    #
    # Pod.v1: https://addressable-pod.{{ .SystemNamespace }}.svc.cluster.local/{{ .Name }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-leader-election
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  annotations:
    knative.dev/example-checksum: "f7948630"
data:
  _example: |
    ################################
    #                              #
    #    EXAMPLE CONFIGURATION     #
    #                              #
    ################################

    # This block is not actually functional configuration,
    # but serves to illustrate the available configuration
    # options and document them in a way that is accessible
    # to users that `kubectl edit` this config map.
    #
    # These sample configuration options may be copied out of
    # this example block and unindented to be in the data block
    # to actually change the configuration.

    # lease-duration is how long non-leaders will wait to try to acquire the
    # lock; 15 seconds is the value used by core kubernetes controllers.
    lease-duration: "15s"

    # renew-deadline is how long a leader will try to renew the lease before
    # giving up; 10 seconds is the value used by core kubernetes controllers.
    renew-deadline: "10s"

    # retry-period is how long the leader election client waits between tries of
    # actions; 2 seconds is the value used by core kubernetes controllers.
    retry-period: "2s"

    # buckets is the number of buckets used to partition key space of each
    # Reconciler. If this number is M and the replica number of the controller
    # is N, the N replicas will compete for the M buckets. The owner of a
    # bucket will take care of the reconciling for the keys partitioned into
    # that bucket.
    buckets: "1"
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-logging
  namespace: knative-eventing
  labels:
    knative.dev/config-propagation: original
    knative.dev/config-category: eventing
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
data:
  zap-logger-config: |
    {
      "level": "info",
      "development": false,
      "outputPaths": ["stdout"],
      "errorOutputPaths": ["stderr"],
      "encoding": "json",
      "encoderConfig": {
        "timeKey": "ts",
        "levelKey": "level",
        "nameKey": "logger",
        "callerKey": "caller",
        "messageKey": "msg",
        "stacktraceKey": "stacktrace",
        "lineEnding": "",
        "levelEncoder": "",
        "timeEncoder": "iso8601",
        "durationEncoder": "",
        "callerEncoder": ""
      }
    }
  loglevel.controller: "info"
  loglevel.webhook: "info"
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-observability
  namespace: knative-eventing
  labels:
    knative.dev/config-propagation: original
    knative.dev/config-category: eventing
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  annotations:
    knative.dev/example-checksum: "f46cf09d"
data:
  _example: |
    ################################
    #                              #
    #    EXAMPLE CONFIGURATION     #
    #                              #
    ################################

    # This block is not actually functional configuration,
    # but serves to illustrate the available configuration
    # options and document them in a way that is accessible
    # to users that `kubectl edit` this config map.
    #
    # These sample configuration options may be copied out of
    # this example block and unindented to be in the data block
    # to actually change the configuration.

    # metrics.backend-destination field specifies the system metrics destination.
    # It supports either prometheus (the default) or stackdriver.
    # Note: Using stackdriver will incur additional charges
    metrics.backend-destination: prometheus

    # metrics.request-metrics-backend-destination specifies the request metrics
    # destination. If non-empty, it enables queue proxy to send request metrics.
    # Currently supported values: prometheus, stackdriver.
    metrics.request-metrics-backend-destination: prometheus

    # metrics.stackdriver-project-id field specifies the stackdriver project ID. This
    # field is optional. When running on GCE, application default credentials will be
    # used if this field is not provided.
    metrics.stackdriver-project-id: "<your stackdriver project id>"

    # metrics.allow-stackdriver-custom-metrics indicates whether it is allowed to send metrics to
    # Stackdriver using "global" resource type and custom metric type if the
    # metrics are not supported by "knative_broker", "knative_trigger", and "knative_source" resource types.
    # Setting this flag to "true" could cause extra Stackdriver charge.
    # If metrics.backend-destination is not Stackdriver, this is ignored.
    metrics.allow-stackdriver-custom-metrics: "false"

    # profiling.enable indicates whether it is allowed to retrieve runtime profiling data from
    # the pods via an HTTP server in the format expected by the pprof visualization tool. When
    # enabled, the Knative Eventing pods expose the profiling data on an alternate HTTP port 8008.
    # The HTTP context root for profiling is then /debug/pprof/.
    profiling.enable: "false"

    # sink-event-error-reporting.enable whether the adapter reports a kube event to the CRD indicating
    # a failure to send a cloud event to the sink.
    sink-event-error-reporting.enable: "false"
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-sugar
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  annotations:
    knative.dev/example-checksum: "62dfac6f"
data:
  _example: |
    ################################
    #                              #
    #    EXAMPLE CONFIGURATION     #
    #                              #
    ################################
    # This block is not actually functional configuration,
    # but serves to illustrate the available configuration
    # options and document them in a way that is accessible
    # to users that `kubectl edit` this config map.
    #
    # These sample configuration options may be copied out of
    # this example block and unindented to be in the data block
    # to actually change the configuration.

    # namespace-selector specifies a LabelSelector which
    # determines which namespaces the Sugar Controller should operate upon
    # Use an empty value to disable the feature (this is the default):
    namespace-selector: ""

    # Use an empty object as a string to enable for all namespaces
    namespace-selector: "{}"

    # trigger-selector specifies a LabelSelector which
    # determines which triggers the Sugar Controller should operate upon
    # Use an empty value to disable the feature (this is the default):
    trigger-selector: ""

    # Use an empty object as string to enable for all triggers
    trigger-selector: "{}"
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-tracing
  namespace: knative-eventing
  labels:
    knative.dev/config-propagation: original
    knative.dev/config-category: eventing
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  annotations:
    knative.dev/example-checksum: "0492ceb0"
data:
  _example: |
    ################################
    #                              #
    #    EXAMPLE CONFIGURATION     #
    #                              #
    ################################
    # This block is not actually functional configuration,
    # but serves to illustrate the available configuration
    # options and document them in a way that is accessible
    # to users that `kubectl edit` this config map.
    #
    # These sample configuration options may be copied out of
    # this example block and unindented to be in the data block
    # to actually change the configuration.
    #
    # This may be "zipkin" or "none". the default is "none"
    backend: "none"

    # URL to zipkin collector where traces are sent.
    # This must be specified when backend is "zipkin"
    zipkin-endpoint: "http://zipkin.istio-system.svc.cluster.local:9411/api/v2/spans"

    # Enable zipkin debug mode. This allows all spans to be sent to the server
    # bypassing sampling.
    debug: "false"

    # Percentage (0-1) of requests to trace
    sample-rate: "0.1"
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: eventing-controller
  namespace: knative-eventing
  labels:
    knative.dev/high-availability: "true"
    app.kubernetes.io/component: eventing-controller
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
    bindings.knative.dev/exclude: "true"
spec:
  selector:
    matchLabels:
      app: eventing-controller
  template:
    metadata:
      labels:
        app: eventing-controller
        app.kubernetes.io/component: eventing-controller
        app.kubernetes.io/version: "1.16.4"
        app.kubernetes.io/name: knative-eventing
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app: eventing-controller
                topologyKey: kubernetes.io/hostname
              weight: 100
      serviceAccountName: eventing-controller
      enableServiceLinks: false
      containers:
        - name: eventing-controller
          terminationMessagePolicy: FallbackToLogsOnError
          image: gcr.io/knative-releases/knative.dev/eventing/cmd/controller@sha256:806330a39dfac379cd39a771c2e42f3a9998d0f214fe38f28bcb101c554a5a7a
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
          env:
            - name: SYSTEM_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: CONFIG_LOGGING_NAME
              value: config-logging
            - name: CONFIG_OBSERVABILITY_NAME
              value: config-observability
            - name: METRICS_DOMAIN
              value: knative.dev/eventing
            - name: APISERVER_RA_IMAGE
              value: gcr.io/knative-releases/knative.dev/eventing/cmd/apiserver_receive_adapter@sha256:681680716067c6466511f391822e35e0fd5c4eaf97405b058532ca082f3a8ba4
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            capabilities:
              drop:
                - ALL
            seccompProfile:
              type: RuntimeDefault
          livenessProbe:
            httpGet:
              path: /health
              port: probes
              scheme: HTTP
            initialDelaySeconds: 20
            periodSeconds: 10
            timeoutSeconds: 5
          readinessProbe:
            httpGet:
              path: /readiness
              port: probes
              scheme: HTTP
            initialDelaySeconds: 20
            periodSeconds: 10
            timeoutSeconds: 5
          ports:
            - name: metrics
              containerPort: 9090
            - name: profiling
              containerPort: 8008
            - name: probes
              containerPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: job-sink
  namespace: knative-eventing
  labels:
    app.kubernetes.io/component: job-sink
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  replicas: 1
  selector:
    matchLabels:
      sinks.knative.dev/sink: job-sink
  template:
    metadata:
      labels:
        sinks.knative.dev/sink: job-sink
        app.kubernetes.io/component: job-sink
        app.kubernetes.io/version: "1.16.4"
        app.kubernetes.io/name: knative-eventing
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    sinks.knative.dev/sink: job-sink
                topologyKey: kubernetes.io/hostname
              weight: 100
      enableServiceLinks: false
      containers:
        - name: job-sink
          terminationMessagePolicy: FallbackToLogsOnError
          image: gcr.io/knative-releases/knative.dev/eventing/cmd/jobsink@sha256:3e5270924afeeccc8dfe31142a1c7f7e3ec3489df11b4c81f69f352a788ad207
          env:
            - name: SYSTEM_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name
            - name: CONTAINER_NAME
              value: job-sink
            - name: CONFIG_LOGGING_NAME
              value: config-logging
            - name: CONFIG_OBSERVABILITY_NAME
              value: config-observability
            - name: METRICS_DOMAIN
              value: knative.dev/internal/eventing
            - name: INGRESS_PORT
              value: "8080"
            - name: INGRESS_PORT_HTTPS
              value: "8443"
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: 8080
              scheme: HTTP
            periodSeconds: 2
            successThreshold: 1
            timeoutSeconds: 1
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: 8080
              scheme: HTTP
            periodSeconds: 2
            successThreshold: 1
            timeoutSeconds: 1
            initialDelaySeconds: 5
          ports:
            - containerPort: 8080
              name: http
              protocol: TCP
            - containerPort: 8443
              name: https
              protocol: TCP
            - containerPort: 9092
              name: metrics
              protocol: TCP
          terminationMessagePath: /dev/termination-log
          resources:
            requests:
              cpu: 125m
              memory: 64Mi
            limits:
              cpu: 1000m
              memory: 2048Mi
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            capabilities:
              drop:
                - ALL
            seccompProfile:
              type: RuntimeDefault
      serviceAccountName: job-sink
---
apiVersion: v1
kind: Service
metadata:
  labels:
    sinks.knative.dev/sink: job-sink
    app.kubernetes.io/component: job-sink
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  name: job-sink
  namespace: knative-eventing
spec:
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 8080
    - name: https
      port: 443
      protocol: TCP
      targetPort: 8443
    - name: http-metrics
      port: 9092
      protocol: TCP
      targetPort: 9092
  selector:
    sinks.knative.dev/sink: job-sink
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: pingsource-mt-adapter
  namespace: knative-eventing
  labels:
    app.kubernetes.io/component: pingsource-mt-adapter
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
    bindings.knative.dev/exclude: "true"
spec:
  replicas: 0
  selector:
    matchLabels:
      eventing.knative.dev/source: ping-source-controller
      sources.knative.dev/role: adapter
  template:
    metadata:
      labels:
        eventing.knative.dev/source: ping-source-controller
        sources.knative.dev/role: adapter
        app.kubernetes.io/component: pingsource-mt-adapter
        app.kubernetes.io/version: "1.16.4"
        app.kubernetes.io/name: knative-eventing
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    eventing.knative.dev/source: ping-source-controller
                    sources.knative.dev/role: adapter
                topologyKey: kubernetes.io/hostname
              weight: 100
      enableServiceLinks: false
      containers:
        - name: dispatcher
          image: gcr.io/knative-releases/knative.dev/eventing/cmd/mtping@sha256:1ccb821e1a4edf4cb6b35449e1ec9d03c9098d9a19361a06c0e8f6fc6dd2117a
          env:
            - name: SYSTEM_NAMESPACE
              value: ''
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: NAMESPACE
              value: ''
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: K_METRICS_CONFIG
              value: ''
            - name: K_LOGGING_CONFIG
              value: ''
            - name: K_LEADER_ELECTION_CONFIG
              value: ''
            - name: K_NO_SHUTDOWN_AFTER
              value: ''
            - name: K_SINK_TIMEOUT
              value: '-1'
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
          ports:
            - containerPort: 9090
              name: metrics
              protocol: TCP
          resources:
            requests:
              cpu: 125m
              memory: 64Mi
            limits:
              cpu: 1000m
              memory: 2048Mi
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            capabilities:
              drop:
                - ALL
            seccompProfile:
              type: RuntimeDefault
      serviceAccountName: pingsource-mt-adapter
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: eventing-webhook
  namespace: knative-eventing
  labels:
    app.kubernetes.io/component: eventing-webhook
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: eventing-webhook
  minReplicas: 1
  maxReplicas: 5
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 100
---
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: eventing-webhook
  namespace: knative-eventing
  labels:
    app.kubernetes.io/component: eventing-webhook
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  minAvailable: 80%
  selector:
    matchLabels:
      app: eventing-webhook
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: eventing-webhook
  namespace: knative-eventing
  labels:
    app.kubernetes.io/component: eventing-webhook
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
    bindings.knative.dev/exclude: "true"
spec:
  selector:
    matchLabels:
      app: eventing-webhook
      role: eventing-webhook
  template:
    metadata:
      labels:
        app: eventing-webhook
        role: eventing-webhook
        app.kubernetes.io/component: eventing-webhook
        app.kubernetes.io/version: "1.16.4"
        app.kubernetes.io/name: knative-eventing
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app: eventing-webhook
                topologyKey: kubernetes.io/hostname
              weight: 100
      serviceAccountName: eventing-webhook
      enableServiceLinks: false
      containers:
        - name: eventing-webhook
          terminationMessagePolicy: FallbackToLogsOnError
          image: gcr.io/knative-releases/knative.dev/eventing/cmd/webhook@sha256:be90d7813786da265dbda2408742b4783e4f69e73719cb3b6e2c103d631ed721
          resources:
            requests:
              cpu: 100m
              memory: 50Mi
            limits:
              cpu: 200m
              memory: 200Mi
          env:
            - name: SYSTEM_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: CONFIG_LOGGING_NAME
              value: config-logging
            - name: METRICS_DOMAIN
              value: knative.dev/eventing
            - name: WEBHOOK_NAME
              value: eventing-webhook
            - name: WEBHOOK_PORT
              value: "8443"
            - name: SINK_BINDING_SELECTION_MODE
              value: "exclusion"
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            capabilities:
              drop:
                - ALL
            seccompProfile:
              type: RuntimeDefault
          ports:
            - name: https-webhook
              containerPort: 8443
            - name: metrics
              containerPort: 9090
            - name: profiling
              containerPort: 8008
          readinessProbe:
            periodSeconds: 1
            httpGet:
              scheme: HTTPS
              port: 8443
              httpHeaders:
                - name: k-kubelet-probe
                  value: "webhook"
          livenessProbe:
            periodSeconds: 1
            httpGet:
              scheme: HTTPS
              port: 8443
              httpHeaders:
                - name: k-kubelet-probe
                  value: "webhook"
            initialDelaySeconds: 120
      terminationGracePeriodSeconds: 300
---
apiVersion: v1
kind: Service
metadata:
  labels:
    role: eventing-webhook
    app.kubernetes.io/component: eventing-webhook
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  name: eventing-webhook
  namespace: knative-eventing
spec:
  ports:
    - name: https-webhook
      port: 443
      targetPort: 8443
  selector:
    role: eventing-webhook
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: null
  labels:
    eventing.knative.dev/source: "true"
    duck.knative.dev/source: "true"
    knative.dev/crd-install: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  annotations:
    registry.knative.dev/eventTypes: |
      [
        {
          "type": "dev.knative.apiserver.resource.add",
          "description": "CloudEvent type used for add operations when in Resource mode"
        },
        {
          "type": "dev.knative.apiserver.resource.delete",
          "description": "CloudEvent type used for delete operations when in Resource mode"
        },
        {
          "type": "dev.knative.apiserver.resource.update",
          "description": "CloudEvent type used for update operations when in Resource mode"
        },
        {
          "type": "dev.knative.apiserver.ref.add",
          "description": "CloudEvent type used for add operations when in Reference mode"
        },
        {
          "type": "dev.knative.apiserver.ref.delete",
          "description": "CloudEvent type used for delete operations when in Reference mode"
        },
        {
          "type": "dev.knative.apiserver.ref.update",
          "description": "CloudEvent type used for update operations when in Reference mode"
        }
      ]
  name: apiserversources.sources.knative.dev
spec:
  group: sources.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          description: 'ApiServerSource is an event source that brings Kubernetes API server events into Knative.'
          type: object
          properties:
            spec:
              type: object
              x-kubernetes-preserve-unknown-fields: true
              required:
                - resources
              properties:
                ceOverrides:
                  description: CloudEventOverrides defines overrides to control the output format and modifications of the event sent to the sink.
                  type: object
                  properties:
                    extensions:
                      description: Extensions specify what attribute are added or overridden on the outbound event. Each `Extensions` key-value pair are set on the event as an attribute extension independently.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                mode:
                  description: EventMode controls the format of the event. `Reference` sends a dataref event type for the resource under watch. `Resource` send the full resource lifecycle event. Defaults to `Reference`
                  type: string
                owner:
                  description: ResourceOwner is an additional filter to only track resources that are owned by a specific resource type. If ResourceOwner matches Resources[n] then Resources[n] is allowed to pass the ResourceOwner filter.
                  type: object
                  properties:
                    apiVersion:
                      description: APIVersion - the API version of the resource to watch.
                      type: string
                    kind:
                      description: 'Kind of the resource to watch. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                resources:
                  description: Resource are the resources this source will track and send related lifecycle events from the Kubernetes ApiServer, with an optional label selector to help filter.
                  type: array
                  items:
                    type: object
                    properties:
                      apiVersion:
                        description: APIVersion - the API version of the resource to watch.
                        type: string
                      kind:
                        description: 'Kind of the resource to watch. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                        type: string
                      selector:
                        description: 'LabelSelector filters this source to objects to those resources pass the label selector. More info: http://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors'
                        type: object
                        properties:
                          matchExpressions:
                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                            type: array
                            items:
                              type: object
                              properties:
                                key:
                                  description: key is the label key that the selector applies to.
                                  type: string
                                operator:
                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                                  type: string
                                values:
                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                                  type: array
                                  items:
                                    type: string
                          matchLabels:
                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                serviceAccountName:
                  description: ServiceAccountName is the name of the ServiceAccount to use to run this source. Defaults to default if not set.
                  type: string
                sink:
                  description: Sink is a reference to an object that will resolve to a uri to use as the sink.
                  type: object
                  properties:
                    ref:
                      description: Ref points to an Addressable.
                      type: object
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                    uri:
                      description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                      type: string
                    CACerts:
                      description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                      type: string
                    audience:
                      description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
                namespaceSelector:
                  description: NamespaceSelector is a label selector to capture the namespaces that should be watched by the source.
                  type: object
                  properties:
                    matchExpressions:
                      description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                      type: array
                      items:
                        type: object
                        properties:
                          key:
                            description: key is the label key that the selector applies to.
                            type: string
                          operator:
                            description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                            type: string
                          values:
                            description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                            type: array
                            items:
                              type: string
                    matchLabels:
                      description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
            status:
              type: object
              properties:
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                auth:
                  description: Auth provides the relevant information for OIDC authentication.
                  type: object
                  properties:
                    serviceAccountName:
                      description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                      type: string
                    serviceAccountNames:
                      description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                      type: array
                      items:
                        type: string
                ceAttributes:
                  description: CloudEventAttributes are the specific attributes that the Source uses as part of its CloudEvents.
                  type: array
                  items:
                    type: object
                    properties:
                      source:
                        description: Source is the CloudEvents source attribute.
                        type: string
                      type:
                        description: Type refers to the CloudEvent type attribute.
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
                        type: string
                      message:
                        description: A human readable message indicating details about the transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      severity:
                        description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of condition.
                        type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
                sinkUri:
                  description: SinkURI is the current active sink URI that has been configured for the Source.
                  type: string
                sinkCACerts:
                  description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                  type: string
                sinkAudience:
                  description: Audience is the OIDC audience of the sink. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the Addressable itself. If the target is an Addressable and specifies an Audience, the target's Audience takes precedence.
                  type: string
                namespaces:
                  description: Namespaces show the namespaces currently watched by the ApiServerSource
                  type: array
                  items:
                    type: string
      additionalPrinterColumns:
        - name: Sink
          type: string
          jsonPath: ".status.sinkUri"
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
  names:
    categories:
      - all
      - knative
      - sources
    kind: ApiServerSource
    plural: apiserversources
    singular: apiserversource
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: brokers.eventing.knative.dev
  labels:
    knative.dev/crd-install: "true"
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  group: eventing.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          description: 'Broker collects a pool of events that are consumable using Triggers. Brokers provide a well-known endpoint for event delivery that senders can use with minimal knowledge of the event routing strategy. Subscribers use Triggers to request delivery of events from a Broker''s pool to a specific URL or Addressable endpoint.'
          type: object
          properties:
            spec:
              description: Spec defines the desired state of the Broker.
              type: object
              properties:
                config:
                  description: Config is a KReference to the configuration that specifies configuration options for this Broker. For example, this could be a pointer to a ConfigMap.
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                      type: string
                delivery:
                  description: Delivery contains the delivery spec for each trigger to this Broker. Each trigger delivery spec, if any, overrides this global delivery spec.
                  type: object
                  properties:
                    backoffDelay:
                      description: 'BackoffDelay is the delay before retrying. More information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html - https://en.wikipedia.org/wiki/ISO_8601  For linear policy, backoff delay is backoffDelay*<numberOfRetries>. For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.'
                      type: string
                    backoffPolicy:
                      description: BackoffPolicy is the retry backoff policy (linear, exponential).
                      type: string
                    deadLetterSink:
                      description: DeadLetterSink is the sink receiving event that could not be sent to a destination.
                      type: object
                      properties:
                        ref:
                          description: Ref points to an Addressable.
                          type: object
                          properties:
                            apiVersion:
                              description: API version of the referent.
                              type: string
                            kind:
                              description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                              type: string
                            name:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                              type: string
                            namespace:
                              description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                              type: string
                        uri:
                          description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                          type: string
                        CACerts:
                          description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                          type: string
                        audience:
                          description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                          type: string
                    retry:
                      description: Retry is the minimum number of retries the sender should attempt when sending an event before moving it to the dead letter sink.
                      type: integer
                      format: int32
                  x-kubernetes-preserve-unknown-fields: true
            status:
              description: Status represents the current state of the Broker. This data may be out of date.
              type: object
              properties:
                address:
                  description: Broker is Addressable. It exposes the endpoint as an URI to get events delivered into the Broker mesh.
                  type: object
                  properties:
                    name:
                      type: string
                    url:
                      type: string
                    CACerts:
                      type: string
                    audience:
                      type: string
                addresses:
                  description: Broker is Addressable. It exposes the endpoints as URIs to get events delivered into the Broker mesh.
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      url:
                        type: string
                      CACerts:
                        type: string
                      audience:
                        type: string
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                policies:
                  description: List of applied EventPolicies
                  type: array
                  items:
                    type: object
                    properties:
                      apiVersion:
                        description: The API version of the applied EventPolicy. This indicates, which version of EventPolicy is supported by the resource.
                        type: string
                      name:
                        description: The name of the applied EventPolicy
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
                        type: string
                      message:
                        description: 'A human readable message indicating details about the transition.'
                        type: string
                      reason:
                        description: 'The reason for the condition''s last transition.'
                        type: string
                      severity:
                        description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
                        type: string
                      status:
                        description: 'Status of the condition, one of True, False, Unknown.'
                        type: string
                      type:
                        description: 'Type of condition.'
                        type: string
                deadLetterSinkUri:
                  description: DeadLetterSinkURI is the resolved URI of the dead letter sink that will be used as a fallback when not specified by Triggers.
                  type: string
                deadLetterSinkCACerts:
                  description: Certification Authority (CA) certificates in PEM format according to https://www.rfc-editor.org/rfc/rfc7468.
                  type: string
                deadLetterSinkAudience:
                  description: OIDC audience of the dead letter sink.
                  type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
      additionalPrinterColumns:
        - name: URL
          type: string
          jsonPath: .status.address.url
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
        - name: Class
          type: string
          priority: 1
          jsonPath: '.metadata.annotations.eventing\.knative\.dev/broker\.class'
  names:
    kind: Broker
    plural: brokers
    singular: broker
    categories:
      - all
      - knative
      - eventing
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: channels.messaging.knative.dev
  labels:
    knative.dev/crd-install: "true"
    messaging.knative.dev/subscribable: "true"
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  group: messaging.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      additionalPrinterColumns:
        - name: URL
          type: string
          jsonPath: .status.address.url
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
      schema:
        openAPIV3Schema:
          description: 'Channel represents a generic Channel. It is normally used when we want a Channel, but do not need a specific Channel implementation.'
          type: object
          properties:
            spec:
              description: Spec defines the desired state of the Channel.
              type: object
              properties:
                channelTemplate:
                  description: ChannelTemplate specifies which Channel CRD to use to create the CRD Channel backing this Channel. This is immutable after creation. Normally this is set by the Channel defaulter, not directly by the user.
                  type: object
                  properties:
                    apiVersion:
                      description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
                      type: string
                    kind:
                      description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    spec:
                      description: Spec defines the Spec to use for each channel created. Passed in verbatim to the Channel CRD as Spec section.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                delivery:
                  description: DeliverySpec contains the default delivery spec for each subscription to this Channelable. Each subscription delivery spec, if any, overrides this global delivery spec.
                  type: object
                  properties:
                    backoffDelay:
                      description: 'BackoffDelay is the delay before retrying. More information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html - https://en.wikipedia.org/wiki/ISO_8601  For linear policy, backoff delay is backoffDelay*<numberOfRetries>. For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.'
                      type: string
                    backoffPolicy:
                      description: BackoffPolicy is the retry backoff policy (linear, exponential).
                      type: string
                    deadLetterSink:
                      description: DeadLetterSink is the sink receiving event that could not be sent to a destination.
                      type: object
                      properties:
                        ref:
                          description: Ref points to an Addressable.
                          type: object
                          properties:
                            apiVersion:
                              description: API version of the referent.
                              type: string
                            kind:
                              description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                              type: string
                            name:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                              type: string
                            namespace:
                              description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                              type: string
                        uri:
                          description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                          type: string
                        CACerts:
                          description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                          type: string
                        audience:
                          description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                          type: string
                    retry:
                      description: Retry is the minimum number of retries the sender should attempt when sending an event before moving it to the dead letter sink.
                      type: integer
                      format: int32
                  x-kubernetes-preserve-unknown-fields: true
                subscribers:
                  description: This is the list of subscriptions for this subscribable.
                  type: array
                  items:
                    type: object
                    properties:
                      delivery:
                        description: DeliverySpec contains options controlling the event delivery
                        type: object
                        properties:
                          backoffDelay:
                            description: 'BackoffDelay is the delay before retrying. More information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html - https://en.wikipedia.org/wiki/ISO_8601  For linear policy, backoff delay is backoffDelay*<numberOfRetries>. For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.'
                            type: string
                          backoffPolicy:
                            description: BackoffPolicy is the retry backoff policy (linear, exponential).
                            type: string
                          deadLetterSink:
                            description: DeadLetterSink is the sink receiving event that could not be sent to a destination.
                            type: object
                            properties:
                              ref:
                                description: Ref points to an Addressable.
                                type: object
                                properties:
                                  apiVersion:
                                    description: API version of the referent.
                                    type: string
                                  kind:
                                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                    type: string
                                  name:
                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                                    type: string
                                  namespace:
                                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                                    type: string
                              uri:
                                description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                                type: string
                          retry:
                            description: Retry is the minimum number of retries the sender should attempt when sending an event before moving it to the dead letter sink.
                            type: integer
                            format: int32
                        x-kubernetes-preserve-unknown-fields: true
                      generation:
                        description: Generation of the origin of the subscriber with uid:UID.
                        type: integer
                        format: int64
                      name:
                        description: The name of the subscription
                        type: string
                      replyUri:
                        description: ReplyURI is the endpoint for the reply
                        type: string
                      replyCACerts:
                        description: Certification Authority (CA) certificates in PEM format according to https://www.rfc-editor.org/rfc/rfc7468.
                        type: string
                      replyAudience:
                        description: ReplyAudience is the OIDC audience for the replyUri.
                        type: string
                      subscriberUri:
                        description: SubscriberURI is the endpoint for the subscriber
                        type: string
                      subscriberCACerts:
                        description: Certification Authority (CA) certificates in PEM format according to https://www.rfc-editor.org/rfc/rfc7468.
                        type: string
                      subscriberAudience:
                        description: SubscriberAudience is the OIDC audience for the subscriberUri.
                        type: string
                      uid:
                        description: UID is used to understand the origin of the subscriber.
                        type: string
                      auth:
                        description: Auth provides the relevant information for OIDC authentication.
                        type: object
                        properties:
                          serviceAccountName:
                            description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                            type: string
                          serviceAccountNames:
                            description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                            type: array
                            items:
                              type: string
            status:
              description: Status represents the current state of the Channel. This data may be out of date.
              type: object
              properties:
                address:
                  description: Channel is Addressable. It exposes the endpoint as an URI to get events delivered into the Channel mesh.
                  type: object
                  properties:
                    name:
                      type: string
                    url:
                      type: string
                    CACerts:
                      type: string
                    audience:
                      type: string
                addresses:
                  description: Channel is Addressable. It exposes the endpoints as URIs to get events delivered into the Channel mesh.
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      url:
                        type: string
                      CACerts:
                        type: string
                      audience:
                        type: string
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                channel:
                  description: Channel is an KReference to the Channel CRD backing this Channel.
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                      type: string
                policies:
                  description: List of applied EventPolicies
                  type: array
                  items:
                    type: object
                    properties:
                      apiVersion:
                        description: The API version of the applied EventPolicy. This indicates, which version of EventPolicy is supported by the resource.
                        type: string
                      name:
                        description: The name of the applied EventPolicy
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
                        type: string
                      message:
                        description: A human readable message indicating details about the transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      severity:
                        description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of condition.
                        type: string
                deadLetterChannel:
                  description: DeadLetterChannel is a KReference and is set by the channel when it supports native error handling via a channel Failed messages are delivered here.
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                      type: string
                deadLetterSinkUri:
                  description: DeadLetterSinkURI is the resolved URI of the dead letter sink that will be used as a fallback when not specified by Triggers.
                  type: string
                deadLetterSinkCACerts:
                  description: Certification Authority (CA) certificates in PEM format according to https://www.rfc-editor.org/rfc/rfc7468.
                  type: string
                deadLetterSinkAudience:
                  description: OIDC audience of the dead letter sink.
                  type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
                subscribers:
                  description: This is the list of subscription's statuses for this channel.
                  type: array
                  items:
                    type: object
                    properties:
                      message:
                        description: A human readable message indicating details of Ready status.
                        type: string
                      observedGeneration:
                        description: Generation of the origin of the subscriber with uid:UID.
                        type: integer
                        format: int64
                      ready:
                        description: Status of the subscriber.
                        type: string
                      uid:
                        description: UID is used to understand the origin of the subscriber.
                        type: string
                      auth:
                        description: Auth provides the relevant information for OIDC authentication.
                        type: object
                        properties:
                          serviceAccountName:
                            description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                            type: string
                          serviceAccountNames:
                            description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                            type: array
                            items:
                              type: string
  names:
    kind: Channel
    plural: channels
    singular: channel
    categories:
      - all
      - knative
      - messaging
      - channel
    shortNames:
      - ch
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  labels:
    eventing.knative.dev/source: "true"
    duck.knative.dev/source: "true"
    knative.dev/crd-install: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  name: containersources.sources.knative.dev
spec:
  group: sources.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          description: 'ContainerSource is an event source that starts a container image which generates events under certain situations and sends messages to a sink URI'
          type: object
          properties:
            spec:
              type: object
              properties:
                ceOverrides:
                  description: CloudEventOverrides defines overrides to control the output format and modifications of the event sent to the sink.
                  type: object
                  properties:
                    extensions:
                      description: Extensions specify what attribute are added or overridden on the outbound event. Each `Extensions` key-value pair are set on the event as an attribute extension independently.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                sink:
                  description: Sink is a reference to an object that will resolve to a uri to use as the sink.
                  type: object
                  properties:
                    ref:
                      description: Ref points to an Addressable.
                      type: object
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                    uri:
                      description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                      type: string
                    CACerts:
                      description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                      type: string
                    audience:
                      description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
                template:
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                  description: 'A template in the shape of `Deployment.spec.template` to be used for this ContainerSource. More info: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/'
            status:
              type: object
              properties:
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                auth:
                  description: Auth provides the relevant information for OIDC authentication.
                  type: object
                  properties:
                    serviceAccountName:
                      description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                      type: string
                    serviceAccountNames:
                      description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                      type: array
                      items:
                        type: string
                ceAttributes:
                  description: CloudEventAttributes are the specific attributes that the Source uses as part of its CloudEvents.
                  type: array
                  items:
                    type: object
                    properties:
                      source:
                        description: Source is the CloudEvents source attribute.
                        type: string
                      type:
                        description: Type refers to the CloudEvent type attribute.
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
                        type: string
                      message:
                        description: A human readable message indicating details about the transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      severity:
                        description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of condition.
                        type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
                sinkUri:
                  description: SinkURI is the current active sink URI that has been configured for the Source.
                  type: string
                sinkCACerts:
                  description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                  type: string
                sinkAudience:
                  description: Audience is the OIDC audience of the sink.
                  type: string
      additionalPrinterColumns:
        - name: Sink
          type: string
          jsonPath: ".status.sinkUri"
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  names:
    categories:
      - all
      - knative
      - sources
    kind: ContainerSource
    plural: containersources
    singular: containersource
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: eventpolicies.eventing.knative.dev
  labels:
    knative.dev/crd-install: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  group: eventing.knative.dev
  versions:
    - name: v1alpha1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              description: Spec defines the desired state of the EventPolicy.
              type: object
              properties:
                from:
                  description: From is the list of sources or oidc identities, which are allowed to send events to the targets (.spec.to).
                  type: array
                  items:
                    type: object
                    properties:
                      ref:
                        description: Ref contains a direct reference to a resource which is allowed to send events to the target.
                        type: object
                        properties:
                          apiVersion:
                            description: API version of the referent.
                            type: string
                          kind:
                            description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                            type: string
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                            type: string
                          namespace:
                            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                            type: string
                      sub:
                        description: Sub sets the OIDC identity name to be allowed to send events to the target. It is also possible to set a glob-like pattern to match any suffix.
                        type: string
                to:
                  description: To lists all resources for which this policy applies. Resources in this list must act like an ingress and have an audience. The resources are part of the same namespace as the EventPolicy. An empty list means it applies to all resources in the EventPolicies namespace
                  type: array
                  items:
                    type: object
                    properties:
                      ref:
                        description: Ref contains the direct reference to a target
                        type: object
                        properties:
                          apiVersion:
                            description: API version of the referent.
                            type: string
                          kind:
                            description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                            type: string
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                            type: string
                      selector:
                        description: Selector contains a selector to group targets
                        type: object
                        properties:
                          apiVersion:
                            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
                            type: string
                          kind:
                            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                            type: string
                          matchExpressions:
                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                            type: array
                            items:
                              type: object
                              properties:
                                key:
                                  description: key is the label key that the selector applies to.
                                  type: string
                                operator:
                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                                  type: string
                                values:
                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                                  type: array
                                  items:
                                    type: string
                          matchLabels:
                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                filters:
                  description: 'Filters is an array of SubscriptionsAPIFilters that evaluate to true or false. If any filter expression in the array evaluates to false, the event will not continue pass the ingress of the target resources of the policy'
                  type: array
                  items:
                    type: object
                    properties:
                      all:
                        description: 'All evaluates to true if all the nested expressions evaluate to true. It must contain at least one filter expression'
                        type: array
                        items:
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                      any:
                        description: 'Any evaluates to true if any of the nested expressions evaluate to true. It must contain at least one filter expression'
                        type: array
                        items:
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                      cesql:
                        description: 'CESQL is a CloudEvents SQL v1 expression that will evaluate to true or false for each CloudEvent.'
                        type: string
                      exact:
                        description: 'Exact evaluates to true if the values of the matching CloudEvents attributes all exactly match with the associated value string specified (case sensitive)'
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      not:
                        description: 'Not evaluates to true if the nested expression evaluates to false.'
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      prefix:
                        description: 'Prefix evaluates to true if the values of the matching CloudEvents attributes all start with the associated value string specified (case sensitive)'
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      suffix:
                        description: 'Exact evaluates to true if the values of the matching CloudEvents attributes all end with the associated value string specified (case sensitive)'
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
            status:
              description: Status represents the current state of the EventPolicy. This data may be out of date.
              type: object
              properties:
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
                        type: string
                      message:
                        description: A human readable message indicating details about the transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      severity:
                        description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of condition.
                        type: string
                from:
                  description: From is the list of resolved oidc identities from .spec.from
                  type: array
                  items:
                    type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
      additionalPrinterColumns:
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
  names:
    kind: EventPolicy
    plural: eventpolicies
    singular: eventpolicy
    categories:
      - all
      - knative
      - eventing
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: eventtypes.eventing.knative.dev
  labels:
    knative.dev/crd-install: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  group: eventing.knative.dev
  versions:
    - name: v1beta3
      served: true
      storage: false
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          type: object
          description: 'EventType represents a type of event that can be consumed from a resource.'
          properties:
            spec:
              description: 'Spec defines the desired state of the EventType.'
              type: object
              properties:
                reference:
                  description: Reference a resource. For example, Broker.
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is an optional field, it gets defaulted to the object holding it if left out.'
                      type: string
                    address:
                      description: 'Address points to a specific Address Name'
                      type: string
                description:
                  description: 'Description is an optional field used to describe the EventType, in any meaningful way.'
                  type: string
                attributes:
                  description: "CloudEvent attribute and extension attributes."
                  type: array
                  items:
                    type: object
                    required:
                      - name
                    properties:
                      name:
                        type: string
                        description: "Name of the CloudEvent attribute."
                      required:
                        type: boolean
                        description: "Indicates whether the attribute is required."
                      value:
                        type: string
                        description: "Value of the attribute. May be a template string using curly brackets {} to represent variable sections of the string."
            status:
              description: 'Status represents the current state of the EventType. This data may be out of date.'
              type: object
              properties:
                annotations:
                  description: 'Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                conditions:
                  description: 'Conditions the latest available observations of a resource''s current state.'
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
                        type: string
                      message:
                        description: 'A human readable message indicating details about the transition.'
                        type: string
                      reason:
                        description: 'The reason for the condition''s last transition.'
                        type: string
                      severity:
                        description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
                        type: string
                      status:
                        description: 'Status of the condition, one of True, False, Unknown.'
                        type: string
                      type:
                        description: 'Type of condition.'
                        type: string
                observedGeneration:
                  description: 'ObservedGeneration is the ''Generation'' of the Service that was last processed by the controller.'
                  type: integer
                  format: int64
      additionalPrinterColumns:
        - name: Type
          type: string
          jsonPath: ".spec.attributes[?(@.name=='type')].value"
        - name: Source
          type: string
          jsonPath: ".spec.attributes[?(@.name=='source')].value"
        - name: Reference Name
          type: string
          jsonPath: ".spec.reference.name"
        - name: Reference Kind
          type: string
          jsonPath: ".spec.reference.kind"
        - name: Description
          type: string
          jsonPath: ".spec.description"
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
    - name: v1beta2
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          type: object
          description: 'EventType represents a type of event that can be consumed from a resource.'
          properties:
            spec:
              description: 'Spec defines the desired state of the EventType.'
              type: object
              properties:
                broker:
                  type: string
                reference:
                  description: Reference a resource. For example, Broker.
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is an optional field, it gets defaulted to the object holding it if left out.'
                      type: string
                    address:
                      description: 'Address points to a specific Address Name'
                      type: string
                description:
                  description: 'Description is an optional field used to describe the EventType, in any meaningful way.'
                  type: string
                schema:
                  description: 'Schema is a URI, it represents the CloudEvents schemaurl extension attribute. It may be a JSON schema, a protobuf schema, etc. It is optional.'
                  type: string
                schemaData:
                  description: 'SchemaData allows the CloudEvents schema to be stored directly in the EventType. Content is dependent on the encoding. Optional attribute. The contents are not validated or manipulated by the system.'
                  type: string
                source:
                  description: 'Source is a URI, it represents the CloudEvents source.'
                  type: string
                type:
                  description: 'Type represents the CloudEvents type. It is authoritative.'
                  type: string
            status:
              description: 'Status represents the current state of the EventType. This data may be out of date.'
              type: object
              properties:
                annotations:
                  description: 'Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                conditions:
                  description: 'Conditions the latest available observations of a resource''s current state.'
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
                        type: string
                      message:
                        description: 'A human readable message indicating details about the transition.'
                        type: string
                      reason:
                        description: 'The reason for the condition''s last transition.'
                        type: string
                      severity:
                        description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
                        type: string
                      status:
                        description: 'Status of the condition, one of True, False, Unknown.'
                        type: string
                      type:
                        description: 'Type of condition.'
                        type: string
                observedGeneration:
                  description: 'ObservedGeneration is the ''Generation'' of the Service that was last processed by the controller.'
                  type: integer
                  format: int64
      additionalPrinterColumns:
        - name: Type
          type: string
          jsonPath: ".spec.type"
        - name: Source
          type: string
          jsonPath: ".spec.source"
        - name: Schema
          type: string
          jsonPath: ".spec.schema"
        - name: Reference Name
          type: string
          jsonPath: ".spec.reference.name"
        - name: Reference Kind
          type: string
          jsonPath: ".spec.reference.kind"
        - name: Description
          type: string
          jsonPath: ".spec.description"
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
    - name: v1beta1
      served: true
      storage: false
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          type: object
          description: 'EventType represents a type of event that can be consumed from a resource.'
          properties:
            spec:
              description: 'Spec defines the desired state of the EventType.'
              type: object
              properties:
                broker:
                  type: string
                reference:
                  description: Reference a resource. For example, Broker.
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is an optional field, it gets defaulted to the object holding it if left out.'
                      type: string
                    address:
                      description: 'Address points to a specific Address Name'
                      type: string
                description:
                  description: 'Description is an optional field used to describe the EventType, in any meaningful way.'
                  type: string
                schema:
                  description: 'Schema is a URI, it represents the CloudEvents schemaurl extension attribute. It may be a JSON schema, a protobuf schema, etc. It is optional.'
                  type: string
                schemaData:
                  description: 'SchemaData allows the CloudEvents schema to be stored directly in the EventType. Content is dependent on the encoding. Optional attribute. The contents are not validated or manipulated by the system.'
                  type: string
                source:
                  description: 'Source is a URI, it represents the CloudEvents source.'
                  type: string
                type:
                  description: 'Type represents the CloudEvents type. It is authoritative.'
                  type: string
            status:
              description: 'Status represents the current state of the EventType. This data may be out of date.'
              type: object
              properties:
                annotations:
                  description: 'Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                conditions:
                  description: 'Conditions the latest available observations of a resource''s current state.'
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
                        type: string
                      message:
                        description: 'A human readable message indicating details about the transition.'
                        type: string
                      reason:
                        description: 'The reason for the condition''s last transition.'
                        type: string
                      severity:
                        description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
                        type: string
                      status:
                        description: 'Status of the condition, one of True, False, Unknown.'
                        type: string
                      type:
                        description: 'Type of condition.'
                        type: string
                observedGeneration:
                  description: 'ObservedGeneration is the ''Generation'' of the Service that was last processed by the controller.'
                  type: integer
                  format: int64
      additionalPrinterColumns:
        - name: Type
          type: string
          jsonPath: ".spec.type"
        - name: Source
          type: string
          jsonPath: ".spec.source"
        - name: Schema
          type: string
          jsonPath: ".spec.schema"
        - name: Reference Name
          type: string
          jsonPath: ".spec.reference.name"
        - name: Reference Kind
          type: string
          jsonPath: ".spec.reference.kind"
        - name: Description
          type: string
          jsonPath: ".spec.description"
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
      deprecated: true
      deprecationWarning: "eventing.knative.dev/v1beta1 EventType is deprecated; see https://knative.dev/docs/eventing/event-registry/ for instructions to migrate to eventing.knative.dev/v1beta2 EventType"
  names:
    kind: EventType
    plural: eventtypes
    singular: eventtype
    categories:
      - all
      - knative
      - eventing
  scope: Namespaced
  conversion:
    strategy: Webhook
    webhook:
      conversionReviewVersions: ["v1", "v1beta1"]
      clientConfig:
        service:
          name: eventing-webhook
          namespace: knative-eventing
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: jobsinks.sinks.knative.dev
  labels:
    knative.dev/crd-install: "true"
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  group: sinks.knative.dev
  versions:
    - name: v1alpha1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          description: 'JobSink triggers long-running jobs when an event occur.'
          type: object
          properties:
            spec:
              description: Spec defines the desired state of the JobSink.
              type: object
              properties:
                job:
                  type: object
                  description: Full Job resource object, see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#job-v1-batch for more details.
                  x-kubernetes-preserve-unknown-fields: true
            status:
              description: Status represents the current state of the JobSink. This data may be out of date.
              type: object
              properties:
                address:
                  description: JobSink is Addressable. It exposes the endpoint as an URI to schedule long running jobs when an even occurs.
                  type: object
                  properties:
                    name:
                      type: string
                    url:
                      type: string
                    CACerts:
                      type: string
                    audience:
                      type: string
                addresses:
                  description: JobSink is Addressable. It exposes the endpoint as an URI to schedule long running jobs when an even occurs.
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      url:
                        type: string
                      CACerts:
                        type: string
                      audience:
                        type: string
                job:
                  type: object
                  properties:
                    selector:
                      type: string
                      description: Label selector for all scheduled jobs
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                policies:
                  description: List of applied EventPolicies
                  type: array
                  items:
                    type: object
                    properties:
                      apiVersion:
                        description: The API version of the applied EventPolicy. This indicates, which version of EventPolicy is supported by the resource.
                        type: string
                      name:
                        description: The name of the applied EventPolicy
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
                        type: string
                      message:
                        description: 'A human readable message indicating details about the transition.'
                        type: string
                      reason:
                        description: 'The reason for the condition''s last transition.'
                        type: string
                      severity:
                        description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
                        type: string
                      status:
                        description: 'Status of the condition, one of True, False, Unknown.'
                        type: string
                      type:
                        description: 'Type of condition.'
                        type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
      additionalPrinterColumns:
        - name: URL
          type: string
          jsonPath: .status.address.url
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
  names:
    kind: JobSink
    plural: jobsinks
    singular: jobsink
    categories:
      - all
      - knative
      - eventing
      - sink
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: parallels.flows.knative.dev
  labels:
    knative.dev/crd-install: "true"
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  group: flows.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          description: 'Parallel defines conditional branches that will be wired in series through Channels and Subscriptions.'
          type: object
          properties:
            spec:
              description: Spec defines the desired state of the Parallel.
              type: object
              properties:
                branches:
                  description: Branches is the list of Filter/Subscribers pairs.
                  type: array
                  items:
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                    properties:
                      delivery:
                        description: Delivery is the delivery specification for events to the subscriber This includes things like retries, DLQ, etc.
                        type: object
                        properties:
                          backoffDelay:
                            description: 'BackoffDelay is the delay before retrying. More information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html - https://en.wikipedia.org/wiki/ISO_8601  For linear policy, backoff delay is backoffDelay*<numberOfRetries>. For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.'
                            type: string
                          backoffPolicy:
                            description: BackoffPolicy is the retry backoff policy (linear, exponential).
                            type: string
                          deadLetterSink:
                            description: DeadLetterSink is the sink receiving event that could not be sent to a destination.
                            type: object
                            properties:
                              ref:
                                description: Ref points to an Addressable.
                                type: object
                                properties:
                                  apiVersion:
                                    description: API version of the referent.
                                    type: string
                                  kind:
                                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                    type: string
                                  name:
                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                                    type: string
                                  namespace:
                                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                                    type: string
                              uri:
                                description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                                type: string
                              CACerts:
                                description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                                type: string
                              audience:
                                description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                                type: string
                          retry:
                            description: Retry is the minimum number of retries the sender should attempt when sending an event before moving it to the dead letter sink.
                            type: integer
                            format: int32
                        x-kubernetes-preserve-unknown-fields: true
                      filter:
                        description: Filter is the expression guarding the branch
                        type: object
                        properties:
                          ref:
                            description: Ref points to an Addressable.
                            type: object
                            properties:
                              apiVersion:
                                description: API version of the referent.
                                type: string
                              kind:
                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                type: string
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                                type: string
                              namespace:
                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                                type: string
                          uri:
                            description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                            type: string
                          CACerts:
                            description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                            type: string
                          audience:
                            description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                            type: string
                      reply:
                        description: Reply is a Reference to where the result of Subscriber of this case gets sent to. If not specified, sent the result to the Parallel Reply
                        type: object
                        properties:
                          ref:
                            description: Ref points to an Addressable.
                            type: object
                            properties:
                              apiVersion:
                                description: API version of the referent.
                                type: string
                              kind:
                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                type: string
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                                type: string
                              namespace:
                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                                type: string
                          uri:
                            description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                            type: string
                          CACerts:
                            description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                            type: string
                          audience:
                            description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                            type: string
                      subscriber:
                        description: Subscriber receiving the event when the filter passes
                        type: object
                        properties:
                          ref:
                            description: Ref points to an Addressable.
                            type: object
                            properties:
                              apiVersion:
                                description: API version of the referent.
                                type: string
                              kind:
                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                type: string
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                                type: string
                              namespace:
                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                                type: string
                          uri:
                            description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                            type: string
                          CACerts:
                            description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                            type: string
                          audience:
                            description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                            type: string
                channelTemplate:
                  description: ChannelTemplate specifies which Channel CRD to use. If left unspecified, it is set to the default Channel CRD for the namespace (or cluster, in case there are no defaults for the namespace).
                  type: object
                  properties:
                    apiVersion:
                      description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
                      type: string
                    kind:
                      description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    spec:
                      description: Spec defines the Spec to use for each channel created. Passed in verbatim to the Channel CRD as Spec section.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                reply:
                  description: Reply is a Reference to where the result of a case Subscriber gets sent to when the case does not have a Reply
                  type: object
                  properties:
                    ref:
                      description: Ref points to an Addressable.
                      type: object
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                    uri:
                      description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                      type: string
                    CACerts:
                      description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                      type: string
                    audience:
                      description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
            status:
              description: Status represents the current state of the Parallel. This data may be out of date.
              type: object
              properties:
                address:
                  description: Parallel is Addressable. It exposes the endpoint as an URI to get events delivered into the Parallel.
                  type: object
                  properties:
                    name:
                      type: string
                    url:
                      type: string
                    CACerts:
                      type: string
                    audience:
                      type: string
                addresses:
                  description: Parallel is Addressable. It exposes the endpoints as URIs to get events delivered into the Parallel.
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      url:
                        type: string
                      CACerts:
                        type: string
                      audience:
                        type: string
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                auth:
                  description: Auth provides the relevant information for OIDC authentication.
                  type: object
                  properties:
                    serviceAccountName:
                      description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                      type: string
                    serviceAccountNames:
                      description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                      type: array
                      items:
                        type: string
                branchStatuses:
                  description: BranchStatuses is an array of corresponding to branch statuses. Matches the Spec.Branches array in the order.
                  type: array
                  items:
                    type: object
                    properties:
                      filterChannelStatus:
                        description: FilterChannelStatus corresponds to the filter channel status.
                        type: object
                        properties:
                          channel:
                            description: Channel is the reference to the underlying channel.
                            type: object
                            properties:
                              apiVersion:
                                description: API version of the referent.
                                type: string
                              fieldPath:
                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.'
                                type: string
                              kind:
                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                type: string
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                                type: string
                              namespace:
                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                                type: string
                              resourceVersion:
                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                                type: string
                              uid:
                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                                type: string
                          ready:
                            description: ReadyCondition indicates whether the Channel is ready or not.
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                            properties:
                              message:
                                description: A human readable message indicating details about the transition.
                                type: string
                              reason:
                                description: The reason for the condition's last transition.
                                type: string
                              severity:
                                description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                                type: string
                              status:
                                description: Status of the condition, one of True, False, Unknown.
                                type: string
                              type:
                                description: Type of condition.
                                type: string
                      filterSubscriptionStatus:
                        description: FilterSubscriptionStatus corresponds to the filter subscription status.
                        type: object
                        properties:
                          ready:
                            description: ReadyCondition indicates whether the Subscription is ready or not.
                            type: object
                            properties:
                              message:
                                description: A human readable message indicating details about the transition.
                                type: string
                              reason:
                                description: The reason for the condition's last transition.
                                type: string
                              severity:
                                description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                                type: string
                              status:
                                description: Status of the condition, one of True, False, Unknown.
                                type: string
                              type:
                                description: Type of condition.
                                type: string
                          subscription:
                            description: Subscription is the reference to the underlying Subscription.
                            type: object
                            properties:
                              apiVersion:
                                description: API version of the referent.
                                type: string
                              fieldPath:
                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.'
                                type: string
                              kind:
                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                type: string
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                                type: string
                              namespace:
                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                                type: string
                              resourceVersion:
                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                                type: string
                              uid:
                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                                type: string
                      subscriberSubscriptionStatus:
                        description: SubscriptionStatus corresponds to the subscriber subscription status.
                        type: object
                        properties:
                          ready:
                            description: ReadyCondition indicates whether the Subscription is ready or not.
                            type: object
                            properties:
                              message:
                                description: A human readable message indicating details about the transition.
                                type: string
                              reason:
                                description: The reason for the condition's last transition.
                                type: string
                              severity:
                                description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                                type: string
                              status:
                                description: Status of the condition, one of True, False, Unknown.
                                type: string
                              type:
                                description: Type of condition.
                                type: string
                          subscription:
                            description: Subscription is the reference to the underlying Subscription.
                            type: object
                            properties:
                              apiVersion:
                                description: API version of the referent.
                                type: string
                              fieldPath:
                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.'
                                type: string
                              kind:
                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                type: string
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                                type: string
                              namespace:
                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                                type: string
                              resourceVersion:
                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                                type: string
                              uid:
                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                                type: string
                policies:
                  description: List of applied EventPolicies
                  type: array
                  items:
                    type: object
                    properties:
                      apiVersion:
                        description: The API version of the applied EventPolicy. This indicates, which version of EventPolicy is supported by the resource.
                        type: string
                      name:
                        description: The name of the applied EventPolicy
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    properties:
                      message:
                        description: A human readable message indicating details about the transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      severity:
                        description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of condition.
                        type: string
                ingressChannelStatus:
                  description: IngressChannelStatus corresponds to the ingress channel status.
                  type: object
                  properties:
                    channel:
                      description: Channel is the reference to the underlying channel.
                      type: object
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        fieldPath:
                          description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.'
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                          type: string
                        resourceVersion:
                          description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                          type: string
                        uid:
                          description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                          type: string
                    ready:
                      description: ReadyCondition indicates whether the Channel is ready or not.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                      properties:
                        message:
                          description: A human readable message indicating details about the transition.
                          type: string
                        reason:
                          description: The reason for the condition's last transition.
                          type: string
                        severity:
                          description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                          type: string
                        status:
                          description: Status of the condition, one of True, False, Unknown.
                          type: string
                        type:
                          description: Type of condition.
                          type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
      additionalPrinterColumns:
        - name: URL
          type: string
          jsonPath: .status.address.url
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
  names:
    kind: Parallel
    plural: parallels
    singular: parallel
    categories:
      - all
      - knative
      - flows
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  labels:
    eventing.knative.dev/source: "true"
    duck.knative.dev/source: "true"
    knative.dev/crd-install: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  annotations:
    registry.knative.dev/eventTypes: |
      [
        {
          "type": "dev.knative.sources.ping",
          "description": "CloudEvent type for fixed payloads on a specified cron schedule"
        }
      ]
  name: pingsources.sources.knative.dev
spec:
  group: sources.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          type: object
          description: 'PingSource describes an event source with a fixed payload produced on a specified cron schedule.'
          properties:
            spec:
              type: object
              description: 'PingSourceSpec defines the desired state of the PingSource (from the client).'
              properties:
                ceOverrides:
                  description: 'CloudEventOverrides defines overrides to control the output format and modifications of the event sent to the sink.'
                  type: object
                  properties:
                    extensions:
                      description: 'Extensions specify what attribute are added or overridden on the outbound event. Each `Extensions` key-value pair are set on the event as an attribute extension independently.'
                      type: object
                      additionalProperties:
                        type: string
                      x-kubernetes-preserve-unknown-fields: true
                contentType:
                  description: 'ContentType is the media type of `data` or `dataBase64`. Default is empty.'
                  type: string
                data:
                  description: 'Data is data used as the body of the event posted to the sink. Default is empty. Mutually exclusive with `dataBase64`.'
                  type: string
                dataBase64:
                  description: "DataBase64 is the base64-encoded string of the actual event's body posted to the sink. Default is empty. Mutually exclusive with `data`."
                  type: string
                schedule:
                  description: 'Schedule is the cron schedule. Defaults to `* * * * *`.'
                  type: string
                sink:
                  description: 'Sink is a reference to an object that will resolve to a uri to use as the sink.'
                  type: object
                  properties:
                    ref:
                      description: 'Ref points to an Addressable.'
                      type: object
                      properties:
                        apiVersion:
                          description: 'API version of the referent.'
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                    uri:
                      description: 'URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.'
                      type: string
                    CACerts:
                      description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                      type: string
                    audience:
                      description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
                timezone:
                  description: 'Timezone modifies the actual time relative to the specified timezone. Defaults to the system time zone. More general information about time zones: https://www.iana.org/time-zones List of valid timezone values: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones'
                  type: string
            status:
              type: object
              description: 'PingSourceStatus defines the observed state of PingSource (from the controller).'
              properties:
                annotations:
                  description: 'Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                auth:
                  description: Auth provides the relevant information for OIDC authentication.
                  type: object
                  properties:
                    serviceAccountName:
                      description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                      type: string
                    serviceAccountNames:
                      description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                      type: array
                      items:
                        type: string
                ceAttributes:
                  description: 'CloudEventAttributes are the specific attributes that the Source uses as part of its CloudEvents.'
                  type: array
                  items:
                    type: object
                    properties:
                      source:
                        description: 'Source is the CloudEvents source attribute.'
                        type: string
                      type:
                        description: 'Type refers to the CloudEvent type attribute.'
                        type: string
                conditions:
                  description: 'Conditions the latest available observations of a resource''s current state.'
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
                        type: string
                      message:
                        description: 'A human readable message indicating details about the transition.'
                        type: string
                      reason:
                        description: 'The reason for the condition''s last transition.'
                        type: string
                      severity:
                        description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
                        type: string
                      status:
                        description: 'Status of the condition, one of True, False, Unknown.'
                        type: string
                      type:
                        description: 'Type of condition.'
                        type: string
                observedGeneration:
                  description: 'ObservedGeneration is the "Generation" of the Service that was last processed by the controller.'
                  type: integer
                  format: int64
                sinkUri:
                  description: 'SinkURI is the current active sink URI that has been configured for the Source.'
                  type: string
                sinkCACerts:
                  description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                  type: string
                sinkAudience:
                  description: sinkAudience is the OIDC audience of the sink.
                  type: string
      additionalPrinterColumns:
        - name: Sink
          type: string
          jsonPath: .status.sinkUri
        - name: Schedule
          type: string
          jsonPath: .spec.schedule
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type=='Ready')].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
    - name: v1beta2
      served: true
      storage: false
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          type: object
          description: 'PingSource describes an event source with a fixed payload produced on a specified cron schedule.'
          properties:
            spec:
              type: object
              description: 'PingSourceSpec defines the desired state of the PingSource (from the client).'
              properties:
                ceOverrides:
                  description: 'CloudEventOverrides defines overrides to control the output format and modifications of the event sent to the sink.'
                  type: object
                  properties:
                    extensions:
                      description: 'Extensions specify what attribute are added or overridden on the outbound event. Each `Extensions` key-value pair are set on the event as an attribute extension independently.'
                      type: object
                      additionalProperties:
                        type: string
                      x-kubernetes-preserve-unknown-fields: true
                contentType:
                  description: 'ContentType is the media type of `data` or `dataBase64`. Default is empty.'
                  type: string
                data:
                  description: 'Data is data used as the body of the event posted to the sink. Default is empty. Mutually exclusive with `dataBase64`.'
                  type: string
                dataBase64:
                  description: "DataBase64 is the base64-encoded string of the actual event's body posted to the sink. Default is empty. Mutually exclusive with `data`."
                  type: string
                schedule:
                  description: 'Schedule is the cron schedule. Defaults to `* * * * *`.'
                  type: string
                sink:
                  description: 'Sink is a reference to an object that will resolve to a uri to use as the sink.'
                  type: object
                  properties:
                    ref:
                      description: 'Ref points to an Addressable.'
                      type: object
                      properties:
                        apiVersion:
                          description: 'API version of the referent.'
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                    uri:
                      description: 'URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.'
                      type: string
                    CACerts:
                      description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                      type: string
                    audience:
                      description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
                timezone:
                  description: 'Timezone modifies the actual time relative to the specified timezone. Defaults to the system time zone. More general information about time zones: https://www.iana.org/time-zones List of valid timezone values: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones'
                  type: string
            status:
              type: object
              description: 'PingSourceStatus defines the observed state of PingSource (from the controller).'
              properties:
                annotations:
                  description: 'Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                auth:
                  description: Auth provides the relevant information for OIDC authentication.
                  type: object
                  properties:
                    serviceAccountName:
                      description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                      type: string
                    serviceAccountNames:
                      description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                      type: array
                      items:
                        type: string
                ceAttributes:
                  description: 'CloudEventAttributes are the specific attributes that the Source uses as part of its CloudEvents.'
                  type: array
                  items:
                    type: object
                    properties:
                      source:
                        description: 'Source is the CloudEvents source attribute.'
                        type: string
                      type:
                        description: 'Type refers to the CloudEvent type attribute.'
                        type: string
                conditions:
                  description: 'Conditions the latest available observations of a resource''s current state.'
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
                        type: string
                      message:
                        description: 'A human readable message indicating details about the transition.'
                        type: string
                      reason:
                        description: 'The reason for the condition''s last transition.'
                        type: string
                      severity:
                        description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
                        type: string
                      status:
                        description: 'Status of the condition, one of True, False, Unknown.'
                        type: string
                      type:
                        description: 'Type of condition.'
                        type: string
                observedGeneration:
                  description: 'ObservedGeneration is the "Generation" of the Service that was last processed by the controller.'
                  type: integer
                  format: int64
                sinkUri:
                  description: 'SinkURI is the current active sink URI that has been configured for the Source.'
                  type: string
                sinkCACerts:
                  description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                  type: string
                sinkAudience:
                  description: sinkAudience is the OIDC audience of the sink.
                  type: string
      additionalPrinterColumns:
        - name: Sink
          type: string
          jsonPath: .status.sinkUri
        - name: Schedule
          type: string
          jsonPath: .spec.schedule
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type=='Ready')].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
      deprecated: true
      deprecationWarning: "sources.knative.dev/v1beta2 PingSource is deprecated; see https://knative.dev/docs/eventing/sources/ping-source/ for instructions to migrate to sources.knative.dev/v1 PingSource"
  names:
    categories:
      - all
      - knative
      - sources
    kind: PingSource
    plural: pingsources
    singular: pingsource
  scope: Namespaced
  conversion:
    strategy: Webhook
    webhook:
      conversionReviewVersions: ["v1", "v1beta1"]
      clientConfig:
        service:
          name: eventing-webhook
          namespace: knative-eventing
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: sequences.flows.knative.dev
  labels:
    knative.dev/crd-install: "true"
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  group: flows.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          description: 'Sequence defines a sequence of Subscribers that will be wired in series through Channels and Subscriptions.'
          type: object
          properties:
            spec:
              description: Spec defines the desired state of the Sequence.
              type: object
              properties:
                channelTemplate:
                  description: ChannelTemplate specifies which Channel CRD to use. If left unspecified, it is set to the default Channel CRD for the namespace (or cluster, in case there are no defaults for the namespace).
                  type: object
                  properties:
                    apiVersion:
                      description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
                      type: string
                    kind:
                      description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    spec:
                      description: Spec defines the Spec to use for each channel created. Passed in verbatim to the Channel CRD as Spec section.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                reply:
                  description: Reply is a Reference to where the result of the last Subscriber gets sent to.
                  type: object
                  properties:
                    ref:
                      description: Ref points to an Addressable.
                      type: object
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                    uri:
                      description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                      type: string
                    CACerts:
                      type: string
                      description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the reply.
                    audience:
                      description: Audience is the OIDC audience of the reply. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
                steps:
                  description: Steps is the list of Destinations (processors / functions) that will be called in the order provided. Each step has its own delivery options
                  type: array
                  items:
                    type: object
                    properties:
                      delivery:
                        description: Delivery is the delivery specification for events to the subscriber This includes things like retries, DLQ, etc.
                        type: object
                        properties:
                          backoffDelay:
                            description: 'BackoffDelay is the delay before retrying. More information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html - https://en.wikipedia.org/wiki/ISO_8601  For linear policy, backoff delay is backoffDelay*<numberOfRetries>. For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.'
                            type: string
                          backoffPolicy:
                            description: BackoffPolicy is the retry backoff policy (linear, exponential).
                            type: string
                          deadLetterSink:
                            description: DeadLetterSink is the sink receiving event that could not be sent to a destination.
                            type: object
                            properties:
                              ref:
                                description: Ref points to an Addressable.
                                type: object
                                properties:
                                  apiVersion:
                                    description: API version of the referent.
                                    type: string
                                  kind:
                                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                    type: string
                                  name:
                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                                    type: string
                                  namespace:
                                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                                    type: string
                              uri:
                                description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                                type: string
                              CACerts:
                                description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                                type: string
                              audience:
                                description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                                type: string
                          retry:
                            description: Retry is the minimum number of retries the sender should attempt when sending an event before moving it to the dead letter sink.
                            type: integer
                            format: int32
                        x-kubernetes-preserve-unknown-fields: true
                      ref:
                        description: Ref points to an Addressable.
                        type: object
                        properties:
                          apiVersion:
                            description: API version of the referent.
                            type: string
                          kind:
                            description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                            type: string
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                            type: string
                          namespace:
                            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                            type: string
                      uri:
                        description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                        type: string
                      CACerts:
                        description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                        type: string
                      audience:
                        description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the Addressable itself. If the target is an Addressable and specifies an Audience, the target's Audience takes precedence.
                        type: string
            status:
              description: Status represents the current state of the Sequence. This data may be out of date.
              type: object
              properties:
                address:
                  description: Sequence is Addressable. It exposes the endpoint as an URI to get events delivered into the Sequence.
                  type: object
                  properties:
                    name:
                      type: string
                    url:
                      type: string
                    CACerts:
                      type: string
                    audience:
                      type: string
                addresses:
                  description: Sequence is Addressable. It exposes the endpoints as URIs to get events delivered into the Sequence.
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      url:
                        type: string
                      CACerts:
                        type: string
                      audience:
                        type: string
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                auth:
                  description: Auth provides the relevant information for OIDC authentication.
                  type: object
                  properties:
                    serviceAccountName:
                      description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                      type: string
                    serviceAccountNames:
                      description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                      type: array
                      items:
                        type: string
                channelStatuses:
                  description: ChannelStatuses is an array of corresponding Channel statuses. Matches the Spec.Steps array in the order.
                  type: array
                  items:
                    type: object
                    properties:
                      channel:
                        description: Channel is the reference to the underlying channel.
                        type: object
                        properties:
                          apiVersion:
                            description: API version of the referent.
                            type: string
                          fieldPath:
                            description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.'
                            type: string
                          kind:
                            description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                            type: string
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                            type: string
                          namespace:
                            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                            type: string
                          resourceVersion:
                            description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                            type: string
                          uid:
                            description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                            type: string
                      ready:
                        description: ReadyCondition indicates whether the Channel is ready or not.
                        type: object
                        required:
                          - type
                          - status
                        properties:
                          lastTransitionTime:
                            description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
                            type: string
                          message:
                            description: A human readable message indicating details about the transition.
                            type: string
                          reason:
                            description: The reason for the condition's last transition.
                            type: string
                          severity:
                            description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                            type: string
                          status:
                            description: Status of the condition, one of True, False, Unknown.
                            type: string
                          type:
                            description: Type of condition.
                            type: string
                policies:
                  description: List of applied EventPolicies
                  type: array
                  items:
                    type: object
                    properties:
                      apiVersion:
                        description: The API version of the applied EventPolicy. This indicates, which version of EventPolicy is supported by the resource.
                        type: string
                      name:
                        description: The name of the applied EventPolicy
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
                        type: string
                      message:
                        description: A human readable message indicating details about the transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      severity:
                        description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of condition.
                        type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
                subscriptionStatuses:
                  description: SubscriptionStatuses is an array of corresponding Subscription statuses. Matches the Spec.Steps array in the order.
                  type: array
                  items:
                    type: object
                    properties:
                      ready:
                        description: ReadyCondition indicates whether the Subscription is ready or not.
                        type: object
                        required:
                          - type
                          - status
                        properties:
                          lastTransitionTime:
                            description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
                            type: string
                          message:
                            description: A human readable message indicating details about the transition.
                            type: string
                          reason:
                            description: The reason for the condition's last transition.
                            type: string
                          severity:
                            description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                            type: string
                          status:
                            description: Status of the condition, one of True, False, Unknown.
                            type: string
                          type:
                            description: Type of condition.
                            type: string
                      subscription:
                        description: Subscription is the reference to the underlying Subscription.
                        type: object
                        properties:
                          apiVersion:
                            description: API version of the referent.
                            type: string
                          fieldPath:
                            description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.'
                            type: string
                          kind:
                            description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                            type: string
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                            type: string
                          namespace:
                            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                            type: string
                          resourceVersion:
                            description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                            type: string
                          uid:
                            description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                            type: string
      additionalPrinterColumns:
        - name: URL
          type: string
          jsonPath: .status.address.url
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
  names:
    kind: Sequence
    plural: sequences
    singular: sequence
    categories:
      - all
      - knative
      - flows
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  labels:
    eventing.knative.dev/source: "true"
    duck.knative.dev/source: "true"
    duck.knative.dev/binding: "true"
    knative.dev/crd-install: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
  name: sinkbindings.sources.knative.dev
spec:
  group: sources.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          description: 'SinkBinding describes a Binding that is also a Source. The `sink` (from the Source duck) is resolved to a URL and then projected into the `subject` by augmenting the runtime contract of the referenced containers to have a `K_SINK` environment variable holding the endpoint to which to send cloud events.'
          type: object
          properties:
            spec:
              type: object
              properties:
                ceOverrides:
                  description: CloudEventOverrides defines overrides to control the output format and modifications of the event sent to the sink.
                  type: object
                  properties:
                    extensions:
                      description: Extensions specify what attribute are added or overridden on the outbound event. Each `Extensions` key-value pair are set on the event as an attribute extension independently.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                sink:
                  description: Sink is a reference to an object that will resolve to a uri to use as the sink.
                  type: object
                  properties:
                    ref:
                      description: Ref points to an Addressable.
                      type: object
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                    uri:
                      description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                      type: string
                    CACerts:
                      description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                      type: string
                    audience:
                      description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
                subject:
                  description: Subject references the resource(s) whose "runtime contract" should be augmented by Binding implementations.
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    kind:
                      description: Kind of the referent.
                      type: string
                    name:
                      description: Name of the referent. Mutually exclusive with Selector.
                      type: string
                    namespace:
                      description: Namespace of the referent.
                      type: string
                    selector:
                      description: Selector of the referents. Mutually exclusive with Name.
                      type: object
                      properties:
                        matchExpressions:
                          description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                description: key is the label key that the selector applies to.
                                type: string
                              operator:
                                description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                                type: string
                              values:
                                description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                                type: array
                                items:
                                  type: string
                        matchLabels:
                          description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
            status:
              type: object
              properties:
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                auth:
                  description: Auth provides the relevant information for OIDC authentication.
                  type: object
                  properties:
                    serviceAccountName:
                      description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                      type: string
                    serviceAccountNames:
                      description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                      type: array
                      items:
                        type: string
                ceAttributes:
                  description: CloudEventAttributes are the specific attributes that the Source uses as part of its CloudEvents.
                  type: array
                  items:
                    type: object
                    properties:
                      source:
                        description: Source is the CloudEvents source attribute.
                        type: string
                      type:
                        description: Type refers to the CloudEvent type attribute.
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
                        type: string
                      message:
                        description: A human readable message indicating details about the transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      severity:
                        description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of condition.
                        type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
                sinkUri:
                  description: SinkURI is the current active sink URI that has been configured for the Source.
                  type: string
                sinkCACerts:
                  description: CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                  type: string
                sinkAudience:
                  description: Audience is the OIDC audience of the sink.
                  type: string
                oidcTokenSecretName:
                  description: Name of the secret with the OIDC token for the sink.
                  type: string
      additionalPrinterColumns:
        - name: Sink
          type: string
          jsonPath: ".status.sinkUri"
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type=='Ready')].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  names:
    categories:
      - all
      - knative
      - sources
      - bindings
    kind: SinkBinding
    plural: sinkbindings
    singular: sinkbinding
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: subscriptions.messaging.knative.dev
  labels:
    knative.dev/crd-install: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  group: messaging.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      schema:
        openAPIV3Schema:
          description: 'Subscription routes events received on a Channel to a DNS name and corresponds to the subscriptions.channels.knative.dev CRD.'
          type: object
          properties:
            spec:
              type: object
              properties:
                channel:
                  description: 'Reference to a channel that will be used to create the subscription. You can specify only the following fields of the KReference: kind, apiVersion, name and namespace. The resource pointed by this KReference must meet the contract to the ChannelableSpec duck type. If the resource does not meet this contract it will be reflected in the Subscription''s status.  This field is immutable. We have no good answer on what happens to the events that are currently in the channel being consumed from and what the semantics there should be. For now, you can always delete the Subscription and recreate it to point to a different channel, giving the user more control over what semantics should be used (drain the channel first, possibly have events dropped, etc.)'
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                      type: string
                  x-kubernetes-preserve-unknown-fields: true
                delivery:
                  description: Delivery configuration
                  type: object
                  properties:
                    backoffDelay:
                      description: 'BackoffDelay is the delay before retrying. More information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html - https://en.wikipedia.org/wiki/ISO_8601  For linear policy, backoff delay is backoffDelay*<numberOfRetries>. For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.'
                      type: string
                    backoffPolicy:
                      description: BackoffPolicy is the retry backoff policy (linear, exponential).
                      type: string
                    deadLetterSink:
                      description: DeadLetterSink is the sink receiving event that could not be sent to a destination.
                      type: object
                      properties:
                        ref:
                          description: Ref points to an Addressable.
                          type: object
                          properties:
                            apiVersion:
                              description: API version of the referent.
                              type: string
                            kind:
                              description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                              type: string
                            name:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                              type: string
                            namespace:
                              description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                              type: string
                        uri:
                          description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                          type: string
                        CACerts:
                          description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                          type: string
                        audience:
                          description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                          type: string
                    retry:
                      description: Retry is the minimum number of retries the sender should attempt when sending an event before moving it to the dead letter sink.
                      type: integer
                      format: int32
                  x-kubernetes-preserve-unknown-fields: true
                reply:
                  description: Reply specifies (optionally) how to handle events returned from the Subscriber target.
                  type: object
                  properties:
                    ref:
                      description: Ref points to an Addressable.
                      type: object
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                    uri:
                      description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                      type: string
                    CACerts:
                      description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                      type: string
                    audience:
                      description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
                subscriber:
                  description: Subscriber is reference to (optional) function for processing events. Events from the Channel will be delivered here and replies are sent to a Destination as specified by the Reply.
                  type: object
                  properties:
                    ref:
                      description: Ref points to an Addressable.
                      type: object
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                      x-kubernetes-preserve-unknown-fields: true
                    uri:
                      description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                      type: string
                    CACerts:
                      description: Certification Authority (CA) certificates in PEM format that the subscription trusts when sending events to the sink.
                      type: string
                    audience:
                      description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
            status:
              type: object
              properties:
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                auth:
                  description: Auth provides the relevant information for OIDC authentication.
                  type: object
                  properties:
                    serviceAccountName:
                      description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                      type: string
                    serviceAccountNames:
                      description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                      type: array
                      items:
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
                        type: string
                      message:
                        description: A human readable message indicating details about the transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      severity:
                        description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of condition.
                        type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
                physicalSubscription:
                  description: PhysicalSubscription is the fully resolved values that this Subscription represents.
                  type: object
                  properties:
                    deadLetterSinkUri:
                      description: ReplyURI is the fully resolved URI for the spec.delivery.deadLetterSink.
                      type: string
                    deadLetterSinkCACerts:
                      description: Certification Authority (CA) certificates in PEM format according to https://www.rfc-editor.org/rfc/rfc7468.
                      type: string
                    deadLetterSinkAudience:
                      description: OIDC audience of the dead letter sink.
                      type: string
                    replyUri:
                      description: ReplyURI is the fully resolved URI for the spec.reply.
                      type: string
                    replyCACerts:
                      description: Certification Authority (CA) certificates in PEM format according to https://www.rfc-editor.org/rfc/rfc7468.
                      type: string
                    replyAudience:
                      description: ReplyAudience is the OIDC audience for the replyUri.
                      type: string
                    subscriberUri:
                      description: SubscriberURI is the fully resolved URI for spec.subscriber.
                      type: string
                    subscriberCACerts:
                      description: Certification Authority (CA) certificates in PEM format according to https://www.rfc-editor.org/rfc/rfc7468.
                      type: string
                    subscriberAudience:
                      description: SubscriberAudience is the OIDC audience for the subscriberUri.
                      type: string
      additionalPrinterColumns:
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
  names:
    kind: Subscription
    plural: subscriptions
    singular: subscription
    categories:
      - all
      - knative
      - messaging
    shortNames:
      - sub
  scope: Namespaced
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: triggers.eventing.knative.dev
  labels:
    knative.dev/crd-install: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
spec:
  group: eventing.knative.dev
  versions:
    - name: v1
      served: true
      storage: true
      subresources:
        status: {}
      additionalPrinterColumns:
        - name: Broker
          type: string
          jsonPath: .spec.broker
        - name: Subscriber_URI
          type: string
          jsonPath: .status.subscriberUri
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
        - name: Ready
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
        - name: Reason
          type: string
          jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
      schema:
        openAPIV3Schema:
          description: 'Trigger represents a request to have events delivered to a subscriber from a Broker''s event pool.'
          type: object
          properties:
            spec:
              description: Spec defines the desired state of the Trigger.
              type: object
              x-kubernetes-preserve-unknown-fields: true
              properties:
                broker:
                  description: Broker is the broker that this trigger receives events from.
                  type: string
                brokerRef:
                  description: 'Reference to a broker that is enabled for cross-namespace referencing. You can specify only the following fields of the KReference: kind, apiVersion, name and namespace.'
                  type: object
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                      type: string
                delivery:
                  description: Delivery contains the delivery spec for this specific trigger.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                  properties:
                    backoffDelay:
                      description: 'BackoffDelay is the delay before retrying. More information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html - https://en.wikipedia.org/wiki/ISO_8601  For linear policy, backoff delay is backoffDelay*<numberOfRetries>. For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.'
                      type: string
                    backoffPolicy:
                      description: BackoffPolicy is the retry backoff policy (linear, exponential).
                      type: string
                    deadLetterSink:
                      description: DeadLetterSink is the sink receiving event that could not be sent to a destination.
                      type: object
                      properties:
                        ref:
                          description: Ref points to an Addressable.
                          type: object
                          properties:
                            apiVersion:
                              description: API version of the referent.
                              type: string
                            kind:
                              description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                              type: string
                            name:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                              type: string
                            namespace:
                              description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                              type: string
                        uri:
                          description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                          type: string
                        CACerts:
                          description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                          type: string
                        audience:
                          description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                          type: string
                    retry:
                      description: Retry is the minimum number of retries the sender should attempt when sending an event before moving it to the dead letter sink.
                      type: integer
                      format: int32
                    format:
                      description: Format is the format used to serialize the event into a http request when delivering the event. It can be json (for structured events), binary (for binary events), or unset.
                      type: string
                filter:
                  description: 'Filter is the filter to apply against all events from the Broker. Only events that pass this filter will be sent to the Subscriber. If not specified, will default to allowing all events.'
                  type: object
                  properties:
                    attributes:
                      description: 'Attributes filters events by exact match on event context attributes. Each key in the map is compared with the equivalent key in the event context. An event passes the filter if all values are equal to the specified values.  Nested context attributes are not supported as keys. Only string values are supported.'
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                filters:
                  description: 'Filters is an array of SubscriptionsAPIFilter that evaluate to true or false. If any filter expression in the array evaluates to false, the event must not be sent to the Subscriber. If all the filter expressions in the array evaluate to true, the event must be attempted to be delivered. Absence of a filter or empty array implies a value of true. In the event of users specifying both Filter and Filters, then the latter will override the former. This will allow users to try out the effect of the new Filters field without compromising the existing attribute-based Filter and try it out on existing Trigger objects.'
                  type: array
                  items:
                    type: object
                    properties:
                      all:
                        description: 'All evaluates to true if all the nested expressions evaluate to true. It must contain at least one filter expression.'
                        type: array
                        items:
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                      any:
                        description: 'Any evaluates to true if at least one of the nested expressions evaluates to true. It must contain at least one filter expression.'
                        type: array
                        items:
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                      cesql:
                        description: 'CESQL is a CloudEvents SQL expression that will be evaluated to true or false against each CloudEvent.'
                        type: string
                      exact:
                        description: 'Exact evaluates to true if the values of the matching CloudEvents attributes all exactly match with the associated value String specified (case-sensitive). The keys are the names of the CloudEvents attributes to be matched, and their values are the String values to use in the comparison. The attribute name and value specified in the filter express must not be empty strings.'
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      not:
                        description: 'Not evaluates to true if the nested expression evaluates to false.'
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      prefix:
                        description: 'Prefix evaluates to true if the values of the matching CloudEvents attributes all start with the associated value String specified (case sensitive). The keys are the names of the CloudEvents attributes to be matched, and their values are the String values to use in the comparison. The attribute name and value specified in the filter express must not be empty strings.'
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      suffix:
                        description: 'Suffix evaluates to true if the values of the matching CloudEvents attributes all end with the associated value String specified (case sensitive). The keys are the names of the CloudEvents attributes to be matched, and their values are the String values to use in the comparison. The attribute name and value specified in the filter express must not be empty strings.'
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                subscriber:
                  description: Subscriber is the addressable that receives events from the Broker that pass the Filter. It is required.
                  type: object
                  properties:
                    ref:
                      description: Ref points to an Addressable.
                      type: object
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
                          type: string
                    uri:
                      description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
                      type: string
                    CACerts:
                      description: Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.
                      type: string
                    audience:
                      description: Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.
                      type: string
            status:
              description: Status represents the current state of the Trigger. This data may be out of date.
              type: object
              properties:
                annotations:
                  description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                auth:
                  description: Auth provides the relevant information for OIDC authentication.
                  type: object
                  properties:
                    serviceAccountName:
                      description: ServiceAccountName is the name of the generated service account used for this components OIDC authentication.
                      type: string
                    serviceAccountNames:
                      description: ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.
                      type: array
                      items:
                        type: string
                conditions:
                  description: Conditions the latest available observations of a resource's current state.
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - status
                    properties:
                      lastTransitionTime:
                        description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
                        type: string
                      message:
                        description: 'A human readable message indicating details about the transition.'
                        type: string
                      reason:
                        description: 'The reason for the condition''s last transition.'
                        type: string
                      severity:
                        description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
                        type: string
                      status:
                        description: 'Status of the condition, one of True, False, Unknown.'
                        type: string
                      type:
                        description: 'Type of condition.'
                        type: string
                deadLetterSinkUri:
                  description: DeadLetterSinkURI is the resolved URI of the dead letter sink for this Trigger, in case there is none this will fallback to it's Broker status DeadLetterSinkURI.
                  type: string
                deadLetterSinkCACerts:
                  description: Certification Authority (CA) certificates in PEM format according to https://www.rfc-editor.org/rfc/rfc7468.
                  type: string
                deadLetterSinkAudience:
                  description: OIDC audience of the dead letter sink.
                  type: string
                observedGeneration:
                  description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
                  type: integer
                  format: int64
                subscriberUri:
                  description: SubscriberURI is the resolved URI of the receiver for this Trigger.
                  type: string
                subscriberCACerts:
                  description: Certification Authority (CA) certificates in PEM format according to https://www.rfc-editor.org/rfc/rfc7468.
                  type: string
                subscriberAudience:
                  description: OIDC audience of the subscriber.
                  type: string
  names:
    kind: Trigger
    plural: triggers
    singular: trigger
    categories:
      - all
      - knative
      - eventing
  scope: Namespaced
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: addressable-resolver
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
aggregationRule:
  clusterRoleSelectors:
    - matchLabels:
        duck.knative.dev/addressable: "true"
rules: []
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: service-addressable-resolver
  labels:
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - services
    verbs:
      - get
      - list
      - watch
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: serving-addressable-resolver
  labels:
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - serving.knative.dev
    resources:
      - routes
      - routes/status
      - services
      - services/status
    verbs:
      - get
      - list
      - watch
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: channel-addressable-resolver
  labels:
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - messaging.knative.dev
    resources:
      - channels
      - channels/status
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - messaging.knative.dev
    resources:
      - channels/finalizers
    verbs:
      - update
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: broker-addressable-resolver
  labels:
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - eventing.knative.dev
    resources:
      - brokers
      - brokers/status
    verbs:
      - get
      - list
      - watch
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: flows-addressable-resolver
  labels:
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - flows.knative.dev
    resources:
      - sequences
      - sequences/status
      - parallels
      - parallels/status
    verbs:
      - get
      - list
      - watch
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: jobsinks-addressable-resolver
  labels:
    duck.knative.dev/addressable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - sinks.knative.dev
    resources:
      - jobsinks
      - jobsinks/status
    verbs:
      - get
      - list
      - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: eventing-broker-filter
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - "configmaps"
    verbs:
      - "get"
      - "list"
      - "watch"
  - apiGroups:
      - "eventing.knative.dev"
    resources:
      - "triggers"
      - "triggers/status"
    verbs:
      - "get"
      - "list"
      - "watch"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: eventing-broker-ingress
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - "configmaps"
    verbs:
      - "get"
      - "list"
      - "watch"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: eventing-config-reader
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - "configmaps"
    verbs:
      - "get"
      - "list"
      - "watch"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: channelable-manipulator
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
aggregationRule:
  clusterRoleSelectors:
    - matchLabels:
        duck.knative.dev/channelable: "true"
rules: []
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: meta-channelable-manipulator
  labels:
    duck.knative.dev/channelable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - messaging.knative.dev
    resources:
      - channels
      - channels/status
    verbs:
      - create
      - get
      - list
      - watch
      - update
      - patch
      - delete
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: knative-eventing-namespaced-admin
  labels:
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups: ["eventing.knative.dev"]
    resources: ["*"]
    verbs: ["*"]
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: knative-messaging-namespaced-admin
  labels:
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups: ["messaging.knative.dev"]
    resources: ["*"]
    verbs: ["*"]
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: knative-flows-namespaced-admin
  labels:
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups: ["flows.knative.dev"]
    resources: ["*"]
    verbs: ["*"]
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: knative-sources-namespaced-admin
  labels:
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups: ["sources.knative.dev"]
    resources: ["*"]
    verbs: ["*"]
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: knative-bindings-namespaced-admin
  labels:
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups: ["bindings.knative.dev"]
    resources: ["*"]
    verbs: ["*"]
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: knative-sinks-namespaced-admin
  labels:
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups: ["sinks.knative.dev"]
    resources: ["*"]
    verbs: ["*"]
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: knative-eventing-namespaced-edit
  labels:
    rbac.authorization.k8s.io/aggregate-to-edit: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups: ["eventing.knative.dev", "messaging.knative.dev", "sources.knative.dev", "flows.knative.dev", "bindings.knative.dev", "sinks.knative.dev"]
    resources: ["*"]
    verbs: ["create", "update", "patch", "delete"]
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: knative-eventing-namespaced-view
  labels:
    rbac.authorization.k8s.io/aggregate-to-view: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups: ["eventing.knative.dev", "messaging.knative.dev", "sources.knative.dev", "flows.knative.dev", "bindings.knative.dev", "sinks.knative.dev"]
    resources: ["*"]
    verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: knative-eventing-controller
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - "namespaces"
      - "secrets"
      - "configmaps"
      - "services"
      - "endpoints"
      - "events"
      - "serviceaccounts"
      - "pods"
      - "serviceaccounts/token"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "apps"
    resources:
      - "deployments"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "batch"
    resources:
      - "jobs"
    verbs:
      - "get"
      - "list"
      - "watch"
  - apiGroups:
      - "apps"
    resources:
      - "deployments/finalizers"
    verbs:
      - "update"
  - apiGroups:
      - "rbac.authorization.k8s.io"
    resources:
      - "rolebindings"
      - "roles"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "eventing.knative.dev"
    resources:
      - "brokers"
      - "brokers/status"
      - "triggers"
      - "triggers/status"
      - "eventtypes"
      - "eventtypes/status"
      - "eventpolicies"
      - "eventpolicies/status"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "sinks.knative.dev"
    resources:
      - "jobsinks"
      - "jobsinks/status"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "eventing.knative.dev"
    resources:
      - "brokers/finalizers"
      - "triggers/finalizers"
    verbs:
      - "update"
  - apiGroups:
      - "sinks.knative.dev"
    resources:
      - "jobsinks/finalizers"
    verbs:
      - "update"
  - apiGroups:
      - "messaging.knative.dev"
    resources:
      - "sequences"
      - "sequences/status"
      - "channels"
      - "channels/status"
      - "parallels"
      - "parallels/status"
      - "subscriptions"
      - "subscriptions/status"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "flows.knative.dev"
    resources:
      - "sequences"
      - "sequences/status"
      - "parallels"
      - "parallels/status"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "messaging.knative.dev"
    resources:
      - "sequences/finalizers"
      - "parallels/finalizers"
      - "channels/finalizers"
    verbs:
      - "update"
  - apiGroups:
      - "flows.knative.dev"
    resources:
      - "sequences/finalizers"
      - "parallels/finalizers"
    verbs:
      - "update"
  - apiGroups:
      - "apiextensions.k8s.io"
    resources:
      - "customresourcedefinitions"
    verbs:
      - "get"
      - "list"
      - "watch"
  - apiGroups:
      - "coordination.k8s.io"
    resources:
      - "leases"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: crossnamespace-subscriber
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
aggregationRule:
  clusterRoleSelectors:
    - matchLabels:
        duck.knative.dev/crossnamespace-subscribable: "true"
rules: []
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: channel-subscriber
  labels:
    duck.knative.dev/crossnamespace-subscribable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - messaging.knative.dev
    resources:
      - channels
    verbs:
      - knsubscribe
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: broker-subscriber
  labels:
    duck.knative.dev/crossnamespace-subscribable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - eventing.knative.dev
    resources:
      - brokers
    verbs:
      - knsubscribe
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: knative-eventing-job-sink
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - "configmaps"
      - "secrets"
    verbs:
      - "get"
      - "list"
      - "watch"
  - apiGroups:
      - ""
    resources:
      - "secrets"
    verbs:
      - "create"
      - "update"
      - "delete"
  - apiGroups:
      - "batch"
    resources:
      - "jobs"
    verbs:
      - "create"
      - "update"
      - "delete"
      - "get"
      - "list"
      - "watch"
  - apiGroups:
      - sinks.knative.dev
    resources:
      - jobsinks
      - jobsinks/status
    verbs:
      - get
      - list
      - watch
      - patch
  - apiGroups:
      - sinks.knative.dev
    resources:
      - jobsinks/finalizers
    verbs:
      - "patch"
  - apiGroups:
      - ""
    resources:
      - events
    verbs:
      - "create"
      - "patch"
  - apiGroups:
      - coordination.k8s.io
    resources:
      - leases
    verbs:
      - get
      - list
      - watch
      - create
      - update
      - patch
  - apiGroups:
      - eventing.knative.dev
    resources:
      - eventpolicies
    verbs:
      - get
      - list
      - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: knative-eventing-pingsource-mt-adapter
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - "configmaps"
    verbs:
      - "get"
      - "list"
      - "watch"
  - apiGroups:
      - ""
    resources:
      - "serviceaccounts/token"
    verbs:
      - "create"
  - apiGroups:
      - sources.knative.dev
    resources:
      - pingsources
      - pingsources/status
    verbs:
      - get
      - list
      - watch
      - patch
  - apiGroups:
      - sources.knative.dev
    resources:
      - pingsources/finalizers
    verbs:
      - "patch"
  - apiGroups:
      - ""
    resources:
      - events
    verbs:
      - "create"
      - "patch"
  - apiGroups:
      - coordination.k8s.io
    resources:
      - leases
    verbs:
      - get
      - list
      - watch
      - create
      - update
      - patch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: podspecable-binding
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
aggregationRule:
  clusterRoleSelectors:
    - matchLabels:
        duck.knative.dev/podspecable: "true"
rules: []
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: builtin-podspecable-binding
  labels:
    duck.knative.dev/podspecable: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - "apps"
    resources:
      - "deployments"
      - "daemonsets"
      - "statefulsets"
      - "replicasets"
    verbs:
      - "list"
      - "watch"
      - "patch"
  - apiGroups:
      - "batch"
    resources:
      - "jobs"
    verbs:
      - "list"
      - "watch"
      - "patch"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: source-observer
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
aggregationRule:
  clusterRoleSelectors:
    - matchLabels:
        duck.knative.dev/source: "true"
rules: []
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: eventing-sources-source-observer
  labels:
    duck.knative.dev/source: "true"
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - sources.knative.dev
    resources:
      - apiserversources
      - pingsources
      - sinkbindings
      - containersources
    verbs:
      - get
      - list
      - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: knative-eventing-sources-controller
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - "secrets"
      - "configmaps"
      - "services"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "apps"
    resources:
      - "deployments"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "sources.knative.dev"
    resources:
      - "sinkbindings"
      - "sinkbindings/status"
      - "sinkbindings/finalizers"
      - "apiserversources"
      - "apiserversources/status"
      - "apiserversources/finalizers"
      - "pingsources"
      - "pingsources/status"
      - "pingsources/finalizers"
      - "containersources"
      - "containersources/status"
      - "containersources/finalizers"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - serving.knative.dev
    resources:
      - services
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - eventing.knative.dev
    resources:
      - eventtypes
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - ""
    resources:
      - events
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - authorization.k8s.io
    resources:
      - subjectaccessreviews
    verbs:
      - create
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: knative-eventing-webhook
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - "configmaps"
    verbs:
      - "create"
      - "update"
      - "delete"
      - "get"
      - "list"
      - "watch"
  - apiGroups:
      - ""
    resources:
      - "namespaces"
    verbs:
      - "get"
      - "create"
      - "update"
      - "list"
      - "watch"
      - "patch"
  - apiGroups:
      - ""
    resources:
      - "namespaces/finalizers"
    verbs:
      - "update"
  - apiGroups:
      - "apps"
    resources:
      - "deployments"
    verbs:
      - "get"
  - apiGroups:
      - "apps"
    resources:
      - "deployments/finalizers"
    verbs:
      - update
  - apiGroups:
      - "admissionregistration.k8s.io"
    resources:
      - "mutatingwebhookconfigurations"
      - "validatingwebhookconfigurations"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "sources.knative.dev"
    resources:
      - "sinkbindings"
      - "sinkbindings/status"
      - "sinkbindings/finalizers"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "coordination.k8s.io"
    resources:
      - "leases"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - ""
      - "events.k8s.io"
    resources:
      - "events"
    verbs:
      - "get"
      - "list"
      - "create"
      - "patch"
  - apiGroups:
      - eventing.knative.dev
    resources:
      - eventpolicies
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - ""
    resources:
      - "serviceaccounts"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - ""
    resources:
      - "serviceaccounts/token"
    verbs:
      - "create"
  - apiGroups:
      - ""
    resources:
      - "secrets"
    verbs:
      - "get"
      - "list"
      - "create"
      - "update"
      - "delete"
      - "patch"
      - "watch"
  - apiGroups:
      - "authorization.k8s.io"
    resources:
      - "subjectaccessreviews"
    verbs:
      - "create"
  - apiGroups: ["apiextensions.k8s.io"]
    resources: ["customresourcedefinitions"]
    verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
  - apiGroups: ["batch"]
    resources: ["jobs"]
    verbs: ["create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: knative-eventing
  name: knative-eventing-webhook
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
rules:
  - apiGroups:
      - ""
    resources:
      - "secrets"
    verbs:
      - "get"
      - "create"
      - "update"
      - "list"
      - "watch"
      - "patch"
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: config.webhook.eventing.knative.dev
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
webhooks:
  - admissionReviewVersions: ["v1", "v1beta1"]
    clientConfig:
      service:
        name: eventing-webhook
        namespace: knative-eventing
    sideEffects: None
    failurePolicy: Ignore
    name: config.webhook.eventing.knative.dev
    namespaceSelector:
      matchExpressions:
        - key: kubernetes.io/metadata.name
          operator: In
          values: ["knative-eventing"]
    timeoutSeconds: 10
---
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
  name: webhook.eventing.knative.dev
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
webhooks:
  - admissionReviewVersions: ["v1", "v1beta1"]
    clientConfig:
      service:
        name: eventing-webhook
        namespace: knative-eventing
    sideEffects: None
    failurePolicy: Fail
    name: webhook.eventing.knative.dev
    timeoutSeconds: 10
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: validation.webhook.eventing.knative.dev
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
webhooks:
  - admissionReviewVersions: ["v1", "v1beta1"]
    clientConfig:
      service:
        name: eventing-webhook
        namespace: knative-eventing
    sideEffects: None
    failurePolicy: Fail
    name: validation.webhook.eventing.knative.dev
    timeoutSeconds: 10
---
apiVersion: v1
kind: Secret
metadata:
  name: eventing-webhook-certs
  namespace: knative-eventing
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
---
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
  name: sinkbindings.webhook.sources.knative.dev
  labels:
    app.kubernetes.io/version: "1.16.4"
    app.kubernetes.io/name: knative-eventing
webhooks:
  - admissionReviewVersions: ["v1", "v1beta1"]
    clientConfig:
      service:
        name: eventing-webhook
        namespace: knative-eventing
    failurePolicy: Fail
    sideEffects: None
    name: sinkbindings.webhook.sources.knative.dev
    timeoutSeconds: 10
---

