ChannelTemplate specifies which Channel CRD to use to create the CRD Channel backing this Channel.
This is immutable after creation. Normally this is set by the Channel defaulter, not directly by the user.

ChannelTemplate specifies which Channel CRD to use to create the CRD Channel backing this Channel.
This is immutable after creation. Normally this is set by the Channel defaulter, not directly by the user.

ChannelStatus

inherits duck/v1beta1 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.

AddressStatus
knative.dev/pkg/apis/duck/v1alpha1.AddressStatus

(Members of AddressStatus are embedded into this type.)

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}

Reply is a Reference to where the result of a case Subscriber gets sent to
when the case does not have a Reply

You can specify only the following fields of the ObjectReference:
- Kind
- APIVersion
- Name

The resource pointed by this ObjectReference must meet the Addressable contract
with a reference to the Addressable duck type. If the resource does not meet this contract,
it will be reflected in the Subscription’s status.

Reply is a Reference to where the result of Subscriber of this case gets sent to.
If not specified, sent the result to the Choice Reply

You can specify only the following fields of the ObjectReference:
- Kind
- APIVersion
- Name

The resource pointed by this ObjectReference must meet the Addressable contract
with a reference to the Addressable duck type. If the resource does not meet this contract,
it will be reflected in the Subscription’s status.

Reply is a Reference to where the result of a case Subscriber gets sent to
when the case does not have a Reply

You can specify only the following fields of the ObjectReference:
- Kind
- APIVersion
- Name

The resource pointed by this ObjectReference must meet the Addressable contract
with a reference to the Addressable duck type. If the resource does not meet this contract,
it will be reflected in the Subscription’s status.

ChoiceStatus

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.

InMemoryChannelStatus

inherits duck/v1beta1 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.

AddressStatus
knative.dev/pkg/apis/duck/v1alpha1.AddressStatus

(Members of AddressStatus are embedded into this type.)

InMemoryChannel 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}

Reply is a Reference to where the result of the last Subscriber gets sent to.

You can specify only the following fields of the ObjectReference:
- Kind
- APIVersion
- Name

The resource pointed by this ObjectReference must meet the Addressable contract
with a reference to the Addressable duck type. If the resource does not meet this contract,
it will be reflected in the Subscription’s status.

Reply is a Reference to where the result of the last Subscriber gets sent to.

You can specify only the following fields of the ObjectReference:
- Kind
- APIVersion
- Name

The resource pointed by this ObjectReference must meet the Addressable contract
with a reference to the Addressable duck type. If the resource does not meet this contract,
it will be reflected in the Subscription’s status.

SequenceStatus

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.

inherits duck/v1beta1 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.

inherits duck/v1beta1 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.

inherits duck/v1beta1 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.

duck.knative.dev/v1alpha1

Channelable

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

Refer to the Kubernetes API documentation for the fields of the
metadata field.

SubscribableType

SubscribableType 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
SubscribableType ObjectReferences and access the Subscription data. This is not a real resource.

ChannelableStatus

inherits duck/v1beta1 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.

AddressStatus
knative.dev/pkg/apis/duck/v1alpha1.AddressStatus

(Members of AddressStatus are embedded into this type.)

AddressStatus is the part where the Channelable fulfills the Addressable contract.

SubscriberSpec

SubscriberSpec defines a single subscriber to a Subscribable.
Ref is a reference to the Subscription this SubscriberSpec 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

eventing.knative.dev/v1alpha1

Broker

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. Receivers use Triggers to
request delivery of events from a Broker’s pool to a specific URL or
Addressable endpoint.

DeprecatedChannelTemplate, 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 CRD for the namespace will be used using the channelTemplateSpec attribute.

ChannelTemplate specifies which Channel CRD to use to create all the Channels used internally by the
Broker. If left unspecified, it is set to the default Channel CRD for the namespace (or cluster, in case there
are no defaults for the namespace).

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

BrokerSpec

DeprecatedChannelTemplate, 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 CRD for the namespace will be used using the channelTemplateSpec attribute.

ChannelTemplate specifies which Channel CRD to use to create all the Channels used internally by the
Broker. If left unspecified, it is set to the default Channel CRD for the namespace (or cluster, in case there
are no defaults for the namespace).

BrokerStatus

inherits duck/v1beta1 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
knative.dev/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}

ChannelStatus

inherits duck/v1beta1 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
knative.dev/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}

ClusterChannelProvisionerStatus

ClusterChannelProvisionerStatus is the status for a ClusterChannelProvisioner resource

Field

Description

Status
knative.dev/pkg/apis/duck/v1beta1.Status

(Members of Status are embedded into this type.)

inherits duck/v1beta1 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.

EventTypeStatus

inherits duck/v1beta1 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.

You can specify only the following fields of the ObjectReference:
- Kind
- APIVersion
- Name
The resource pointed by this ObjectReference must meet the Addressable contract
with a reference to the Addressable duck type. If the resource does not meet this contract,
it will be reflected in the Subscription’s status.

SubscriberSpec

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

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

SubscriptionSpec

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.

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

SubscriptionStatus

inherits duck/v1beta1 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.

Attributes filters events by exact match on event context attributes.
Each key in the map is compared with the equivalent key in the event
context. An event passes the filter if all values are equal to the
specified values.

Nested context attributes are not supported as keys. Only string values are supported.

TriggerFilterSourceAndType

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 “ to indicate all strings match.

TriggerStatus

inherits duck/v1beta1 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.