diff --git a/cmd/operator/kodata/knative-eventing/0.17.0/1-eventing-pre-install-jobs.yaml b/cmd/operator/kodata/knative-eventing/0.17.0/1-eventing-pre-install-jobs.yaml deleted file mode 100644 index a490742297..0000000000 --- a/cmd/operator/kodata/knative-eventing/0.17.0/1-eventing-pre-install-jobs.yaml +++ /dev/null @@ -1,289 +0,0 @@ -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: brokers.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - duck.knative.dev/addressable: "true" -spec: - group: eventing.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - additionalPrinterColumns: - - name: Ready - type: string - jsonPath: ".status.conditions[?(@.type==\"Ready\")].status" - - name: Reason - type: string - jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason" - - name: URL - type: string - jsonPath: .status.address.url - - name: Age - type: date - jsonPath: .metadata.creationTimestamp - - !!merge <<: *version - name: v1alpha1 - served: true - storage: false - names: - kind: Broker - plural: brokers - singular: broker - categories: - - all - - knative - - eventing - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: knative-eventing-pre-install-job-role - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- # Storage version upgrader needs to be able to patch CRDs. - apiGroups: - - "apiextensions.k8s.io" - resources: - - "customresourcedefinitions" - - "customresourcedefinitions/status" - verbs: - - "get" - - "list" - - "update" - - "patch" - - "watch" -- # Our own resources we care about. - apiGroups: - - "eventing.knative.dev" - - "sources.knative.dev" - resources: - - "brokers" - - "pingsources" - verbs: - - "get" - - "list" - - "create" - - "update" - - "delete" - - "patch" - - "watch" - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - labels: - eventing.knative.dev/release: "v0.17.0" - eventing.knative.dev/source: "true" - duck.knative.dev/source: "true" - knative.dev/crd-install: "true" - annotations: - # TODO add schemas and descriptions - registry.knative.dev/eventTypes: | - [ - { "type": "dev.knative.sources.ping" } - ] - name: pingsources.sources.knative.dev -spec: - group: sources.knative.dev - versions: - - &version - name: v1alpha2 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - additionalPrinterColumns: - - name: Ready - type: string - jsonPath: ".status.conditions[?(@.type=='Ready')].status" - - name: Reason - type: string - jsonPath: ".status.conditions[?(@.type=='Ready')].reason" - - name: Sink - type: string - jsonPath: .status.sinkUri - - name: Age - type: date - jsonPath: .metadata.creationTimestamp - - !!merge <<: *version - name: v1alpha1 - served: false - storage: false - names: - categories: - - all - - knative - - eventing - - sources - kind: PingSource - plural: pingsources - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: knative-eventing-pre-install-job - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: knative-eventing-pre-install-job-role-binding - labels: - eventing.knative.dev/release: "v0.17.0" -subjects: -- kind: ServiceAccount - name: knative-eventing-pre-install-job - namespace: knative-eventing -roleRef: - kind: ClusterRole - name: knative-eventing-pre-install-job-role - apiGroup: rbac.authorization.k8s.io - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: batch/v1 -kind: Job -metadata: - name: storage-version-migration-eventing - namespace: knative-eventing - labels: - app: "storage-version-migration-eventing" - eventing.knative.dev/release: "v0.17.0" -spec: - ttlSecondsAfterFinished: 600 - backoffLimit: 10 - template: - metadata: - labels: - app: "storage-version-migration-eventing" - annotations: - sidecar.istio.io/inject: "false" - spec: - serviceAccountName: knative-eventing-pre-install-job - restartPolicy: OnFailure - containers: - - name: migrate - # This is the Go import path for the binary that is containerized - # and substituted here. - image: gcr.io/knative-releases/knative.dev/eventing/vendor/knative.dev/pkg/apiextensions/storageversion/cmd/migrate@sha256:d3b40611a0a56970b834b2e9ca86503337973bc7acf0a92114afd74630b8ebe3 - args: - - "brokers.eventing.knative.dev" - - "pingsources.sources.knative.dev" - ---- diff --git a/cmd/operator/kodata/knative-eventing/0.17.0/2-eventing-crds.yaml b/cmd/operator/kodata/knative-eventing/0.17.0/2-eventing-crds.yaml deleted file mode 100644 index 6012061aaa..0000000000 --- a/cmd/operator/kodata/knative-eventing/0.17.0/2-eventing-crds.yaml +++ /dev/null @@ -1,2303 +0,0 @@ -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - labels: - eventing.knative.dev/release: "v0.17.0" - eventing.knative.dev/source: "true" - duck.knative.dev/source: "true" - knative.dev/crd-install: "true" - annotations: - # TODO add schemas and descriptions - registry.knative.dev/eventTypes: | - [ - { "type": "dev.knative.apiserver.resource.add" }, - { "type": "dev.knative.apiserver.resource.delete" }, - { "type": "dev.knative.apiserver.resource.update" }, - { "type": "dev.knative.apiserver.ref.add" }, - { "type": "dev.knative.apiserver.ref.delete" }, - { "type": "dev.knative.apiserver.ref.update" } - ] - name: apiserversources.sources.knative.dev -spec: - group: sources.knative.dev - versions: - - &version - name: v1alpha1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - description: 'ApiServerSource is an event source that brings Kubernetes API - server events into Knative.' - properties: - spec: - type: object - description: 'ApiServerSourceSpec defines the desired state of ApiServerSource - (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 - mode: - description: 'Mode is the mode the receive adapter controller runs - under: Ref or Resource. `Ref` sends only the reference to the resource. - `Resource` send the full resource.' - 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: 'Resources is the list of resources to watch' - type: array - items: - type: object - properties: - apiVersion: - description: 'API version of the resource to watch.' - type: string - controller: - description: 'If true, send an event referencing the object - controlling the resource Deprecated: Per-resource controller - flag will no longer be supported in v1alpha2, please use Spec.Owner - as a GKV.' - type: boolean - controllerSelector: - description: 'ControllerSelector restricts this source to objects - with a controlling owner reference of the specified kind. - Only apiVersion and kind are used. Both are optional. Deprecated: - Per-resource owner refs will no longer be supported in v1alpha2, - please use Spec.Owner as a GKV.' - type: object - properties: - apiVersion: - description: 'API version of the referent.' - type: string - blockOwnerDeletion: - description: 'If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of - the owner, otherwise 422 (Unprocessable Entity) will be - returned.' - type: boolean - controller: - description: 'If true, this reference points to the managing - controller.' - type: boolean - 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: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - 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 - labelSelector: - description: 'LabelSelector restricts this source to objects - with the selected labels 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.' - type: string - sink: - description: 'Sink is a reference to an object that will resolve to - a domain name to use as the sink.' - type: object - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - namespace: - type: string - ref: - description: 'Ref points to an Addressable.' - 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 - 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 - status: - type: object - description: 'ApiServerSourceStatus defines the observed state of ApiServerSource - (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 - 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 - 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" - - !!merge <<: *version - name: v1alpha2 - served: true - storage: false - schema: - openAPIV3Schema: &openAPIV3Schema - type: object - description: 'ApiServerSource is an event source that brings Kubernetes API - server events into Knative.' - properties: - spec: - type: object - description: 'ApiServerSourceSpec defines the desired state of ApiServerSource - (from the client).' - 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 - additionalProperties: - type: string - 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 - status: - type: object - description: 'ApiServerSourceStatus defines the observed state of ApiServerSource - (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 - 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 - - !!merge <<: *version - name: v1beta1 - served: true - storage: false - # the schema of v1beta1 is exactly the same as v1alpha2 schema - schema: - openAPIV3Schema: - !!merge <<: *openAPIV3Schema - names: - categories: - - all - - knative - - sources - kind: ApiServerSource - plural: apiserversources - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: brokers.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - duck.knative.dev/addressable: "true" -spec: - group: eventing.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: &openAPIV3Schema - type: object - 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.' - 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 is the delivery specification for Events within - the Broker mesh. 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 the time interval between retries. For exponential - policy , backoff delay is backoffDelay*2^.' - 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 - 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: - url: - 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 - 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" - - !!merge <<: *version - name: v1 - served: true - storage: false - # the schema of v1 is exactly the same as v1beta1 schema - schema: - openAPIV3Schema: - !!merge <<: *openAPIV3Schema - names: - kind: Broker - plural: brokers - singular: broker - categories: - - all - - knative - - eventing - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: channels.messaging.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - messaging.knative.dev/subscribable: "true" - duck.knative.dev/addressable: "true" -spec: - group: messaging.knative.dev - versions: - - &version - name: v1beta1 - 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: - type: object - properties: - spec: - type: object - x-kubernetes-preserve-unknown-fields: true - status: - type: object - x-kubernetes-preserve-unknown-fields: true - - !!merge <<: *version - name: v1 - served: true - storage: false - names: - kind: Channel - plural: channels - singular: channel - categories: - - all - - knative - - messaging - - channel - shortNames: - - ch - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - labels: - eventing.knative.dev/release: "v0.17.0" - eventing.knative.dev/source: "true" - duck.knative.dev/source: "true" - knative.dev/crd-install: "true" - name: containersources.sources.knative.dev -spec: - group: sources.knative.dev - versions: - - &version - name: v1alpha2 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - 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" - - !!merge <<: *version - name: v1beta1 - served: true - storage: false - names: - categories: - - all - - knative - - sources - kind: ContainerSource - plural: containersources - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: eventtypes.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" -spec: - group: eventing.knative.dev - versions: - - &version - name: v1alpha1 - served: false - storage: false - subresources: - status: {} - schema: - openAPIV3Schema: &openAPIV3Schema - type: object - description: 'EventType represents a type of event that can be consumed from - a Broker.' - properties: - spec: - description: 'Spec defines the desired state of the EventType.' - type: object - properties: - broker: - 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: Broker - type: string - jsonPath: ".spec.broker" - - name: Description - type: string - jsonPath: ".spec.description" - - # TODO remove Status https://github.com/knative/eventing/issues/2750 - name: Ready - type: string - jsonPath: ".status.conditions[?(@.type==\"Ready\")].status" - - name: Reason - type: string - jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason" - - !!merge <<: *version - name: v1beta1 - served: true - storage: true - # the schema of v1beta1 is exactly the same as v1 schema - schema: - openAPIV3Schema: - !!merge <<: *openAPIV3Schema - 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 - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: parallels.flows.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - duck.knative.dev/addressable: "true" -spec: - group: flows.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - 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" - - !!merge <<: *version - name: v1 - served: true - storage: false - names: - kind: Parallel - plural: parallels - singular: parallel - categories: - - all - - knative - - flows - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - labels: - eventing.knative.dev/release: "v0.17.0" - eventing.knative.dev/source: "true" - duck.knative.dev/source: "true" - knative.dev/crd-install: "true" - annotations: - # TODO add schemas and descriptions - registry.knative.dev/eventTypes: | - [ - { "type": "dev.knative.sources.ping" } - ] - name: pingsources.sources.knative.dev -spec: - group: sources.knative.dev - versions: - - &version - name: v1alpha2 - 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 - jsonData: - description: 'JsonData is json encoded data used as the body of the - event posted to the sink. Default is empty. If set, datacontenttype - will also be set to "application/json".' - type: string - schedule: - description: 'Schedule is the cronjob 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 - 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 - 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 - 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" - - !!merge <<: *version - name: v1beta1 - served: true - storage: false - 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 - jsonData: - description: 'JsonData is json encoded data used as the body of the - event posted to the sink. Default is empty. If set, datacontenttype - will also be set to "application/json".' - type: string - schedule: - description: 'Schedule is the cronjob 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 - 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 - 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 - names: - categories: - - all - - knative - - sources - kind: PingSource - plural: pingsources - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: sequences.flows.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - duck.knative.dev/addressable: "true" -spec: - group: flows.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - 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" - - !!merge <<: *version - name: v1 - served: true - storage: false - names: - kind: Sequence - plural: sequences - singular: sequence - categories: - - all - - knative - - flows - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - labels: - eventing.knative.dev/release: "v0.17.0" - eventing.knative.dev/source: "true" - duck.knative.dev/source: "true" - duck.knative.dev/binding: "true" - knative.dev/crd-install: "true" - name: sinkbindings.sources.knative.dev -spec: - group: sources.knative.dev - versions: - - &version - name: v1alpha1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - 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" - - !!merge <<: *version - name: v1alpha2 - served: true - storage: false - - !!merge <<: *version - name: v1beta1 - served: true - storage: false - schema: - openAPIV3Schema: - type: object - 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.' - properties: - spec: - type: object - description: 'SinkBindingSpec holds the desired state of the SinkBinding - (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 - 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 - 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 - description: 'SinkBindingStatus communicates the observed state of the - SinkBinding (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 - 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 - names: - categories: - - all - - knative - - sources - - bindings - kind: SinkBinding - plural: sinkbindings - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.messaging.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" -spec: - group: messaging.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: &openAPIV3Schema - type: object - description: 'Subscription routes events received on a Channel to a DNS name - and corresponds to the subscriptions.channels.knative.dev CRD.' - properties: - spec: - type: object - description: 'Specifies the Channel for incoming events, a Subscriber - target for processing those events and where to put the result of the - processing. Only From (where the events are coming from) is always required. - You can optionally only Process the events (results in no output events) - by leaving out the Result. You can also perform an identity transformation - on the incoming events by leaving out the Subscriber and only specifying - Result. - - The following are all valid specifications: channel --[subscriber]--> - reply Sink, no outgoing events: channel -- subscriber no-op function - (identity transformation): channel --> reply' - properties: - channel: - description: 'Reference to a channel that will be used to create the - subscription You can specify only the following fields of the ObjectReference: - - Kind - APIVersion - Name The resource pointed by this ObjectReference - 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 - 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 - 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 the time interval between retries. For exponential - policy , backoff delay is backoffDelay*2^.' - 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 - 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 - 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 - 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 - status: - type: object - description: Status (computed) for a subscription - 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 - 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 - replyUri: - description: 'ReplyURI is the fully resolved URI for the spec.reply.' - type: string - subscriberUri: - description: 'SubscriberURI is the fully resolved URI for spec.subscriber.' - 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" - - !!merge <<: *version - name: v1 - served: true - storage: false - # the schema of v1 is exactly the same as v1beta1 schema - schema: - openAPIV3Schema: - !!merge <<: *openAPIV3Schema - names: - kind: Subscription - plural: subscriptions - singular: subscription - categories: - - all - - knative - - messaging - shortNames: - - sub - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: triggers.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" -spec: - group: eventing.knative.dev - versions: - - &version - name: v1beta1 - 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: - type: object - properties: - spec: - required: - - subscriber - type: object - properties: - broker: - type: string - description: 'Broker that this trigger receives events from. If not - specified, will default to ''default''.' - filter: - type: object - properties: - attributes: - type: object - description: 'Map of CloudEvents attributes used for filtering - events. If not specified, will default to all events' - additionalProperties: - type: string - subscriber: - type: object - description: 'the destination that should receive events.' - properties: - ref: - type: object - description: 'a reference to a Kubernetes object from which to - retrieve the target URI.' - required: - - apiVersion - - kind - - name - properties: - apiVersion: - type: string - minLength: 1 - kind: - type: string - minLength: 1 - namespace: - type: string - minLength: 1 - name: - type: string - minLength: 1 - uri: - type: string - description: 'the target URI or, if ref is provided, a relative - URI reference that will be combined with ref to produce a target - URI.' - status: - type: object - x-kubernetes-preserve-unknown-fields: true - - !!merge <<: *version - name: v1 - served: true - storage: false - schema: - openAPIV3Schema: - type: object - description: 'Trigger represents a request to have events delivered to a subscriber - from a Broker''s event pool.' - properties: - spec: - description: 'Spec defines the desired state of the Trigger.' - required: - - subscriber - - broker - type: object - properties: - broker: - type: string - description: 'Broker that this trigger receives events from.' - filter: - type: object - 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.' - properties: - attributes: - type: object - description: 'Map of CloudEvents attributes used for filtering - events. If not specified, will default to all events' - additionalProperties: - type: string - subscriber: - type: object - description: 'the destination that should receive events.' - properties: - ref: - type: object - description: 'a reference to a Kubernetes object from which to - retrieve the target URI.' - required: - - apiVersion - - kind - - name - properties: - apiVersion: - type: string - minLength: 1 - kind: - type: string - minLength: 1 - namespace: - type: string - minLength: 1 - name: - type: string - minLength: 1 - uri: - type: string - description: 'the target URI or, if ref is provided, a relative - URI reference that will be combined with ref to produce a target - URI.' - status: - description: 'Status represents the current state of the Trigger. This - data may be out of date.' - type: object - x-kubernetes-preserve-unknown-fields: true - names: - kind: Trigger - plural: triggers - singular: trigger - categories: - - all - - knative - - eventing - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- diff --git a/cmd/operator/kodata/knative-eventing/0.17.0/3-eventing-core.yaml b/cmd/operator/kodata/knative-eventing/0.17.0/3-eventing-core.yaml deleted file mode 100644 index 0bc1fae365..0000000000 --- a/cmd/operator/kodata/knative-eventing/0.17.0/3-eventing-core.yaml +++ /dev/null @@ -1,4108 +0,0 @@ -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: v1 -kind: Namespace -metadata: - name: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: eventing-controller - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: eventing-controller - labels: - eventing.knative.dev/release: "v0.17.0" -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: - eventing.knative.dev/release: "v0.17.0" -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: - eventing.knative.dev/release: "v0.17.0" -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: - eventing.knative.dev/release: "v0.17.0" -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: - eventing.knative.dev/release: "v0.17.0" -subjects: -- kind: ServiceAccount - name: eventing-controller - namespace: knative-eventing -roleRef: - kind: ClusterRole - name: channelable-manipulator - apiGroup: rbac.authorization.k8s.io - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: pingsource-mt-adapter - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: knative-eventing-pingsource-mt-adapter - labels: - eventing.knative.dev/release: "v0.17.0" -subjects: -- kind: ServiceAccount - name: pingsource-mt-adapter - namespace: knative-eventing -roleRef: - kind: ClusterRole - name: knative-eventing-pingsource-mt-adapter - apiGroup: rbac.authorization.k8s.io - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: eventing-webhook - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: eventing-webhook - labels: - eventing.knative.dev/release: "v0.17.0" -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: ClusterRoleBinding -metadata: - name: eventing-webhook-resolver - labels: - eventing.knative.dev/release: "v0.17.0" -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: - eventing.knative.dev/release: "v0.17.0" -subjects: -- kind: ServiceAccount - name: eventing-webhook - namespace: knative-eventing -roleRef: - kind: ClusterRole - name: podspecable-binding - apiGroup: rbac.authorization.k8s.io - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ConfigMap -metadata: - name: config-br-default-channel - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -data: - channelTemplateSpec: | - apiVersion: messaging.knative.dev/v1beta1 - kind: InMemoryChannel - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ConfigMap -metadata: - name: config-br-defaults - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -data: - # Configuration for defaulting channels that do not specify CRD implementations. - default-br-config: | - clusterDefault: - brokerClass: MTChannelBasedBroker - apiVersion: v1 - kind: ConfigMap - name: config-br-default-channel - namespace: knative-eventing - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ConfigMap -metadata: - name: default-ch-webhook - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -data: - # Configuration for defaulting channels that do not specify CRD implementations. - default-ch-config: | - clusterDefault: - apiVersion: messaging.knative.dev/v1beta1 - kind: InMemoryChannel - namespaceDefaults: - some-namespace: - apiVersion: messaging.knative.dev/v1beta1 - kind: InMemoryChannel - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ConfigMap -metadata: - name: config-leader-election - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - annotations: - knative.dev/example-checksum: "6cf53e10" -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. - - # leaseDuration is how long non-leaders will wait to try to acquire the - # lock; 15 seconds is the value used by core kubernetes controllers. - leaseDuration: "15s" - - # renewDeadline is how long a leader will try to renew the lease before - # giving up; 10 seconds is the value used by core kubernetes controllers. - renewDeadline: "10s" - - # retryPeriod is how long the leader election client waits between tries of - # actions; 2 seconds is the value used by core kuberntes controllers. - retryPeriod: "2s" - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ConfigMap -metadata: - name: config-logging - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/config-propagation: original - knative.dev/config-category: eventing -data: - # Common configuration for all Knative codebase - 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": "" - } - } - # Log level overrides - # For all components changes are be picked up immediately. - loglevel.controller: "info" - loglevel.webhook: "info" - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ConfigMap -metadata: - name: config-observability - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/config-propagation: original - knative.dev/config-category: 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: "" - - # 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" - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ConfigMap -metadata: - name: config-tracing - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/config-propagation: original - knative.dev/config-category: eventing - annotations: - knative.dev/example-checksum: "4002b4c2" -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 "stackdriver", 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" - - # The GCP project into which stackdriver metrics will be written - # when backend is "stackdriver". If unspecified, the project-id - # is read from GCP metadata when running on GCP. - stackdriver-project-id: "my-project" - - # 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" - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: eventing-controller - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/high-availability: "true" -spec: - replicas: 1 - selector: - matchLabels: - app: eventing-controller - template: - metadata: - labels: - app: eventing-controller - eventing.knative.dev/release: "v0.17.0" - spec: - # To avoid node becoming SPOF, spread our replicas to different nodes. - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - podAffinityTerm: - labelSelector: - matchLabels: - app: eventing-controller - topologyKey: kubernetes.io/hostname - weight: 100 - serviceAccountName: eventing-controller - containers: - - name: eventing-controller - terminationMessagePolicy: FallbackToLogsOnError - image: gcr.io/knative-releases/knative.dev/eventing/cmd/controller@sha256:3df49b95f5dc475040898131e540e366d8d1d3c7053cfcbe41a51f92d1a858d0 - 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 - - # PingSource - name: PING_IMAGE - value: gcr.io/knative-releases/knative.dev/eventing/cmd/ping@sha256:752c605f4ba0d5e3e011c994dbe3c0e1f5ba3d13950dc302ab861bf933c142e3 - - name: MT_PING_IMAGE - value: gcr.io/knative-releases/knative.dev/eventing/cmd/mtping@sha256:4c2c2f951f0253cf215cfc69956a12d7e7cecccc56c97f0dbebb735d96ca6360 - - # APIServerSource - name: APISERVER_RA_IMAGE - value: gcr.io/knative-releases/knative.dev/eventing/cmd/apiserver_receive_adapter@sha256:ceefab626aeb74523bbe1f5fa11e01377b1937af1d3575ed026e0543fc787212 - securityContext: - allowPrivilegeEscalation: false - ports: - - name: metrics - containerPort: 9090 - - name: profiling - containerPort: 8008 - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: eventing-webhook - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -spec: - replicas: 1 - selector: - matchLabels: &labels - app: eventing-webhook - role: eventing-webhook - template: - metadata: - labels: *labels - spec: - # To avoid node becoming SPOF, spread our replicas to different nodes. - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - podAffinityTerm: - labelSelector: - matchLabels: - app: eventing-webhook - topologyKey: kubernetes.io/hostname - weight: 100 - serviceAccountName: eventing-webhook - containers: - - name: eventing-webhook - terminationMessagePolicy: FallbackToLogsOnError - # This is the Go import path for the binary that is containerized - # and substituted here. - image: gcr.io/knative-releases/knative.dev/eventing/cmd/webhook@sha256:e0bba359e5bd05c074f3f1141d6fb72911d5629a61fe974e444e86b4b66e668c - resources: - requests: - # taken from serving. - cpu: 20m - memory: 20Mi - limits: - # taken from serving. - 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" - # SINK_BINDING_SELECTION_MODE specifies the NamespaceSelector and ObjectSelector - # for the sinkbinding webhook. - # If `inclusion` is selected, namespaces/objects labelled as `bindings.knative.dev/include:true` - # will be considered by the sinkbinding webhook; - # If `exclusion` is selected, namespaces/objects labelled as `bindings.knative.dev/exclude:true` - # will NOT be considered by the sinkbinding webhook. - # The default is `exclusion`. - - name: SINK_BINDING_SELECTION_MODE - value: "exclusion" - securityContext: - allowPrivilegeEscalation: false - ports: - - name: https-webhook - containerPort: 8443 - - name: metrics - containerPort: 9090 - - name: profiling - containerPort: 8008 - readinessProbe: &probe - periodSeconds: 1 - httpGet: - scheme: HTTPS - port: 8443 - httpHeaders: - - name: k-kubelet-probe - value: "webhook" - livenessProbe: *probe - # Our webhook should gracefully terminate by lame ducking first, set this to a sufficiently - # high value that we respect whatever value it has configured for the lame duck grace period. - terminationGracePeriodSeconds: 300 ---- -apiVersion: v1 -kind: Service -metadata: - labels: - eventing.knative.dev/release: "v0.17.0" - role: eventing-webhook - name: eventing-webhook - namespace: knative-eventing -spec: - ports: - - name: https-webhook - port: 443 - targetPort: 8443 - selector: - role: eventing-webhook - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - creationTimestamp: null - labels: - eventing.knative.dev/release: "v0.17.0" - eventing.knative.dev/source: "true" - duck.knative.dev/source: "true" - knative.dev/crd-install: "true" - annotations: - # TODO add schemas and descriptions - registry.knative.dev/eventTypes: | - [ - { "type": "dev.knative.apiserver.resource.add" }, - { "type": "dev.knative.apiserver.resource.delete" }, - { "type": "dev.knative.apiserver.resource.update" }, - { "type": "dev.knative.apiserver.ref.add" }, - { "type": "dev.knative.apiserver.ref.delete" }, - { "type": "dev.knative.apiserver.ref.update" } - ] - name: apiserversources.sources.knative.dev -spec: - group: sources.knative.dev - versions: - - &version - name: v1alpha1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - description: 'ApiServerSource is an event source that brings Kubernetes API - server events into Knative.' - properties: - spec: - type: object - description: 'ApiServerSourceSpec defines the desired state of ApiServerSource - (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 - mode: - description: 'Mode is the mode the receive adapter controller runs - under: Ref or Resource. `Ref` sends only the reference to the resource. - `Resource` send the full resource.' - 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: 'Resources is the list of resources to watch' - type: array - items: - type: object - properties: - apiVersion: - description: 'API version of the resource to watch.' - type: string - controller: - description: 'If true, send an event referencing the object - controlling the resource Deprecated: Per-resource controller - flag will no longer be supported in v1alpha2, please use Spec.Owner - as a GKV.' - type: boolean - controllerSelector: - description: 'ControllerSelector restricts this source to objects - with a controlling owner reference of the specified kind. - Only apiVersion and kind are used. Both are optional. Deprecated: - Per-resource owner refs will no longer be supported in v1alpha2, - please use Spec.Owner as a GKV.' - type: object - properties: - apiVersion: - description: 'API version of the referent.' - type: string - blockOwnerDeletion: - description: 'If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of - the owner, otherwise 422 (Unprocessable Entity) will be - returned.' - type: boolean - controller: - description: 'If true, this reference points to the managing - controller.' - type: boolean - 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: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - 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 - labelSelector: - description: 'LabelSelector restricts this source to objects - with the selected labels 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.' - type: string - sink: - description: 'Sink is a reference to an object that will resolve to - a domain name to use as the sink.' - type: object - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - namespace: - type: string - ref: - description: 'Ref points to an Addressable.' - 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 - 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 - status: - type: object - description: 'ApiServerSourceStatus defines the observed state of ApiServerSource - (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 - 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 - 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" - - !!merge <<: *version - name: v1alpha2 - served: true - storage: false - schema: - openAPIV3Schema: &openAPIV3Schema - type: object - description: 'ApiServerSource is an event source that brings Kubernetes API - server events into Knative.' - properties: - spec: - type: object - description: 'ApiServerSourceSpec defines the desired state of ApiServerSource - (from the client).' - 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 - additionalProperties: - type: string - 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 - status: - type: object - description: 'ApiServerSourceStatus defines the observed state of ApiServerSource - (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 - 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 - - !!merge <<: *version - name: v1beta1 - served: true - storage: false - # the schema of v1beta1 is exactly the same as v1alpha2 schema - schema: - openAPIV3Schema: - !!merge <<: *openAPIV3Schema - names: - categories: - - all - - knative - - sources - kind: ApiServerSource - plural: apiserversources - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: brokers.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - duck.knative.dev/addressable: "true" -spec: - group: eventing.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: &openAPIV3Schema - type: object - 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.' - 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 is the delivery specification for Events within - the Broker mesh. 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 the time interval between retries. For exponential - policy , backoff delay is backoffDelay*2^.' - 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 - 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: - url: - 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 - 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" - - !!merge <<: *version - name: v1 - served: true - storage: false - # the schema of v1 is exactly the same as v1beta1 schema - schema: - openAPIV3Schema: - !!merge <<: *openAPIV3Schema - names: - kind: Broker - plural: brokers - singular: broker - categories: - - all - - knative - - eventing - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: channels.messaging.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - messaging.knative.dev/subscribable: "true" - duck.knative.dev/addressable: "true" -spec: - group: messaging.knative.dev - versions: - - &version - name: v1beta1 - 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: - type: object - properties: - spec: - type: object - x-kubernetes-preserve-unknown-fields: true - status: - type: object - x-kubernetes-preserve-unknown-fields: true - - !!merge <<: *version - name: v1 - served: true - storage: false - names: - kind: Channel - plural: channels - singular: channel - categories: - - all - - knative - - messaging - - channel - shortNames: - - ch - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - labels: - eventing.knative.dev/release: "v0.17.0" - eventing.knative.dev/source: "true" - duck.knative.dev/source: "true" - knative.dev/crd-install: "true" - name: containersources.sources.knative.dev -spec: - group: sources.knative.dev - versions: - - &version - name: v1alpha2 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - 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" - - !!merge <<: *version - name: v1beta1 - served: true - storage: false - names: - categories: - - all - - knative - - sources - kind: ContainerSource - plural: containersources - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: eventtypes.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" -spec: - group: eventing.knative.dev - versions: - - &version - name: v1alpha1 - served: false - storage: false - subresources: - status: {} - schema: - openAPIV3Schema: &openAPIV3Schema - type: object - description: 'EventType represents a type of event that can be consumed from - a Broker.' - properties: - spec: - description: 'Spec defines the desired state of the EventType.' - type: object - properties: - broker: - 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: Broker - type: string - jsonPath: ".spec.broker" - - name: Description - type: string - jsonPath: ".spec.description" - - # TODO remove Status https://github.com/knative/eventing/issues/2750 - name: Ready - type: string - jsonPath: ".status.conditions[?(@.type==\"Ready\")].status" - - name: Reason - type: string - jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason" - - !!merge <<: *version - name: v1beta1 - served: true - storage: true - # the schema of v1beta1 is exactly the same as v1 schema - schema: - openAPIV3Schema: - !!merge <<: *openAPIV3Schema - 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 - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: parallels.flows.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - duck.knative.dev/addressable: "true" -spec: - group: flows.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - 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" - - !!merge <<: *version - name: v1 - served: true - storage: false - names: - kind: Parallel - plural: parallels - singular: parallel - categories: - - all - - knative - - flows - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - labels: - eventing.knative.dev/release: "v0.17.0" - eventing.knative.dev/source: "true" - duck.knative.dev/source: "true" - knative.dev/crd-install: "true" - annotations: - # TODO add schemas and descriptions - registry.knative.dev/eventTypes: | - [ - { "type": "dev.knative.sources.ping" } - ] - name: pingsources.sources.knative.dev -spec: - group: sources.knative.dev - versions: - - &version - name: v1alpha2 - 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 - jsonData: - description: 'JsonData is json encoded data used as the body of the - event posted to the sink. Default is empty. If set, datacontenttype - will also be set to "application/json".' - type: string - schedule: - description: 'Schedule is the cronjob 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 - 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 - 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 - 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" - - !!merge <<: *version - name: v1beta1 - served: true - storage: false - 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 - jsonData: - description: 'JsonData is json encoded data used as the body of the - event posted to the sink. Default is empty. If set, datacontenttype - will also be set to "application/json".' - type: string - schedule: - description: 'Schedule is the cronjob 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 - 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 - 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 - names: - categories: - - all - - knative - - sources - kind: PingSource - plural: pingsources - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: sequences.flows.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - duck.knative.dev/addressable: "true" -spec: - group: flows.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - 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" - - !!merge <<: *version - name: v1 - served: true - storage: false - names: - kind: Sequence - plural: sequences - singular: sequence - categories: - - all - - knative - - flows - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - labels: - eventing.knative.dev/release: "v0.17.0" - eventing.knative.dev/source: "true" - duck.knative.dev/source: "true" - duck.knative.dev/binding: "true" - knative.dev/crd-install: "true" - name: sinkbindings.sources.knative.dev -spec: - group: sources.knative.dev - versions: - - &version - name: v1alpha1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - 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" - - !!merge <<: *version - name: v1alpha2 - served: true - storage: false - - !!merge <<: *version - name: v1beta1 - served: true - storage: false - schema: - openAPIV3Schema: - type: object - 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.' - properties: - spec: - type: object - description: 'SinkBindingSpec holds the desired state of the SinkBinding - (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 - 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 - 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 - description: 'SinkBindingStatus communicates the observed state of the - SinkBinding (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 - 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 - names: - categories: - - all - - knative - - sources - - bindings - kind: SinkBinding - plural: sinkbindings - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.messaging.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" -spec: - group: messaging.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: &openAPIV3Schema - type: object - description: 'Subscription routes events received on a Channel to a DNS name - and corresponds to the subscriptions.channels.knative.dev CRD.' - properties: - spec: - type: object - description: 'Specifies the Channel for incoming events, a Subscriber - target for processing those events and where to put the result of the - processing. Only From (where the events are coming from) is always required. - You can optionally only Process the events (results in no output events) - by leaving out the Result. You can also perform an identity transformation - on the incoming events by leaving out the Subscriber and only specifying - Result. - - The following are all valid specifications: channel --[subscriber]--> - reply Sink, no outgoing events: channel -- subscriber no-op function - (identity transformation): channel --> reply' - properties: - channel: - description: 'Reference to a channel that will be used to create the - subscription You can specify only the following fields of the ObjectReference: - - Kind - APIVersion - Name The resource pointed by this ObjectReference - 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 - 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 - 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 the time interval between retries. For exponential - policy , backoff delay is backoffDelay*2^.' - 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 - 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 - 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 - 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 - status: - type: object - description: Status (computed) for a subscription - 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 - 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 - replyUri: - description: 'ReplyURI is the fully resolved URI for the spec.reply.' - type: string - subscriberUri: - description: 'SubscriberURI is the fully resolved URI for spec.subscriber.' - 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" - - !!merge <<: *version - name: v1 - served: true - storage: false - # the schema of v1 is exactly the same as v1beta1 schema - schema: - openAPIV3Schema: - !!merge <<: *openAPIV3Schema - names: - kind: Subscription - plural: subscriptions - singular: subscription - categories: - - all - - knative - - messaging - shortNames: - - sub - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: triggers.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" -spec: - group: eventing.knative.dev - versions: - - &version - name: v1beta1 - 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: - type: object - properties: - spec: - required: - - subscriber - type: object - properties: - broker: - type: string - description: 'Broker that this trigger receives events from. If not - specified, will default to ''default''.' - filter: - type: object - properties: - attributes: - type: object - description: 'Map of CloudEvents attributes used for filtering - events. If not specified, will default to all events' - additionalProperties: - type: string - subscriber: - type: object - description: 'the destination that should receive events.' - properties: - ref: - type: object - description: 'a reference to a Kubernetes object from which to - retrieve the target URI.' - required: - - apiVersion - - kind - - name - properties: - apiVersion: - type: string - minLength: 1 - kind: - type: string - minLength: 1 - namespace: - type: string - minLength: 1 - name: - type: string - minLength: 1 - uri: - type: string - description: 'the target URI or, if ref is provided, a relative - URI reference that will be combined with ref to produce a target - URI.' - status: - type: object - x-kubernetes-preserve-unknown-fields: true - - !!merge <<: *version - name: v1 - served: true - storage: false - schema: - openAPIV3Schema: - type: object - description: 'Trigger represents a request to have events delivered to a subscriber - from a Broker''s event pool.' - properties: - spec: - description: 'Spec defines the desired state of the Trigger.' - required: - - subscriber - - broker - type: object - properties: - broker: - type: string - description: 'Broker that this trigger receives events from.' - filter: - type: object - 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.' - properties: - attributes: - type: object - description: 'Map of CloudEvents attributes used for filtering - events. If not specified, will default to all events' - additionalProperties: - type: string - subscriber: - type: object - description: 'the destination that should receive events.' - properties: - ref: - type: object - description: 'a reference to a Kubernetes object from which to - retrieve the target URI.' - required: - - apiVersion - - kind - - name - properties: - apiVersion: - type: string - minLength: 1 - kind: - type: string - minLength: 1 - namespace: - type: string - minLength: 1 - name: - type: string - minLength: 1 - uri: - type: string - description: 'the target URI or, if ref is provided, a relative - URI reference that will be combined with ref to produce a target - URI.' - status: - description: 'Status represents the current state of the Trigger. This - data may be out of date.' - type: object - x-kubernetes-preserve-unknown-fields: true - names: - kind: Trigger - plural: triggers - singular: trigger - categories: - - all - - knative - - eventing - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Use this aggregated ClusterRole when you need readonly access to "Addressables" -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: addressable-resolver - labels: - eventing.knative.dev/release: "v0.17.0" -aggregationRule: - clusterRoleSelectors: - - matchLabels: - duck.knative.dev/addressable: "true" -rules: [] # Rules are automatically filled in by the controller manager. ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: service-addressable-resolver - labels: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/addressable: "true" -# Do not use this role directly. These rules will be added to the "addressable-resolver" role. -rules: -- apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: serving-addressable-resolver - labels: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/addressable: "true" -# Do not use this role directly. These rules will be added to the "addressable-resolver" role. -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: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/addressable: "true" -# Do not use this role directly. These rules will be added to the "addressable-resolver" role. -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: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/addressable: "true" -# Do not use this role directly. These rules will be added to the "addressable-resolver" role. -rules: -- apiGroups: - - eventing.knative.dev - resources: - - brokers - - brokers/status - verbs: - - get - - list - - watch ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: messaging-addressable-resolver - labels: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/addressable: "true" -# Do not use this role directly. These rules will be added to the "addressable-resolver" role. -rules: -- apiGroups: - - messaging.knative.dev - resources: - - sequences - - sequences/status - - parallels - - parallels/status - verbs: - - get - - list - - watch ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: flows-addressable-resolver - labels: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/addressable: "true" -# Do not use this role directly. These rules will be added to the "addressable-resolver" role. -rules: -- apiGroups: - - flows.knative.dev - resources: - - sequences - - sequences/status - - parallels - - parallels/status - verbs: - - get - - list - - watch - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: eventing-broker-filter - labels: - eventing.knative.dev/release: "v0.17.0" -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: - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: - - "" - resources: - - "configmaps" - verbs: - - "get" - - "list" - - "watch" ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: eventing-config-reader - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: - - "" - resources: - - "configmaps" - verbs: - - "get" - - "list" - - "watch" - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Use this aggregated ClusterRole when you need read and update permissions on "Channelables". -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: channelable-manipulator - labels: - eventing.knative.dev/release: "v0.17.0" -aggregationRule: - clusterRoleSelectors: - - matchLabels: - duck.knative.dev/channelable: "true" -rules: [] # Rules are automatically filled in by the controller manager. ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: meta-channelable-manipulator - labels: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/channelable: "true" -# Do not use this role directly. These rules will be added to the "channelable-manipulator" role. -rules: -- apiGroups: - - messaging.knative.dev - resources: - - channels - - channels/status - verbs: - - create - - get - - list - - watch - - update - - patch - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: knative-eventing-namespaced-admin - labels: - eventing.knative.dev/release: "v0.17.0" - rbac.authorization.k8s.io/aggregate-to-admin: "true" -rules: -- apiGroups: ["eventing.knative.dev"] - resources: ["*"] - verbs: ["*"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: knative-messaging-namespaced-admin - labels: - eventing.knative.dev/release: "v0.17.0" - rbac.authorization.k8s.io/aggregate-to-admin: "true" -rules: -- apiGroups: ["messaging.knative.dev"] - resources: ["*"] - verbs: ["*"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: knative-flows-namespaced-admin - labels: - eventing.knative.dev/release: "v0.17.0" - rbac.authorization.k8s.io/aggregate-to-admin: "true" -rules: -- apiGroups: ["flows.knative.dev"] - resources: ["*"] - verbs: ["*"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: knative-sources-namespaced-admin - labels: - eventing.knative.dev/release: "v0.17.0" - rbac.authorization.k8s.io/aggregate-to-admin: "true" -rules: -- apiGroups: ["sources.knative.dev"] - resources: ["*"] - verbs: ["*"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: knative-bindings-namespaced-admin - labels: - eventing.knative.dev/release: "v0.17.0" - rbac.authorization.k8s.io/aggregate-to-admin: "true" -rules: -- apiGroups: ["bindings.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" - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: ["eventing.knative.dev", "messaging.knative.dev", "sources.knative.dev", - "flows.knative.dev", "bindings.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" - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: ["eventing.knative.dev", "messaging.knative.dev", "sources.knative.dev", - "flows.knative.dev", "bindings.knative.dev"] - resources: ["*"] - verbs: ["get", "list", "watch"] - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: knative-eventing-controller - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: - - "" - resources: - - "namespaces" - - "secrets" - - "configmaps" - - "services" - - "endpoints" - - "events" - - "serviceaccounts" - - "pods" - verbs: &everything - - "get" - - "list" - - "create" - - "update" - - "delete" - - "patch" - - "watch" -- # Brokers and the namespace annotation controllers manipulate Deployments. - apiGroups: - - "apps" - resources: - - "deployments" - verbs: *everything -- # PingSource controller manipulates Deployment owner reference - apiGroups: - - "apps" - resources: - - "deployments/finalizers" - verbs: - - "update" -- # The namespace annotation controller needs to manipulate RoleBindings. - apiGroups: - - "rbac.authorization.k8s.io" - resources: - - "rolebindings" - verbs: *everything -- # Our own resources and statuses we care about. - apiGroups: - - "eventing.knative.dev" - resources: - - "brokers" - - "brokers/status" - - "triggers" - - "triggers/status" - - "eventtypes" - - "eventtypes/status" - verbs: *everything -- # Eventing resources and finalizers we care about. - apiGroups: - - "eventing.knative.dev" - resources: - - "brokers/finalizers" - - "triggers/finalizers" - verbs: - - "update" -- # Our own resources and statuses we care about. - apiGroups: - - "messaging.knative.dev" - resources: - - "sequences" - - "sequences/status" - - "channels" - - "channels/status" - - "parallels" - - "parallels/status" - - "subscriptions" - - "subscriptions/status" - verbs: *everything -- # Flow resources and statuses we care about. - apiGroups: - - "flows.knative.dev" - resources: - - "sequences" - - "sequences/status" - - "parallels" - - "parallels/status" - verbs: *everything -- # Messaging resources and finalizers we care about. - apiGroups: - - "messaging.knative.dev" - resources: - - "sequences/finalizers" - - "parallels/finalizers" - - "channels/finalizers" - verbs: - - "update" -- # Flows resources and finalizers we care about. - apiGroups: - - "flows.knative.dev" - resources: - - "sequences/finalizers" - - "parallels/finalizers" - verbs: - - "update" -- # The subscription controller needs to retrieve and watch CustomResourceDefinitions. - apiGroups: - - "apiextensions.k8s.io" - resources: - - "customresourcedefinitions" - verbs: - - "get" - - "list" - - "watch" -- # For leader election - apiGroups: - - "coordination.k8s.io" - resources: - - "leases" - verbs: *everything - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: knative-eventing-pingsource-adapter - labels: - eventing.knative.dev/release: "v0.17.0" -rules: [] - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: knative-eventing-pingsource-mt-adapter - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: - - "" - resources: - - "configmaps" - verbs: - - "get" - - "list" - - "watch" -- apiGroups: - - "" - resources: - - events - verbs: - - "create" - - "patch" -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Use this aggregated ClusterRole when you need readonly access to "Addressables" -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: podspecable-binding - labels: - eventing.knative.dev/release: "v0.17.0" -aggregationRule: - clusterRoleSelectors: - - matchLabels: - duck.knative.dev/podspecable: "true" -rules: [] # Rules are automatically filled in by the controller manager. ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: builtin-podspecable-binding - labels: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/podspecable: "true" -# Do not use this role directly. These rules will be added to the "podspecable-binding role. -rules: -- # To patch the subjects of our bindings - apiGroups: - - "apps" - resources: - - "deployments" - - "daemonsets" - - "statefulsets" - - "replicasets" - verbs: - - "list" - - "watch" - - "patch" -- apiGroups: - - "batch" - resources: - - "jobs" - verbs: - - "list" - - "watch" - - "patch" - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Use this aggregated ClusterRole when you need to read "Sources". -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: source-observer - labels: - eventing.knative.dev/release: "v0.17.0" -aggregationRule: - clusterRoleSelectors: - - matchLabels: - duck.knative.dev/source: "true" -rules: [] # Rules are automatically filled in by the controller manager. ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: eventing-sources-source-observer - labels: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/source: "true" -# Do not use this role directly. These rules will be added to the "source-observer" role. -rules: -- apiGroups: - - sources.knative.dev - resources: - - apiserversources - - pingsources - - sinkbindings - - containersources - verbs: - - get - - list - - watch - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: knative-eventing-sources-controller - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: - - "" - resources: - - "secrets" - - "configmaps" - - "services" - verbs: &everything - - "get" - - "list" - - "create" - - "update" - - "delete" - - "patch" - - "watch" -- # Deployments admin - apiGroups: - - "apps" - resources: - - "deployments" - verbs: *everything -- # Source resources and statuses we care about. - 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: *everything -- # Knative Services admin - apiGroups: - - serving.knative.dev - resources: - - services - verbs: *everything -- # EventTypes admin - apiGroups: - - eventing.knative.dev - resources: - - eventtypes - verbs: *everything -- # Events admin - apiGroups: - - "" - resources: - - events - verbs: *everything -- # Authorization checker - apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: knative-eventing-webhook - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- # For watching logging configuration and getting certs. - apiGroups: - - "" - resources: - - "configmaps" - verbs: - - "get" - - "list" - - "watch" -- # For manipulating certs into secrets. - apiGroups: - - "" - resources: - - "secrets" - - "namespaces" - verbs: - - "get" - - "create" - - "update" - - "list" - - "watch" - - "patch" -- # For getting our Deployment so we can decorate with ownerref. - apiGroups: - - "apps" - resources: - - "deployments" - verbs: - - "get" -- apiGroups: - - "apps" - resources: - - "deployments/finalizers" - verbs: - - update -- # For actually registering our webhook. - apiGroups: - - "admissionregistration.k8s.io" - resources: - - "mutatingwebhookconfigurations" - - "validatingwebhookconfigurations" - verbs: &everything - - "get" - - "list" - - "create" - - "update" - - "delete" - - "patch" - - "watch" -- # For running the SinkBinding reconciler. - apiGroups: - - "sources.knative.dev" - resources: - - "sinkbindings" - - "sinkbindings/status" - - "sinkbindings/finalizers" - verbs: *everything -- # For leader election - apiGroups: - - "coordination.k8s.io" - resources: - - "leases" - verbs: *everything -- # Necessary for conversion webhook. These are copied from the serving - # TODO: Do we really need all these permissions? - apiGroups: ["apiextensions.k8s.io"] - resources: ["customresourcedefinitions"] - verbs: ["get", "list", "create", "update", "delete", "patch", "watch"] - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: config.webhook.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" -webhooks: -- admissionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - sideEffects: None - failurePolicy: Fail - name: config.webhook.eventing.knative.dev - namespaceSelector: - matchExpressions: - - key: eventing.knative.dev/release - operator: Exists - timeoutSeconds: 2 - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - name: webhook.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" -webhooks: -- admissionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - sideEffects: None - failurePolicy: Fail - name: webhook.eventing.knative.dev - timeoutSeconds: 2 - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: validation.webhook.eventing.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" -webhooks: -- admissionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - sideEffects: None - failurePolicy: Fail - name: validation.webhook.eventing.knative.dev - timeoutSeconds: 2 - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: Secret -metadata: - name: eventing-webhook-certs - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -# The data is populated at install time. - ---- -# Copyright 2018 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - name: sinkbindings.webhook.sources.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" -webhooks: -- admissionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - failurePolicy: Fail - sideEffects: None - name: sinkbindings.webhook.sources.knative.dev - timeoutSeconds: 2 - ---- -kind: Role -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - namespace: knative-eventing - name: openshift-serverless-view-eventing-configmaps -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch ---- -kind: RoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: openshift-serverless-view-eventing-configmaps - namespace: knative-eventing -subjects: -- kind: Group - name: system:authenticated - apiGroup: rbac.authorization.k8s.io -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: openshift-serverless-view-eventing-configmaps diff --git a/cmd/operator/kodata/knative-eventing/0.17.0/4-in-memory-channel.yaml b/cmd/operator/kodata/knative-eventing/0.17.0/4-in-memory-channel.yaml deleted file mode 100644 index 84919d27c3..0000000000 --- a/cmd/operator/kodata/knative-eventing/0.17.0/4-in-memory-channel.yaml +++ /dev/null @@ -1,583 +0,0 @@ -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ConfigMap -metadata: - name: config-imc-event-dispatcher - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -data: - MaxIdleConnections: "1000" - MaxIdleConnectionsPerHost: "100" - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: imc-addressable-resolver - labels: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/addressable: "true" -# Do not use this role directly. These rules will be added to the "addressable-resolver" role. -rules: -- apiGroups: - - messaging.knative.dev - resources: - - inmemorychannels - - inmemorychannels/status - verbs: - - get - - list - - watch - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: imc-channelable-manipulator - labels: - eventing.knative.dev/release: "v0.17.0" - duck.knative.dev/channelable: "true" -# Do not use this role directly. These rules will be added to the "channelable-manipulator" role. -rules: -- apiGroups: - - messaging.knative.dev - resources: - - inmemorychannels - - inmemorychannels/status - verbs: - - create - - get - - list - - watch - - update - - patch - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: imc-controller - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: - - messaging.knative.dev - resources: - - inmemorychannels - - inmemorychannels/status - verbs: - - get - - list - - watch - - update -- apiGroups: - - messaging.knative.dev - resources: - - inmemorychannels/finalizers - verbs: - - update -- apiGroups: - - "" - resources: - - services - - serviceaccounts - verbs: &everything - - get - - list - - watch - - create - - update - - patch -- apiGroups: - - "" - resources: - - endpoints - verbs: - - get - - list - - watch -- apiGroups: - - "rbac.authorization.k8s.io" - resources: - - rolebindings - verbs: *everything -- apiGroups: - - apps - resources: - - deployments - verbs: *everything -- apiGroups: - - apps - resources: - - deployments/status - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: *everything - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: imc-dispatcher - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: - - messaging.knative.dev - resources: - - inmemorychannels - - inmemorychannels/status - verbs: - - get - - list - - watch -- apiGroups: - - "" # Core API group. - resources: - - configmaps - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - # Updates the status to reflect subscribable status. -- apiGroups: - - messaging.knative.dev - resources: - - inmemorychannels/status - verbs: - - update -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: v1 -kind: Service -metadata: - name: imc-dispatcher - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - messaging.knative.dev/channel: in-memory-channel - messaging.knative.dev/role: dispatcher -spec: - selector: - messaging.knative.dev/channel: in-memory-channel - messaging.knative.dev/role: dispatcher - ports: - - name: http-dispatcher - port: 80 - protocol: TCP - targetPort: 8080 - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: imc-dispatcher - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: v1 -kind: ServiceAccount -metadata: - name: imc-controller - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: imc-controller - labels: - eventing.knative.dev/release: "v0.17.0" -subjects: -- kind: ServiceAccount - name: imc-controller - namespace: knative-eventing -roleRef: - kind: ClusterRole - name: imc-controller - apiGroup: rbac.authorization.k8s.io - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: imc-dispatcher - labels: - eventing.knative.dev/release: "v0.17.0" -subjects: -- kind: ServiceAccount - name: imc-dispatcher - namespace: knative-eventing -roleRef: - kind: ClusterRole - name: imc-dispatcher - apiGroup: rbac.authorization.k8s.io - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: inmemorychannels.messaging.knative.dev - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/crd-install: "true" - messaging.knative.dev/subscribable: "true" - duck.knative.dev/addressable: "true" -spec: - group: messaging.knative.dev - versions: - - &version - name: v1beta1 - served: true - storage: true - subresources: - status: {} - schema: - openAPIV3Schema: - type: object - # this is a work around so we don't need to flush out the - # schema for each version at this time - # - # see issue: https://github.com/knative/serving/issues/912 - x-kubernetes-preserve-unknown-fields: true - 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" - - !!merge <<: *version - name: v1 - served: true - storage: false - names: - kind: InMemoryChannel - plural: inmemorychannels - singular: inmemorychannel - categories: - - all - - knative - - messaging - - channel - shortNames: - - imc - scope: Namespaced - conversion: - strategy: Webhook - webhook: - conversionReviewVersions: ["v1", "v1beta1"] - clientConfig: - service: - name: eventing-webhook - namespace: knative-eventing - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: imc-controller - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/high-availability: "true" -spec: - replicas: 1 - selector: - matchLabels: &labels - messaging.knative.dev/channel: in-memory-channel - messaging.knative.dev/role: controller - template: - metadata: - labels: *labels - spec: - serviceAccountName: imc-controller - containers: - - name: controller - image: gcr.io/knative-releases/knative.dev/eventing/cmd/in_memory/channel_controller@sha256:7649888fca4e4ab693c6f0ad51296065cf6682cbafe7455efedab3b80bb00c4a - env: - - name: CONFIG_LOGGING_NAME - value: config-logging - - name: CONFIG_OBSERVABILITY_NAME - value: config-observability - - name: METRICS_DOMAIN - value: knative.dev/inmemorychannel-controller - - name: SYSTEM_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: DISPATCHER_IMAGE - value: gcr.io/knative-releases/knative.dev/eventing/cmd/in_memory/channel_dispatcher@sha256:8e8763fd783a213f1836b1c70bbf7d6803ba57b6bc2021c2b1d78afb321b621b - securityContext: - allowPrivilegeEscalation: false - ports: - - name: metrics - containerPort: 9090 - - name: profiling - containerPort: 8008 - ---- -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: imc-dispatcher - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - knative.dev/high-availability: "true" -spec: - replicas: 1 - selector: - matchLabels: &labels - messaging.knative.dev/channel: in-memory-channel - messaging.knative.dev/role: dispatcher - template: - metadata: - labels: *labels - spec: - serviceAccountName: imc-dispatcher - containers: - - name: dispatcher - image: gcr.io/knative-releases/knative.dev/eventing/cmd/in_memory/channel_dispatcher@sha256:8e8763fd783a213f1836b1c70bbf7d6803ba57b6bc2021c2b1d78afb321b621b - env: - - name: CONFIG_LOGGING_NAME - value: config-logging - - name: CONFIG_OBSERVABILITY_NAME - value: config-observability - - name: METRICS_DOMAIN - value: knative.dev/inmemorychannel-dispatcher - - name: SYSTEM_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 9090 - name: metrics - ---- diff --git a/cmd/operator/kodata/knative-eventing/0.17.0/5-mt-channel-broker.yaml b/cmd/operator/kodata/knative-eventing/0.17.0/5-mt-channel-broker.yaml deleted file mode 100644 index 362c257a8b..0000000000 --- a/cmd/operator/kodata/knative-eventing/0.17.0/5-mt-channel-broker.yaml +++ /dev/null @@ -1,605 +0,0 @@ -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: knative-eventing-mt-channel-broker-controller - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- # Configs resources and status we care about. - apiGroups: - - "" - resources: - - "namespaces/finalizers" - verbs: - - "update" -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - "get" - - "list" - - "create" - - "update" - - "delete" - - "patch" - - "watch" - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: knative-eventing-mt-broker-filter - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: - - eventing.knative.dev - resources: - - triggers - - triggers/status - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - "configmaps" - verbs: - - get - - list - - watch - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: v1 -kind: ServiceAccount -metadata: - name: mt-broker-filter - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: knative-eventing-mt-broker-ingress - labels: - eventing.knative.dev/release: "v0.17.0" -rules: -- apiGroups: - - eventing.knative.dev - resources: - - brokers - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - "configmaps" - verbs: - - get - - list - - watch - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -apiVersion: v1 -kind: ServiceAccount -metadata: - name: mt-broker-ingress - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: eventing-mt-channel-broker-controller - labels: - eventing.knative.dev/release: "v0.17.0" -subjects: -- kind: ServiceAccount - name: eventing-controller - namespace: knative-eventing -roleRef: - kind: ClusterRole - name: knative-eventing-mt-channel-broker-controller - apiGroup: rbac.authorization.k8s.io - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: knative-eventing-mt-broker-filter - labels: - eventing.knative.dev/release: "v0.17.0" -subjects: -- kind: ServiceAccount - name: mt-broker-filter - namespace: knative-eventing -roleRef: - kind: ClusterRole - name: knative-eventing-mt-broker-filter - apiGroup: rbac.authorization.k8s.io - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: knative-eventing-mt-broker-ingress - labels: - eventing.knative.dev/release: "v0.17.0" -subjects: -- kind: ServiceAccount - name: mt-broker-ingress - namespace: knative-eventing -roleRef: - kind: ClusterRole - name: knative-eventing-mt-broker-ingress - apiGroup: rbac.authorization.k8s.io - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: mt-broker-filter - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -spec: - selector: - matchLabels: - eventing.knative.dev/brokerRole: filter - template: - metadata: - labels: - eventing.knative.dev/brokerRole: filter - eventing.knative.dev/release: "v0.17.0" - spec: - serviceAccountName: mt-broker-filter - containers: - - name: filter - terminationMessagePolicy: FallbackToLogsOnError - image: gcr.io/knative-releases/knative.dev/eventing/cmd/mtbroker/filter@sha256:c3fcf096439ef7cd438b97f44e0318ca6d94b73c47953de768c92de584dbcd3c - livenessProbe: - failureThreshold: 3 - httpGet: - path: /healthz - port: 8080 - scheme: HTTP - initialDelaySeconds: 5 - periodSeconds: 2 - successThreshold: 1 - timeoutSeconds: 1 - resources: - requests: - cpu: 100m - memory: 100Mi - ports: - - containerPort: 8080 - name: http - protocol: TCP - - containerPort: 9090 - name: metrics - protocol: TCP - terminationMessagePath: /dev/termination-log - 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: filter - - name: CONFIG_LOGGING_NAME - value: config-logging - - name: CONFIG_OBSERVABILITY_NAME - value: config-observability - - name: METRICS_DOMAIN - value: knative.dev/internal/eventing - - name: FILTER_PORT - value: "8080" - securityContext: - allowPrivilegeEscalation: false ---- -apiVersion: v1 -kind: Service -metadata: - labels: - eventing.knative.dev/brokerRole: filter - eventing.knative.dev/release: "v0.17.0" - name: broker-filter - namespace: knative-eventing -spec: - ports: - - name: http - port: 80 - protocol: TCP - targetPort: 8080 - - name: http-metrics - port: 9092 - protocol: TCP - targetPort: 9092 - selector: - eventing.knative.dev/brokerRole: filter - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: mt-broker-ingress - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -spec: - selector: - matchLabels: - eventing.knative.dev/brokerRole: ingress - template: - metadata: - labels: - eventing.knative.dev/brokerRole: ingress - eventing.knative.dev/release: "v0.17.0" - spec: - serviceAccountName: mt-broker-ingress - containers: - - name: ingress - terminationMessagePolicy: FallbackToLogsOnError - image: gcr.io/knative-releases/knative.dev/eventing/cmd/mtbroker/ingress@sha256:1af3d594ca277ae16c94279506c1786851b1e4c504539fa2840f777c61cb8876 - livenessProbe: - failureThreshold: 3 - httpGet: - path: /healthz - port: 8080 - scheme: HTTP - initialDelaySeconds: 5 - periodSeconds: 2 - successThreshold: 1 - timeoutSeconds: 1 - resources: - requests: - cpu: 100m - memory: 100Mi - ports: - - containerPort: 8080 - name: http - protocol: TCP - - containerPort: 9090 - name: metrics - protocol: TCP - terminationMessagePath: /dev/termination-log - 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: ingress - - 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" - securityContext: - allowPrivilegeEscalation: false ---- -apiVersion: v1 -kind: Service -metadata: - labels: - eventing.knative.dev/brokerRole: ingress - eventing.knative.dev/release: "v0.17.0" - name: broker-ingress - namespace: knative-eventing -spec: - ports: - - name: http - port: 80 - protocol: TCP - targetPort: 8080 - - name: http-metrics - port: 9092 - protocol: TCP - targetPort: 9092 - selector: - eventing.knative.dev/brokerRole: ingress - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: mt-broker-controller - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -spec: - replicas: 1 - selector: - matchLabels: - app: mt-broker-controller - template: - metadata: - labels: - app: mt-broker-controller - eventing.knative.dev/release: "v0.17.0" - spec: - # To avoid node becoming SPOF, spread our replicas to different nodes. - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - podAffinityTerm: - labelSelector: - matchLabels: - app: mt-broker-controller - topologyKey: kubernetes.io/hostname - weight: 100 - serviceAccountName: eventing-controller - containers: - - name: mt-broker-controller - terminationMessagePolicy: FallbackToLogsOnError - image: gcr.io/knative-releases/knative.dev/eventing/cmd/mtchannel_broker@sha256:214355f1087b88ddcec0220059313fa9244ea3696d5d90c23ea3bd296b5e18b4 - 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 - - # Due to the trivial per-Broker cost, we _can_ inject Brokers into every - # namespace by default. To change this default simply change this - # to "true". To opt namespaces out of Broker injection, label - # them with: - # knative-eventing-injection: disabled - name: BROKER_INJECTION_DEFAULT - value: "false" - securityContext: - allowPrivilegeEscalation: false - ports: - - name: metrics - containerPort: 9090 - - name: profiling - containerPort: 8008 - ---- -# Copyright 2020 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: autoscaling/v2beta2 -kind: HorizontalPodAutoscaler -metadata: - name: broker-ingress-hpa - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: mt-broker-ingress - minReplicas: 1 - maxReplicas: 10 - metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 70 ---- -apiVersion: autoscaling/v2beta2 -kind: HorizontalPodAutoscaler -metadata: - name: broker-filter-hpa - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: mt-broker-filter - minReplicas: 1 - maxReplicas: 10 - metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 70 - ---- diff --git a/cmd/operator/kodata/knative-eventing/0.17.0/6-eventing-sugar-controller.yaml b/cmd/operator/kodata/knative-eventing/0.17.0/6-eventing-sugar-controller.yaml deleted file mode 100644 index 87e6476363..0000000000 --- a/cmd/operator/kodata/knative-eventing/0.17.0/6-eventing-sugar-controller.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 2019 The Knative Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: sugar-controller - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -spec: - replicas: 1 - selector: - matchLabels: &labels - eventing.knative.dev/role: sugar-controller - template: - metadata: - labels: *labels - spec: - serviceAccountName: eventing-controller - containers: - - name: controller - image: gcr.io/knative-releases/knative.dev/eventing/cmd/sugar_controller@sha256:04f4c49777e68a97124cf980cebab77b584956d2fac2fe1a9df4e5c82c3284eb - env: - - name: CONFIG_LOGGING_NAME - value: config-logging - - name: CONFIG_OBSERVABILITY_NAME - value: config-observability - - name: METRICS_DOMAIN - value: knative.dev/sugar-controller - - name: SYSTEM_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - securityContext: - allowPrivilegeEscalation: false - ports: - - name: metrics - containerPort: 9090 - - name: profiling - containerPort: 8008 - ---- diff --git a/cmd/operator/kodata/knative-eventing/0.17.0/7-eventing-post-install-jobs.yaml b/cmd/operator/kodata/knative-eventing/0.17.0/7-eventing-post-install-jobs.yaml deleted file mode 100644 index d8892e81f0..0000000000 --- a/cmd/operator/kodata/knative-eventing/0.17.0/7-eventing-post-install-jobs.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: batch/v1 -kind: Job -metadata: - name: v0.17.0-pingsource-cleanup - namespace: knative-eventing - labels: - eventing.knative.dev/release: "v0.17.0" -spec: - ttlSecondsAfterFinished: 600 - template: - metadata: - annotations: - sidecar.istio.io/inject: "false" - spec: - serviceAccountName: eventing-controller - restartPolicy: Never - containers: - - name: pingsource - image: gcr.io/knative-releases/knative.dev/eventing/cmd/v0.17/pingsource-cleanup@sha256:c6f5e5d7d834917f56bed9a4cdfbe69fc99be6ab33223e59e8294c12d9f2c039 - env: - - name: SYSTEM_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - -# Note the following ENVVAR settings exist: -# SYSTEM_NAMESPACE - the namespace of the control plane, defaults to knative-eventing -# DRY_RUN - a flag to run the script without deleting or updating, defaults to false. - ----