Packages:

duck.knative.dev

Package v1alpha1 is the v1alpha1 version of the API.

Resource Types:

Channel

Channel is a skeleton type wrapping Subscribable in the manner we expect resource writers defining compatible resources to embed it. We will typically use this type to deserialize Channel ObjectReferences and access the Subscription data. This is not a real resource.

Field Description
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
ChannelSpec

ChannelSpec is the part where Subscribable object is configured as to be compatible with Subscribable contract.



subscribable
Subscribable

ChannelSpec

(Appears on: Channel)

ChannelSpec shows how we expect folks to embed Subscribable in their Spec field.

Field Description
subscribable
Subscribable

ChannelSubscriberSpec

(Appears on: Subscribable)

ChannelSubscriberSpec defines a single subscriber to a Channel. Ref is a reference to the Subscription this ChannelSubscriberSpec was created for SubscriberURI is the endpoint for the subscriber ReplyURI is the endpoint for the reply At least one of SubscriberURI and ReplyURI must be present

Field Description
ref
Kubernetes core/v1.ObjectReference
(Optional)

Deprecated: use UID.

uid
k8s.io/apimachinery/pkg/types.UID
(Optional)

UID is used to understand the origin of the subscriber.

subscriberURI
string
(Optional)
replyURI
string
(Optional)

Subscribable

(Appears on: ChannelSpec, ChannelSpec)

Subscribable is the schema for the subscribable portion of the spec section of the resource.

Field Description
subscribers
[]ChannelSubscriberSpec

TODO: What is actually required here for Channel spec. This is the list of subscriptions for this channel.


eventing.knative.dev

Package v1alpha1 is the v1alpha1 version of the API.

Resource Types:

Broker

Field Description
apiVersion
string
eventing.knative.dev/v1alpha1
kind
string
Broker
metadata
Kubernetes meta/v1.ObjectMeta
(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
BrokerSpec

Spec defines the desired state of the Broker.



channelTemplate
ChannelSpec
(Optional)

ChannelTemplate, if specified will be used to create all the Channels used internally by the Broker. Only Provisioner and Arguments may be specified. If left unspecified, the default Channel for the namespace will be used.

status
BrokerStatus
(Optional)

Status represents the current state of the Broker. This data may be out of date.

Channel

Channel is an abstract resource that implements the Addressable contract. The Provisioner provisions infrastructure to accepts events and deliver to Subscriptions.

Field Description
apiVersion
string
eventing.knative.dev/v1alpha1
kind
string
Channel
metadata
Kubernetes meta/v1.ObjectMeta
(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
ChannelSpec

Spec defines the desired state of the Channel.



generation
int64
(Optional)

TODO By enabling the status subresource metadata.generation should increment thus making this property obsolete.

We should be able to drop this property with a CRD conversion webhook in the future

provisioner
Kubernetes core/v1.ObjectReference

Provisioner defines the name of the Provisioner backing this channel.

arguments
k8s.io/apimachinery/pkg/runtime.RawExtension
(Optional)

Arguments defines the arguments to pass to the Provisioner which provisions this Channel.

subscribable
Subscribable

Channel conforms to Duck type Subscribable.

status
ChannelStatus
(Optional)

Status represents the current state of the Channel. This data may be out of date.

ClusterChannelProvisioner

ClusterChannelProvisioner encapsulates a provisioning strategy for the backing resources required to realize a particular resource type.

Field Description
apiVersion
string
eventing.knative.dev/v1alpha1
kind
string
ClusterChannelProvisioner
metadata
Kubernetes meta/v1.ObjectMeta
(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
ClusterChannelProvisionerSpec

Spec defines the Types provisioned by this Provisioner.



generation
int64
(Optional)

TODO By enabling the status subresource metadata.generation should increment thus making this property obsolete.

We should be able to drop this property with a CRD conversion webhook in the future

status
ClusterChannelProvisionerStatus
(Optional)

Status is the current status of the Provisioner.

EventType

Field Description
apiVersion
string
eventing.knative.dev/v1alpha1
kind
string
EventType
metadata
Kubernetes meta/v1.ObjectMeta
(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
EventTypeSpec

Spec defines the desired state of the EventType.



type
string

Type represents the CloudEvents type. It is authoritative.

source
string

Source is a URI, it represents the CloudEvents source.

schema
string
(Optional)

Schema is a URI, it represents the CloudEvents schemaurl extension attribute. It may be a JSON schema, a protobuf schema, etc. It is optional.

broker
string

Broker refers to the Broker that can provide the EventType.

description
string
(Optional)

Description is an optional field used to describe the EventType, in any meaningful way.

status
EventTypeStatus
(Optional)

Status represents the current state of the EventType. This data may be out of date.

Subscription

Subscription routes events received on a Channel to a DNS name and corresponds to the subscriptions.channels.knative.dev CRD.

Field Description
apiVersion
string
eventing.knative.dev/v1alpha1
kind
string
Subscription
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
SubscriptionSpec


generation
int64
(Optional)

TODO By enabling the status subresource metadata.generation should increment thus making this property obsolete.

We should be able to drop this property with a CRD conversion webhook in the future

channel
Kubernetes core/v1.ObjectReference

Reference to a channel that will be used to create the subscription for receiving events. The channel must have spec.subscriptions list which will then be modified accordingly.

You can specify only the following fields of the ObjectReference: - Kind - APIVersion - Name Kind must be “Channel” and APIVersion must be “eventing.knative.dev/v1alpha1”

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.)

subscriber
SubscriberSpec
(Optional)

Subscriber is reference to (optional) function for processing events. Events from the Channel will be delivered here and replies are sent to a channel as specified by the Reply.

reply
ReplyStrategy
(Optional)

Reply specifies (optionally) how to handle events returned from the Subscriber target.

status
SubscriptionStatus

Trigger

Field Description
apiVersion
string
eventing.knative.dev/v1alpha1
kind
string
Trigger
metadata
Kubernetes meta/v1.ObjectMeta
(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
TriggerSpec

Spec defines the desired state of the Trigger.



broker
string

Broker is the broker that this trigger receives events from. If not specified, will default to ‘default’.

filter
TriggerFilter
(Optional)

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.

subscriber
SubscriberSpec

Subscriber is the addressable that receives events from the Broker that pass the Filter. It is required.

status
TriggerStatus
(Optional)

Status represents the current state of the Trigger. This data may be out of date.

BrokerSpec

(Appears on: Broker)

Field Description
channelTemplate
ChannelSpec
(Optional)

ChannelTemplate, if specified will be used to create all the Channels used internally by the Broker. Only Provisioner and Arguments may be specified. If left unspecified, the default Channel for the namespace will be used.

BrokerStatus

(Appears on: Broker)

BrokerStatus represents the current state of a Broker.

Field Description
Status
github.com/knative/pkg/apis/duck/v1alpha1.Status

(Members of Status are embedded into this type.)

inherits duck/v1alpha1 Status, which currently provides: * ObservedGeneration - the ‘Generation’ of the Service that was last processed by the controller. * Conditions - the latest available observations of a resource’s current state.

address
github.com/knative/pkg/apis/duck/v1alpha1.Addressable

Broker is Addressable. It currently exposes the endpoint as a fully-qualified DNS name which will distribute traffic over the provided targets from inside the cluster.

It generally has the form {broker}-router.{namespace}.svc.{cluster domain name}

ChannelProvisionerDefaulter

ChannelProvisionerDefaulter sets the default Provisioner and Arguments on Channels that do not specify any Provisioner.

ChannelSpec

(Appears on: Channel, BrokerSpec)

ChannelSpec specifies the Provisioner backing a channel and the configuration arguments for a Channel.

Field Description
generation
int64
(Optional)

TODO By enabling the status subresource metadata.generation should increment thus making this property obsolete.

We should be able to drop this property with a CRD conversion webhook in the future

provisioner
Kubernetes core/v1.ObjectReference

Provisioner defines the name of the Provisioner backing this channel.

arguments
k8s.io/apimachinery/pkg/runtime.RawExtension
(Optional)

Arguments defines the arguments to pass to the Provisioner which provisions this Channel.

subscribable
Subscribable

Channel conforms to Duck type Subscribable.

ChannelStatus

(Appears on: Channel)

ChannelStatus represents the current state of a Channel.

Field Description
Status
github.com/knative/pkg/apis/duck/v1alpha1.Status

(Members of Status are embedded into this type.)

inherits duck/v1alpha1 Status, which currently provides: * ObservedGeneration - the ‘Generation’ of the Service that was last processed by the controller. * Conditions - the latest available observations of a resource’s current state.

address
github.com/knative/pkg/apis/duck/v1alpha1.Addressable

Channel is Addressable. It currently exposes the endpoint as a fully-qualified DNS name which will distribute traffic over the provided targets from inside the cluster.

It generally has the form {channel}.{namespace}.svc.{cluster domain name}

internal
k8s.io/apimachinery/pkg/runtime.RawExtension
(Optional)

Internal is status unique to each ClusterChannelProvisioner.

ClusterChannelProvisionerSpec

(Appears on: ClusterChannelProvisioner)

ClusterChannelProvisionerSpec is the spec for a ClusterChannelProvisioner resource.

Field Description
generation
int64
(Optional)

TODO By enabling the status subresource metadata.generation should increment thus making this property obsolete.

We should be able to drop this property with a CRD conversion webhook in the future

ClusterChannelProvisionerStatus

(Appears on: ClusterChannelProvisioner)

ClusterChannelProvisionerStatus is the status for a ClusterChannelProvisioner resource

Field Description
conditions
github.com/knative/pkg/apis/duck/v1alpha1.Conditions
(Optional)

Conditions holds the state of a cluster provisioner at a point in time.

observedGeneration
int64
(Optional)

ObservedGeneration is the ‘Generation’ of the ClusterChannelProvisioner that was last reconciled by the controller.

EventTypeSpec

(Appears on: EventType)

Field Description
type
string

Type represents the CloudEvents type. It is authoritative.

source
string

Source is a URI, it represents the CloudEvents source.

schema
string
(Optional)

Schema is a URI, it represents the CloudEvents schemaurl extension attribute. It may be a JSON schema, a protobuf schema, etc. It is optional.

broker
string

Broker refers to the Broker that can provide the EventType.

description
string
(Optional)

Description is an optional field used to describe the EventType, in any meaningful way.

EventTypeStatus

(Appears on: EventType)

EventTypeStatus represents the current state of a EventType.

Field Description
Status
github.com/knative/pkg/apis/duck/v1alpha1.Status

(Members of Status are embedded into this type.)

inherits duck/v1alpha1 Status, which currently provides: * ObservedGeneration - the ‘Generation’ of the Service that was last processed by the controller. * Conditions - the latest available observations of a resource’s current state.

ReplyStrategy

(Appears on: SubscriptionSpec)

ReplyStrategy specifies the handling of the SubscriberSpec’s returned replies. If no SubscriberSpec is specified, the identity function is assumed.

Field Description
channel
Kubernetes core/v1.ObjectReference
(Optional)

This object must be a Channel.

You can specify only the following fields of the ObjectReference: - Kind - APIVersion - Name Kind must be “Channel” and APIVersion must be “eventing.knative.dev/v1alpha1”

SubscriberSpec

(Appears on: SubscriptionSpec, TriggerSpec)

SubscriberSpec specifies the reference to an object that’s expected to provide the resolved target of the action. Currently we inspect the objects Status and see if there’s a predefined Status field that we will then use to dispatch events to be processed by the target. Currently must resolve to a k8s service. Note that in the future we should try to utilize subresources (/resolve ?) to make this cleaner, but CRDs do not support subresources yet, so we need to rely on a specified Status field today. By relying on this behaviour we can utilize a dynamic client instead of having to understand all kinds of different types of objects. As long as they adhere to this particular contract, they can be used as a Target.

This ensures that we can support external targets and for ease of use we also allow for an URI to be specified. There of course is also a requirement for the resolved SubscriberSpec to behave properly at the data plane level. TODO: Add a pointer to a real spec for this. For now, this means: Receive an event payload, and respond with one of: success and an optional response event, or failure. Delivery failures may be retried by the channel

Field Description
ref
Kubernetes core/v1.ObjectReference
(Optional)

Reference to an object that will be used to find the target endpoint, which should implement the Addressable duck type. For example, this could be a reference to a Route resource or a Knative Service resource. TODO: Specify the required fields the target object must have in the status. You can specify only the following fields of the ObjectReference: - Kind - APIVersion - Name

dnsName
string
(Optional)

Deprecated: Use URI instead. Reference to a ‘known’ endpoint where no resolving is done. http://k8s-service for example http://myexternalhandler.example.com/foo/bar

uri
string
(Optional)

Reference to a ‘known’ endpoint where no resolving is done. http://k8s-service for example http://myexternalhandler.example.com/foo/bar

SubscriptionSpec

(Appears on: Subscription)

SubscriptionSpec 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

Field Description
generation
int64
(Optional)

TODO By enabling the status subresource metadata.generation should increment thus making this property obsolete.

We should be able to drop this property with a CRD conversion webhook in the future

channel
Kubernetes core/v1.ObjectReference

Reference to a channel that will be used to create the subscription for receiving events. The channel must have spec.subscriptions list which will then be modified accordingly.

You can specify only the following fields of the ObjectReference: - Kind - APIVersion - Name Kind must be “Channel” and APIVersion must be “eventing.knative.dev/v1alpha1”

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.)

subscriber
SubscriberSpec
(Optional)

Subscriber is reference to (optional) function for processing events. Events from the Channel will be delivered here and replies are sent to a channel as specified by the Reply.

reply
ReplyStrategy
(Optional)

Reply specifies (optionally) how to handle events returned from the Subscriber target.

SubscriptionStatus

(Appears on: Subscription)

SubscriptionStatus (computed) for a subscription

Field Description
Status
github.com/knative/pkg/apis/duck/v1alpha1.Status

(Members of Status are embedded into this type.)

inherits duck/v1alpha1 Status, which currently provides: * ObservedGeneration - the ‘Generation’ of the Service that was last processed by the controller. * Conditions - the latest available observations of a resource’s current state.

physicalSubscription
SubscriptionStatusPhysicalSubscription

PhysicalSubscription is the fully resolved values that this Subscription represents.

SubscriptionStatusPhysicalSubscription

(Appears on: SubscriptionStatus)

SubscriptionStatusPhysicalSubscription represents the fully resolved values for this Subscription.

Field Description
subscriberURI
string

SubscriberURI is the fully resolved URI for spec.subscriber.

replyURI
string

ReplyURI is the fully resolved URI for the spec.reply.

TriggerFilter

(Appears on: TriggerSpec)

Field Description
sourceAndType
TriggerFilterSourceAndType

TriggerFilterSourceAndType

(Appears on: TriggerFilter)

TriggerFilterSourceAndType filters events based on exact matches on the cloud event’s type and source attributes. Only exact matches will pass the filter. Either or both type and source can use the value ‘Any’ to indicate all strings match.

Field Description
type
string
source
string

TriggerSpec

(Appears on: Trigger)

Field Description
broker
string

Broker is the broker that this trigger receives events from. If not specified, will default to ‘default’.

filter
TriggerFilter
(Optional)

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.

subscriber
SubscriberSpec

Subscriber is the addressable that receives events from the Broker that pass the Filter. It is required.

TriggerStatus

(Appears on: Trigger)

TriggerStatus represents the current state of a Trigger.

Field Description
Status
github.com/knative/pkg/apis/duck/v1alpha1.Status

(Members of Status are embedded into this type.)

inherits duck/v1alpha1 Status, which currently provides: * ObservedGeneration - the ‘Generation’ of the Service that was last processed by the controller. * Conditions - the latest available observations of a resource’s current state.

subscriberURI
string

SubscriberURI is the resolved URI of the receiver for this Trigger.


sources.eventing.knative.dev

Package v1alpha1 contains API Schema definitions for the sources v1alpha1 API group

Resource Types:

ApiServerSource

ApiServerSource is the Schema for the apiserversources API

Field Description
apiVersion
string
sources.eventing.knative.dev/v1alpha1
kind
string
ApiServerSource
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
ApiServerSourceSpec


resources
[]ApiServerResource

Resources is the list of resources to watch

serviceAccountName
string
(Optional)

ServiceAccountName is the name of the ServiceAccount to use to run this source.

sink
Kubernetes core/v1.ObjectReference
(Optional)

Sink is a reference to an object that will resolve to a domain name to use as the sink.

mode
string

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.

status
ApiServerSourceStatus

ContainerSource

ContainerSource is the Schema for the containersources API

Field Description
apiVersion
string
sources.eventing.knative.dev/v1alpha1
kind
string
ContainerSource
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
ContainerSourceSpec


image
string

Image is the image to run inside of the container.

args
[]string

Args are passed to the ContainerSpec as they are.

env
[]Kubernetes core/v1.EnvVar
(Optional)

Env is the list of environment variables to set in the container. Cannot be updated.

serviceAccountName
string
(Optional)

ServiceAccountName is the name of the ServiceAccount to use to run this source.

sink
Kubernetes core/v1.ObjectReference
(Optional)

Sink is a reference to an object that will resolve to a domain name to use as the sink.

status
ContainerSourceStatus

CronJobSource

CronJobSource is the Schema for the cronjobsources API.

Field Description
apiVersion
string
sources.eventing.knative.dev/v1alpha1
kind
string
CronJobSource
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
CronJobSourceSpec


schedule
string

Schedule is the cronjob schedule.

data
string

Data is the data posted to the target function.

sink
Kubernetes core/v1.ObjectReference
(Optional)

Sink is a reference to an object that will resolve to a domain name to use as the sink.

serviceAccountName
string

ServiceAccoutName is the name of the ServiceAccount that will be used to run the Receive Adapter Deployment.

status
CronJobSourceStatus

ApiServerResource

(Appears on: ApiServerSourceSpec)

ApiServerResource defines the resource to watch

Field Description
apiVersion
string

API version of the resource to watch.

kind
string

Kind of the resource to watch. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

controller
bool

If true, send an event referencing the object controlling the resource

ApiServerSourceSpec

(Appears on: ApiServerSource)

ApiServerSourceSpec defines the desired state of ApiServerSource

Field Description
resources
[]ApiServerResource

Resources is the list of resources to watch

serviceAccountName
string
(Optional)

ServiceAccountName is the name of the ServiceAccount to use to run this source.

sink
Kubernetes core/v1.ObjectReference
(Optional)

Sink is a reference to an object that will resolve to a domain name to use as the sink.

mode
string

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.

ApiServerSourceStatus

(Appears on: ApiServerSource)

ApiServerSourceStatus defines the observed state of ApiServerSource

Field Description
Status
github.com/knative/pkg/apis/duck/v1alpha1.Status

(Members of Status are embedded into this type.)

inherits duck/v1alpha1 Status, which currently provides: * ObservedGeneration - the ‘Generation’ of the Service that was last processed by the controller. * Conditions - the latest available observations of a resource’s current state.

sinkUri
string
(Optional)

SinkURI is the current active sink URI that has been configured for the ApiServerSource.

ContainerSourceSpec

(Appears on: ContainerSource)

ContainerSourceSpec defines the desired state of ContainerSource

Field Description
image
string

Image is the image to run inside of the container.

args
[]string

Args are passed to the ContainerSpec as they are.

env
[]Kubernetes core/v1.EnvVar
(Optional)

Env is the list of environment variables to set in the container. Cannot be updated.

serviceAccountName
string
(Optional)

ServiceAccountName is the name of the ServiceAccount to use to run this source.

sink
Kubernetes core/v1.ObjectReference
(Optional)

Sink is a reference to an object that will resolve to a domain name to use as the sink.

ContainerSourceStatus

(Appears on: ContainerSource)

ContainerSourceStatus defines the observed state of ContainerSource

Field Description
Status
github.com/knative/pkg/apis/duck/v1alpha1.Status

(Members of Status are embedded into this type.)

inherits duck/v1alpha1 Status, which currently provides: * ObservedGeneration - the ‘Generation’ of the Service that was last processed by the controller. * Conditions - the latest available observations of a resource’s current state.

sinkUri
string
(Optional)

SinkURI is the current active sink URI that has been configured for the ContainerSource.

CronJobSourceSpec

(Appears on: CronJobSource)

CronJobSourceSpec defines the desired state of the CronJobSource.

Field Description
schedule
string

Schedule is the cronjob schedule.

data
string

Data is the data posted to the target function.

sink
Kubernetes core/v1.ObjectReference
(Optional)

Sink is a reference to an object that will resolve to a domain name to use as the sink.

serviceAccountName
string

ServiceAccoutName is the name of the ServiceAccount that will be used to run the Receive Adapter Deployment.

CronJobSourceStatus

(Appears on: CronJobSource)

CronJobSourceStatus defines the observed state of CronJobSource.

Field Description
Status
github.com/knative/pkg/apis/duck/v1alpha1.Status

(Members of Status are embedded into this type.)

inherits duck/v1alpha1 Status, which currently provides: * ObservedGeneration - the ‘Generation’ of the Service that was last processed by the controller. * Conditions - the latest available observations of a resource’s current state.

sinkUri
string
(Optional)

SinkURI is the current active sink URI that has been configured for the CronJobSource.


Generated with gen-crd-api-reference-docs on git commit d123d12f.