diff --git a/docs/reference/build.md b/docs/reference/build.md index 3ff16858780..6c6de68eb11 100644 --- a/docs/reference/build.md +++ b/docs/reference/build.md @@ -1353,5 +1353,5 @@ This will override any of the template’s steps environment variables.


Generated with gen-crd-api-reference-docs -on git commit 002a41a3. +on git commit 0ff65541.

diff --git a/docs/reference/eventing/eventing-contrib-api.md b/docs/reference/eventing/eventing-contrib-api.md new file mode 100644 index 00000000000..509e398ca2a --- /dev/null +++ b/docs/reference/eventing/eventing-contrib-api.md @@ -0,0 +1,9 @@ +--- +title: "Knative Eventing Contrib" +linkTitle: "Eventing-contrib API" +weight: 50 +type: "docs" +--- + + +The API content for the source implementations that integrate with Knative Eventing are located in the [Knative/eventing-contrib](https://github.com/knative/eventing-contrib/tree/release-0.7/contrib) repo. diff --git a/docs/reference/eventing/eventing-sources-api.md b/docs/reference/eventing/eventing-sources-api.md deleted file mode 100644 index 56a3c94c35a..00000000000 --- a/docs/reference/eventing/eventing-sources-api.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Knative Eventing Sources" -linkTitle: "Eventing-sources API" -weight: 50 -type: "docs" ---- - -{{% readfile file="eventing-sources.md" relative="true" %}} diff --git a/docs/reference/eventing/eventing-sources.md b/docs/reference/eventing/eventing-sources.md deleted file mode 100644 index c18e55b5a67..00000000000 --- a/docs/reference/eventing/eventing-sources.md +++ /dev/null @@ -1,429 +0,0 @@ -

Packages:

- -

sources.eventing.knative.dev

-

-

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

-

-Resource Types: - -

GitHubSource -

-

-

GitHubSource is the Schema for the githubsources API

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldDescription
-apiVersion
-string
- -sources.eventing.knative.dev/v1alpha1 - -
-kind
-string -
GitHubSource
-metadata
- - -Kubernetes meta/v1.ObjectMeta - - -
-Refer to the Kubernetes API documentation for the fields of the -metadata field. -
-spec
- - -GitHubSourceSpec - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-serviceAccountName
- -string - -
-(Optional) -

ServiceAccountName holds the name of the Kubernetes service account -as which the underlying K8s resources should be run. If unspecified -this will default to the “default” service account for the namespace -in which the GitHubSource exists.

-
-ownerAndRepository
- -string - -
-

OwnerAndRepository is the GitHub owner/org and repository to -receive events from. The repository may be left off to receive -events from an entire organization. -Examples: -myuser/project -myorganization

-
-eventTypes
- -[]string - -
-

EventType is the type of event to receive from GitHub. These -correspond to the “Webhook event name” values listed at -https://developer.github.com/v3/activity/events/types/ - ie -“pull_request”

-
-accessToken
- - -SecretValueFromSource - - -
-

AccessToken is the Kubernetes secret containing the GitHub -access token

-
-secretToken
- - -SecretValueFromSource - - -
-

SecretToken is the Kubernetes secret containing the GitHub -secret token

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

-
-githubAPIURL
- -string - -
-(Optional) -

API URL if using github enterprise (default https://api.github.com)

-
-secure
- -bool - -
-(Optional) -

Secure can be set to true to configure the webhook to use https.

-
-
-status
- - -GitHubSourceStatus - - -
-
-

GitHubSourceSpec -

-

-(Appears on: -GitHubSource) -

-

-

GitHubSourceSpec defines the desired state of GitHubSource

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldDescription
-serviceAccountName
- -string - -
-(Optional) -

ServiceAccountName holds the name of the Kubernetes service account -as which the underlying K8s resources should be run. If unspecified -this will default to the “default” service account for the namespace -in which the GitHubSource exists.

-
-ownerAndRepository
- -string - -
-

OwnerAndRepository is the GitHub owner/org and repository to -receive events from. The repository may be left off to receive -events from an entire organization. -Examples: -myuser/project -myorganization

-
-eventTypes
- -[]string - -
-

EventType is the type of event to receive from GitHub. These -correspond to the “Webhook event name” values listed at -https://developer.github.com/v3/activity/events/types/ - ie -“pull_request”

-
-accessToken
- - -SecretValueFromSource - - -
-

AccessToken is the Kubernetes secret containing the GitHub -access token

-
-secretToken
- - -SecretValueFromSource - - -
-

SecretToken is the Kubernetes secret containing the GitHub -secret token

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

-
-githubAPIURL
- -string - -
-(Optional) -

API URL if using github enterprise (default https://api.github.com)

-
-secure
- -bool - -
-(Optional) -

Secure can be set to true to configure the webhook to use https.

-
-

GitHubSourceStatus -

-

-(Appears on: -GitHubSource) -

-

-

GitHubSourceStatus defines the observed state of GitHubSource

-

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

-
-webhookIDKey
- -string - -
-

WebhookIDKey is the ID of the webhook registered with GitHub

-
-sinkUri
- -string - -
-(Optional) -

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

-
-

SecretValueFromSource -

-

-(Appears on: -GitHubSourceSpec) -

-

-

SecretValueFromSource represents the source of a secret value

-

- - - - - - - - - - - - - -
FieldDescription
-secretKeyRef
- - -Kubernetes core/v1.SecretKeySelector - - -
-

The Secret key to select from.

-
-
-

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

diff --git a/docs/reference/eventing/eventing.md b/docs/reference/eventing/eventing.md index 9c2a0197c68..ddd36d3a29d 100644 --- a/docs/reference/eventing/eventing.md +++ b/docs/reference/eventing/eventing.md @@ -7,6 +7,9 @@ eventing.knative.dev
  • +messaging.knative.dev +
  • +
  • sources.eventing.knative.dev
  • @@ -15,13 +18,17 @@

    Package v1alpha1 is the v1alpha1 version of the API.

    Resource Types: - -

    Channel + +

    Channelable

    -

    Channel is a skeleton type wrapping Subscribable in the manner we expect resource writers +

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

    +Channelable ObjectReferences and access their subscription and address data. This is not a real resource.

    @@ -33,6 +40,23 @@ Channel ObjectReferences and access the Subscription data. This is not a real r + + + + + + + + - -
    +apiVersion
    +string
    + +duck.knative.dev/v1alpha1 + +
    +kind
    +string +
    Channelable
    metadata
    @@ -49,57 +73,40 @@ Refer to the Kubernetes API documentation for the fields of the
    spec
    - -ChannelSpec + +ChannelableSpec
    -

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

    +

    Spec is the part where the Channelable fulfills the Subscribable contract.



    -subscribable
    +SubscribableTypeSpec
    - -Subscribable + +SubscribableTypeSpec
    +

    +(Members of SubscribableTypeSpec are embedded into this type.) +

    -

    ChannelSpec -

    -

    -(Appears on: -Channel) -

    -

    -

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

    -

    - - - - - - - - @@ -108,18 +115,12 @@ Subscribable
    FieldDescription
    -subscribable
    +status
    - -Subscribable + +ChannelableStatus
    -

    ChannelSubscriberSpec +

    SubscribableType

    -(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

    +

    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.

    @@ -131,64 +132,89 @@ At least one of SubscriberURI and ReplyURI must be present

    + + + + + + + + - +

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

    +
    +
    +
    -ref
    +apiVersion
    +string
    + +duck.knative.dev/v1alpha1 + +
    +kind
    +string +
    SubscribableType
    +metadata
    - -Kubernetes core/v1.ObjectReference + +Kubernetes meta/v1.ObjectMeta
    -(Optional) -

    Deprecated: use UID.

    +Refer to the Kubernetes API documentation for the fields of the +metadata field.
    -uid
    +spec
    -k8s.io/apimachinery/pkg/types.UID + +SubscribableTypeSpec +
    -(Optional) -

    UID is used to understand the origin of the subscriber.

    -
    + +
    -subscriberURI
    +subscribable
    -string + +Subscribable +
    -(Optional) +
    -replyURI
    +status
    -string + +SubscribableTypeStatus + -(Optional) +

    SubscribableTypeStatus is the part where SubscribableStatus object is +configured as to be compatible with Subscribable contract.

    -

    Subscribable +

    ChannelableSpec

    (Appears on: -ChannelSpec, -ChannelSpec) +Channelable)

    -

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

    +

    ChannelableSpec contains Spec of the Channelable object

    @@ -200,42 +226,29 @@ section of the resource.

    -subscribers
    +SubscribableTypeSpec
    - -[]ChannelSubscriberSpec + +SubscribableTypeSpec
    -

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

    +

    +(Members of SubscribableTypeSpec are embedded into this type.) +

    -
    -

    eventing.knative.dev

    +

    ChannelableStatus +

    -

    Package v1alpha1 is the v1alpha1 version of the API.

    +(Appears on: +Channelable)

    -Resource Types: - -

    Broker -

    +

    ChannelableStatus contains the Status of a Channelable object.

    @@ -247,92 +260,133 @@ Resource Types: - - - - + + +
    -apiVersion
    -string
    - -eventing.knative.dev/v1alpha1 - +Status
    + + +github.com/knative/pkg/apis/duck/v1beta1.Status + +
    -kind
    -string +

    +(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.

    Broker
    -metadata
    +AddressStatus
    - -Kubernetes meta/v1.ObjectMeta + +github.com/knative/pkg/apis/duck/v1alpha1.AddressStatus
    -(Optional) -Refer to the Kubernetes API documentation for the fields of the -metadata field. +

    +(Members of AddressStatus are embedded into this type.) +

    +

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

    -spec
    +SubscribableTypeStatus
    - -BrokerSpec + +SubscribableTypeStatus
    -

    Spec defines the desired state of the Broker.

    -
    -
    +

    +(Members of SubscribableTypeStatus are embedded into this type.) +

    +

    Subscribers is populated with the statuses of each of the Channelable’s subscribers.

    +
    +

    Subscribable +

    +

    +(Appears on: +ChannelSpec, +InMemoryChannelSpec, +SubscribableTypeSpec) +

    +

    +

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

    +

    + + + + + + + +
    FieldDescription
    -channelTemplate
    +subscribers
    - -ChannelSpec + +[]SubscriberSpec
    -(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.

    +

    This is the list of subscriptions for this subscribable.

    - +

    SubscribableStatus +

    +

    +(Appears on: +SubscribableTypeStatus) +

    +

    +

    SubscribableStatus is the schema for the subscribable’s status portion of the status +section of the resource.

    +

    + + + + + + +
    FieldDescription
    -status
    +subscribers
    - -BrokerStatus + +[]SubscriberStatus
    -(Optional) -

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

    +

    This is the list of subscription’s statuses for this channel.

    -

    Channel +

    SubscribableTypeSpec

    -

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

    +(Appears on: +SubscribableType, +ChannelableSpec) +

    +

    +

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

    @@ -344,129 +398,143 @@ deliver to Subscriptions.

    - - - - - - - + +
    -apiVersion
    -string
    - -eventing.knative.dev/v1alpha1 - +subscribable
    + + +Subscribable + +
    -kind
    -string
    Channel
    -metadata
    - - -Kubernetes meta/v1.ObjectMeta - - -
    -(Optional) -Refer to the Kubernetes API documentation for the fields of the -metadata field. -
    +

    SubscribableTypeStatus +

    +

    +(Appears on: +SubscribableType, +ChannelStatus, +ChannelableStatus, +InMemoryChannelStatus) +

    +

    +

    SubscribableTypeStatus shows how we expect folks to embed Subscribable in their Status field.

    +

    + + + + + + + + + +
    FieldDescription
    -spec
    +subscribablestatus
    - -ChannelSpec + +SubscribableStatus
    -

    Spec defines the desired state of the Channel.

    -
    -
    +
    +

    SubscriberSpec +

    +

    +(Appears on: +Subscribable) +

    +

    +

    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

    +

    + + + + + + + - -
    FieldDescription
    -generation
    +ref
    -int64 + +Kubernetes core/v1.ObjectReference +
    (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

    +

    Deprecated: use UID.

    -provisioner
    +uid
    - -Kubernetes core/v1.ObjectReference - +k8s.io/apimachinery/pkg/types.UID
    -

    Provisioner defines the name of the Provisioner backing this channel.

    +(Optional) +

    UID is used to understand the origin of the subscriber.

    -arguments
    +generation
    -k8s.io/apimachinery/pkg/runtime.RawExtension +int64
    (Optional) -

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

    +

    Generation of the origin of the subscriber with uid:UID.

    -subscribable
    +subscriberURI
    - -Subscribable - +string
    -

    Channel conforms to Duck type Subscribable.

    -
    +(Optional) -status
    +replyURI
    - -ChannelStatus - +string (Optional) -

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

    -

    ClusterChannelProvisioner +

    SubscriberStatus

    -

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

    +(Appears on: +SubscribableStatus) +

    +

    +

    SubscriberStatus defines the status of a single subscriber to a Channel.

    @@ -478,87 +546,83 @@ backing resources required to realize a particular resource type.

    - - - -
    -apiVersion
    -string
    - -eventing.knative.dev/v1alpha1 - +uid
    + +k8s.io/apimachinery/pkg/types.UID +
    -kind
    -string +(Optional) +

    UID is used to understand the origin of the subscriber.

    ClusterChannelProvisioner
    -metadata
    +observedGeneration
    - -Kubernetes meta/v1.ObjectMeta - +int64
    (Optional) -Refer to the Kubernetes API documentation for the fields of the -metadata field. +

    Generation of the origin of the subscriber with uid:UID.

    -spec
    +ready
    - -ClusterChannelProvisionerSpec + +Kubernetes core/v1.ConditionStatus
    -

    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 of the subscriber.

    -status
    +message
    - -ClusterChannelProvisionerStatus - +string
    (Optional) -

    Status is the current status of the Provisioner.

    +

    A human readable message indicating details of Ready status.

    -

    EventType +
    +

    eventing.knative.dev

    +

    +

    Package v1alpha1 is the v1alpha1 version of the API.

    +

    +Resource Types: + +

    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.

    @@ -583,7 +647,7 @@ eventing.knative.dev/v1alpha1 kind
    string - +
    EventTypeBroker
    @@ -604,72 +668,44 @@ Refer to the Kubernetes API documentation for the fields of the spec
    - -EventTypeSpec + +BrokerSpec
    -

    Spec defines the desired state of the EventType.

    +

    Spec defines the desired state of the Broker.



    - - - - - - - - - - - -
    -type
    - -string - -
    -

    Type represents the CloudEvents type. It is authoritative.

    -
    -source
    - -string - -
    -

    Source is a URI, it represents the CloudEvents source.

    -
    -schema
    +channelTemplate
    -string + +ChannelSpec +
    (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.

    +

    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 for the namespace will be used.

    -description
    +channelTemplateSpec
    -string + +ChannelTemplateSpec +
    -(Optional) -

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

    +

    ChannelTemplate specifies which Channel CRD to use to create all the Channels used internally by the +Broker.

    @@ -679,24 +715,25 @@ string
    status
    - -EventTypeStatus + +BrokerStatus
    (Optional) -

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

    +

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

    -

    Subscription +

    Channel

    -

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

    +

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

    @@ -721,7 +758,7 @@ eventing.knative.dev/v1alpha1 kind
    string - + @@ -741,12 +779,13 @@ Refer to the Kubernetes API documentation for the fields of the
    SubscriptionChannel
    @@ -733,6 +770,7 @@ Kubernetes meta/v1.ObjectMeta +(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field. spec
    - -SubscriptionSpec + +ChannelSpec
    +

    Spec defines the desired state of the Channel.



    @@ -767,7 +806,7 @@ in the future

    -channel
    +provisioner
    Kubernetes core/v1.ObjectReference @@ -775,53 +814,33 @@ 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.)

    +

    Provisioner defines the name of the Provisioner backing this channel.

    -subscriber
    +arguments
    - -SubscriberSpec - +k8s.io/apimachinery/pkg/runtime.RawExtension
    (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.

    +

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

    -reply
    +subscribable
    - -ReplyStrategy + +Subscribable
    -(Optional) -

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

    +

    Channel conforms to Duck type Subscribable.

    @@ -831,19 +850,24 @@ the Subscriber target.

    status
    - -SubscriptionStatus + +ChannelStatus
    +(Optional) +

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

    -

    Trigger +

    ClusterChannelProvisioner

    +

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

    @@ -868,7 +892,7 @@ eventing.knative.dev/v1alpha1 kind
    string - +
    TriggerClusterChannelProvisioner
    @@ -889,55 +913,29 @@ Refer to the Kubernetes API documentation for the fields of the spec
    - -TriggerSpec + +ClusterChannelProvisionerSpec
    -

    Spec defines the desired state of the Trigger.

    +

    Spec defines the Types provisioned by this Provisioner.



    - - - - - - - -
    -broker
    - -string - -
    -

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

    -
    -filter
    +generation
    - -TriggerFilter - +int64
    (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.

    +

    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

    @@ -947,26 +945,21 @@ is required.

    status
    - -TriggerStatus + +ClusterChannelProvisionerStatus
    (Optional) -

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

    +

    Status is the current status of the Provisioner.

    -

    BrokerSpec +

    EventType

    -(Appears on: -Broker) -

    -

    @@ -978,164 +971,1231 @@ date.

    +apiVersion
    +string - -
    -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.

    + +eventing.knative.dev/v1alpha1 +
    -

    BrokerStatus -

    -

    -(Appears on: -Broker) -

    -

    -

    BrokerStatus represents the current state of a Broker.

    -

    - - - - + + - -
    FieldDescription +kind
    +string +
    EventType
    -Status
    +metadata
    - -github.com/knative/pkg/apis/duck/v1alpha1.Status + +Kubernetes meta/v1.ObjectMeta
    -

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

    +(Optional) +Refer to the Kubernetes API documentation for the fields of the +metadata field.
    -address
    +spec
    - -github.com/knative/pkg/apis/duck/v1alpha1.Addressable + +EventTypeSpec
    -

    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}

    +

    Spec defines the desired state of the EventType.

    +
    +
    + + + + - -
    +type
    + +string + +
    +

    Type represents the CloudEvents type. It is authoritative.

    -

    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.

    -

    - - - - + + - - + +
    FieldDescription +source
    + +string + +
    +

    Source is a URI, it represents the CloudEvents source.

    +
    -generation
    +schema
    -int64 +string
    (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

    +

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

    -provisioner
    +broker
    - -Kubernetes core/v1.ObjectReference - +string
    -

    Provisioner defines the name of the Provisioner backing this channel.

    +

    Broker refers to the Broker that can provide the EventType.

    -arguments
    +description
    -k8s.io/apimachinery/pkg/runtime.RawExtension +string
    (Optional) -

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

    +

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

    +
    -subscribable
    +status
    - -Subscribable + +EventTypeStatus
    -

    Channel conforms to Duck type Subscribable.

    +(Optional) +

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

    -

    ChannelStatus +

    Subscription

    -(Appears on: -Channel) -

    +

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

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +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 + + +
    +

    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 +

    +

    +

    Trigger represents a request to have events delivered to a consumer from a +Broker’s event pool.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +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) +

    +

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +channelTemplate
    + + +ChannelSpec + + +
    +(Optional) +

    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 for the namespace will be used.

    +
    +channelTemplateSpec
    + + +ChannelTemplateSpec + + +
    +

    ChannelTemplate specifies which Channel CRD to use to create all the Channels used internally by the +Broker.

    +
    +

    BrokerStatus +

    +

    +(Appears on: +Broker) +

    +

    +

    BrokerStatus represents the current state of a Broker.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +Status
    + + +github.com/knative/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.

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

    +
    +triggerChannel
    + + +Kubernetes core/v1.ObjectReference + + +
    +

    TriggerChannel is an objectref to the object for the TriggerChannel

    +
    +IngressChannel
    + + +Kubernetes core/v1.ObjectReference + + +
    +

    IngressChannel is an objectref to the object for the IngressChannel

    +
    +

    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.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +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.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +Status
    + + +github.com/knative/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.

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

    +
    +SubscribableTypeStatus
    + + +SubscribableTypeStatus + + +
    +

    +(Members of SubscribableTypeStatus are embedded into this type.) +

    +
    +

    ChannelTemplateSpec +

    +

    +(Appears on: +BrokerSpec) +

    +

    +

    This should be duck so that Broker can also use this

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +spec
    + +k8s.io/apimachinery/pkg/runtime.RawExtension + +
    +(Optional) +

    Spec defines the Spec to use for each channel created. Passed +in verbatim to the Channel CRD as Spec section.

    +
    +
    + + + + + + + + + +
    +Raw
    + +[]byte + +
    +

    Raw is the underlying serialization of this object.

    +

    TODO: Determine how to detect ContentType and ContentEncoding of ‘Raw’ data.

    +
    +-
    + +k8s.io/apimachinery/pkg/runtime.Object + +
    +

    Object can hold a representation of this extension - useful for working with versioned +structs.

    +
    +
    +

    ChannelTemplateSpecInternal +

    +

    +

    Internal version of ChannelTemplateSpec that includes ObjectMeta so that +we can easily create new Channels off of it.

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +metadata
    + + +Kubernetes meta/v1.ObjectMeta + + +
    +(Optional) +Refer to the Kubernetes API documentation for the fields of the +metadata field. +
    +spec
    + +k8s.io/apimachinery/pkg/runtime.RawExtension + +
    +(Optional) +

    Spec defines the Spec to use for each channel created. Passed +in verbatim to the Channel CRD as Spec section.

    +
    +
    + + + + + + + + + +
    +Raw
    + +[]byte + +
    +

    Raw is the underlying serialization of this object.

    +

    TODO: Determine how to detect ContentType and ContentEncoding of ‘Raw’ data.

    +
    +-
    + +k8s.io/apimachinery/pkg/runtime.Object + +
    +

    Object can hold a representation of this extension - useful for working with versioned +structs.

    +
    +
    +

    ClusterChannelProvisionerSpec +

    +

    +(Appears on: +ClusterChannelProvisioner) +

    +

    +

    ClusterChannelProvisionerSpec is the spec for a ClusterChannelProvisioner resource.

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +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

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +Status
    + + +github.com/knative/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.

    +
    +

    EventTypeSpec +

    +

    +(Appears on: +EventType) +

    +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +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.

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +Status
    + + +github.com/knative/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.

    +
    +

    HasSpec +

    +

    +

    +

    ReplyStrategy +

    +

    +(Appears on: +SubscriptionSpec) +

    +

    +

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

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +channel
    + + +Kubernetes core/v1.ObjectReference + + +
    +(Optional) +

    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 +

    +

    +(Appears on: +SequenceSpec, +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

    +

    + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +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

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +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 + + +
    +

    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 +

    -

    ChannelStatus represents the current state of a Channel.

    +(Appears on: +Subscription) +

    +

    +

    SubscriptionStatus (computed) for a subscription

    @@ -1149,8 +2209,8 @@ Subscribable @@ -1158,49 +2218,75 @@ github.com/knative/pkg/apis/duck/v1alpha1.Status

    (Members of Status are embedded into this type.)

    -

    inherits duck/v1alpha1 Status, which currently provides: +

    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.

    + +
    Status
    - -github.com/knative/pkg/apis/duck/v1alpha1.Status + +github.com/knative/pkg/apis/duck/v1beta1.Status
    -address
    +physicalSubscription
    - -github.com/knative/pkg/apis/duck/v1alpha1.Addressable + +SubscriptionStatusPhysicalSubscription
    -

    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}

    +

    PhysicalSubscription is the fully resolved values that this Subscription represents.

    +

    SubscriptionStatusPhysicalSubscription +

    +

    +(Appears on: +SubscriptionStatus) +

    +

    +

    SubscriptionStatusPhysicalSubscription represents the fully resolved values for this +Subscription.

    +

    + + + + + + + + + + + +
    FieldDescription
    -internal
    +subscriberURI
    -k8s.io/apimachinery/pkg/runtime.RawExtension +string
    -(Optional) -

    Internal is status unique to each ClusterChannelProvisioner.

    +

    SubscriberURI is the fully resolved URI for spec.subscriber.

    +
    +replyURI
    + +string + +
    +

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

    -

    ClusterChannelProvisionerSpec +

    TriggerFilter

    (Appears on: -ClusterChannelProvisioner) +TriggerSpec)

    -

    ClusterChannelProvisionerSpec is the spec for a ClusterChannelProvisioner resource.

    @@ -1212,29 +2298,66 @@ k8s.io/apimachinery/pkg/runtime.RawExtension
    -generation
    +sourceAndType
    -int64 + +TriggerFilterSourceAndType +
    -(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 +

    TriggerFilterSourceAndType

    (Appears on: -ClusterChannelProvisioner) +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.

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +type
    + +string + +
    +
    +source
    + +string + +
    +
    +

    TriggerSpec +

    +

    +(Appears on: +Trigger)

    -

    ClusterChannelProvisionerStatus is the status for a ClusterChannelProvisioner resource

    @@ -1246,40 +2369,55 @@ in the future

    + + + +
    -conditions
    +broker
    + +string + +
    +

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

    +
    +filter
    - -github.com/knative/pkg/apis/duck/v1alpha1.Conditions + +TriggerFilter
    (Optional) -

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

    +

    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.

    -observedGeneration
    +subscriber
    -int64 + +SubscriberSpec +
    -(Optional) -

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

    +

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

    -

    EventTypeSpec +

    TriggerStatus

    (Appears on: -EventType) +Trigger)

    +

    TriggerStatus represents the current state of a Trigger.

    @@ -1291,72 +2429,177 @@ was last reconciled by the controller.

    + + +
    -type
    +Status
    -string + +github.com/knative/pkg/apis/duck/v1beta1.Status +
    -

    Type represents the CloudEvents type. It is authoritative.

    +

    +(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.

    -source
    +subscriberURI
    string
    -

    Source is a URI, it represents the CloudEvents source.

    +

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

    +
    +
    +

    messaging.knative.dev

    +

    +

    Package v1alpha1 is the v1alpha1 version of the API.

    +

    +Resource Types: + +

    InMemoryChannel +

    +

    +

    InMemoryChannel is a resource representing an in memory channel

    +

    + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +apiVersion
    +string
    + +messaging.knative.dev/v1alpha1 +
    -schema
    - +kind
    string +
    InMemoryChannel
    +metadata
    + + +Kubernetes meta/v1.ObjectMeta +
    (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.

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

    Spec defines the desired state of the Channel.

    +
    +
    + + + + + +
    +subscribable
    + + +Subscribable + + +
    +

    Channel conforms to Duck type Subscribable.

    +
    -broker
    +status
    -string + +InMemoryChannelStatus +
    -

    Broker refers to the Broker that can provide the EventType.

    +(Optional) +

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

    +

    ChannelTemplateSpec +

    +

    +(Appears on: +SequenceSpec) +

    +

    +

    This should be duck so that Broker can also use this

    +

    + + + + + + + +
    FieldDescription
    -description
    +spec
    -string +k8s.io/apimachinery/pkg/runtime.RawExtension
    (Optional) -

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

    +

    Spec defines the Spec to use for each channel created. Passed +in verbatim to the Channel CRD as Spec section.

    +
    +
    + +
    -

    EventTypeStatus +

    ChannelTemplateSpecInternal

    -(Appears on: -EventType) -

    -

    -

    EventTypeStatus represents the current state of a EventType.

    +

    Internal version of ChannelTemplateSpec that includes ObjectMeta so that +we can easily create new Channels off of it.

    @@ -1368,33 +2611,48 @@ string + + + +
    -Status
    +metadata
    - -github.com/knative/pkg/apis/duck/v1alpha1.Status + +Kubernetes meta/v1.ObjectMeta
    -

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

    +(Optional) +Refer to the Kubernetes API documentation for the fields of the +metadata field. +
    +spec
    + +k8s.io/apimachinery/pkg/runtime.RawExtension + +
    +(Optional) +

    Spec defines the Spec to use for each channel created. Passed +in verbatim to the Channel CRD as Spec section.

    +
    +
    + +
    -

    ReplyStrategy +

    InMemoryChannelSpec

    (Appears on: -SubscriptionSpec) +InMemoryChannel)

    -

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

    +

    InMemoryChannelSpec defines which subscribers have expressed interest in +receiving events from this InMemoryChannel. +arguments for a Channel.

    @@ -1406,53 +2664,27 @@ If no SubscriberSpec is specified, the identity function is assumed.

    -channel
    +subscribable
    - -Kubernetes core/v1.ObjectReference + +Subscribable
    -(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”

    +

    Channel conforms to Duck type Subscribable.

    -

    SubscriberSpec +

    InMemoryChannelStatus

    (Appears on: -SubscriptionSpec, -TriggerSpec) +InMemoryChannel)

    -

    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

    +

    ChannelStatus represents the current state of a Channel.

    @@ -1464,77 +2696,64 @@ Delivery failures may be retried by the channel

    -ref
    +Status
    - -Kubernetes core/v1.ObjectReference + +github.com/knative/pkg/apis/duck/v1beta1.Status
    -(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

    +

    +(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.

    -dnsName
    +AddressStatus
    -string + +github.com/knative/pkg/apis/duck/v1alpha1.AddressStatus +
    -(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

    +

    +(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}

    -uri
    +SubscribableTypeStatus
    -string + +SubscribableTypeStatus +
    -(Optional) -

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

    +

    +(Members of SubscribableTypeStatus are embedded into this type.) +

    +

    Subscribers is populated with the statuses of each of the Channelable’s subscribers.

    -

    SubscriptionSpec +

    Sequence

    -(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

    +

    Sequence defines a sequence of Subscribers that will be wired in +series through Channels and Subscriptions.

    @@ -1546,139 +2765,108 @@ channel –> reply

    - +

    Spec defines the desired state of the Sequence.

    +
    +
    +
    -generation
    +metadata
    -int64 + +Kubernetes meta/v1.ObjectMeta +
    (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

    +Refer to the Kubernetes API documentation for the fields of the +metadata field.
    -channel
    +spec
    - -Kubernetes core/v1.ObjectReference + +SequenceSpec
    -

    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
    +steps
    -SubscriberSpec +[]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.

    +

    Steps is the list of Subscribers (processors / functions) that will be called in the order +provided.

    -reply
    +channelTemplate
    - -ReplyStrategy + +ChannelTemplateSpec
    -(Optional) -

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

    +

    ChannelTemplate specifies which Channel CRD to use

    -

    SubscriptionStatus -

    -

    -(Appears on: -Subscription) -

    -

    -

    SubscriptionStatus (computed) for a subscription

    -

    - - - - - - - - + +
    FieldDescription
    -Status
    +reply
    - -github.com/knative/pkg/apis/duck/v1alpha1.Status + +Kubernetes core/v1.ObjectReference
    -

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

    +(Optional) +

    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.

    +
    -physicalSubscription
    +status
    - -SubscriptionStatusPhysicalSubscription + +SequenceStatus -

    PhysicalSubscription is the fully resolved values that this Subscription represents.

    +(Optional) +

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

    -

    SubscriptionStatusPhysicalSubscription +

    SequenceChannelStatus

    (Appears on: -SubscriptionStatus) +SequenceStatus)

    -

    SubscriptionStatusPhysicalSubscription represents the fully resolved values for this -Subscription.

    @@ -1690,33 +2878,35 @@ Subscription.

    -subscriberURI
    +channel
    -string + +Kubernetes core/v1.ObjectReference +
    -

    SubscriberURI is the fully resolved URI for spec.subscriber.

    +

    Channel is the reference to the underlying channel.

    -replyURI
    +ready
    -string +github.com/knative/pkg/apis.Condition
    -

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

    +

    ReadyCondition indicates whether the Channel is ready or not.

    -

    TriggerFilter +

    SequenceSpec

    (Appears on: -TriggerSpec) +Sequence)

    @@ -1730,66 +2920,62 @@ string -sourceAndType
    +steps
    - -TriggerFilterSourceAndType + +[]SubscriberSpec +

    Steps is the list of Subscribers (processors / functions) that will be called in the order +provided.

    - - -

    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.

    -

    - - - - - - - -
    FieldDescription
    -type
    +channelTemplate
    -string + +ChannelTemplateSpec +
    +

    ChannelTemplate specifies which Channel CRD to use

    -source
    +reply
    -string + +Kubernetes core/v1.ObjectReference +
    +(Optional) +

    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.

    -

    TriggerSpec +

    SequenceStatus

    (Appears on: -Trigger) +Sequence)

    +

    SequenceStatus represents the current state of a Sequence.

    @@ -1801,55 +2987,77 @@ string + + + +
    -broker
    +Status
    -string + +github.com/knative/pkg/apis/duck/v1beta1.Status +
    -

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

    +

    +(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.

    -filter
    +SubscriptionStatuses
    - -TriggerFilter + +[]SequenceSubscriptionStatus
    -(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.

    +

    SubscriptionStatuses is an array of corresponding Subscription statuses. +Matches the Spec.Steps array in the order.

    -subscriber
    +ChannelStatuses
    - -SubscriberSpec + +[]SequenceChannelStatus
    -

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

    +

    ChannelStatuses is an array of corresponding Channel statuses. +Matches the Spec.Steps array in the order.

    +
    +AddressStatus
    + + +github.com/knative/pkg/apis/duck/v1alpha1.AddressStatus + + +
    +

    +(Members of AddressStatus are embedded into this type.) +

    +

    AddressStatus is the starting point to this Sequence. Sending to this +will target the first subscriber. +It generally has the form {channel}.{namespace}.svc.{cluster domain name}

    -

    TriggerStatus +

    SequenceSubscriptionStatus

    (Appears on: -Trigger) +SequenceStatus)

    -

    TriggerStatus represents the current state of a Trigger.

    @@ -1861,31 +3069,26 @@ is required.

    @@ -2089,13 +3292,29 @@ ContainerSourceSpec
    -Status
    +subscription
    - -github.com/knative/pkg/apis/duck/v1alpha1.Status + +Kubernetes core/v1.ObjectReference
    -

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

    +

    Subscription is the reference to the underlying Subscription.

    -subscriberURI
    +ready
    -string +github.com/knative/pkg/apis.Condition
    -

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

    +

    ReadyCondition indicates whether the Subscription is ready or not.

    + + + + @@ -2106,7 +3325,9 @@ string @@ -2120,8 +3341,10 @@ string @@ -2133,8 +3356,10 @@ string @@ -2273,6 +3498,19 @@ string Adapter Deployment.

    + + + +
    +template
    + + +Kubernetes core/v1.PodTemplateSpec + + +
    +(Optional) +

    Template describes the pods that will be created

    +
    image
    string
    -

    Image is the image to run inside of the container.

    +

    DeprecatedImage is the image to run inside of the container. +This field is to be deprecated. Use Template instead. +When Template is set, this field is ignored.

    -

    Args are passed to the ContainerSpec as they are.

    +

    DeprecatedArgs are passed to the ContainerSpec as they are. +This field is to be deprecated. Use Template instead. +When Template is set, this field is ignored.

    (Optional) -

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

    +

    DeprecatedEnv is the list of environment variables to set in the container. +Cannot be updated. +This field is to be deprecated. Use Template instead. +When Template is set, this field is ignored.

    (Optional) -

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

    +

    DeprecatedServiceAccountName is the name of the ServiceAccount to use to run this +source. +This field is to be deprecated. Use Template instead. +When Template is set, this field is ignored.

    +resources
    + + +CronJobResourceSpec + + +
    +

    Resource limits and Request specifications of the Receive Adapter Deployment

    +
    @@ -2436,8 +3674,8 @@ string Status
    - -github.com/knative/pkg/apis/duck/v1alpha1.Status + +github.com/knative/pkg/apis/duck/v1beta1.Status @@ -2445,7 +3683,7 @@ github.com/knative/pkg/apis/duck/v1alpha1.Status

    (Members of Status are embedded into this type.)

    -

    inherits duck/v1alpha1 Status, which currently provides: +

    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.

    @@ -2483,13 +3721,29 @@ string +template
    + + +Kubernetes core/v1.PodTemplateSpec + + + + +(Optional) +

    Template describes the pods that will be created

    + + + + image
    string -

    Image is the image to run inside of the container.

    +

    DeprecatedImage is the image to run inside of the container. +This field is to be deprecated. Use Template instead. +When Template is set, this field is ignored.

    @@ -2500,7 +3754,9 @@ string -

    Args are passed to the ContainerSpec as they are.

    +

    DeprecatedArgs are passed to the ContainerSpec as they are. +This field is to be deprecated. Use Template instead. +When Template is set, this field is ignored.

    @@ -2514,8 +3770,10 @@ string (Optional) -

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

    +

    DeprecatedEnv is the list of environment variables to set in the container. +Cannot be updated. +This field is to be deprecated. Use Template instead. +When Template is set, this field is ignored.

    @@ -2527,8 +3785,10 @@ string (Optional) -

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

    +

    DeprecatedServiceAccountName is the name of the ServiceAccount to use to run this +source. +This field is to be deprecated. Use Template instead. +When Template is set, this field is ignored.

    @@ -2568,8 +3828,8 @@ Kubernetes core/v1.ObjectReference Status
    - -github.com/knative/pkg/apis/duck/v1alpha1.Status + +github.com/knative/pkg/apis/duck/v1beta1.Status @@ -2577,7 +3837,7 @@ github.com/knative/pkg/apis/duck/v1alpha1.Status

    (Members of Status are embedded into this type.)

    -

    inherits duck/v1alpha1 Status, which currently provides: +

    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.

    @@ -2596,6 +3856,124 @@ string +

    CronJobLimitsSpec +

    +

    +(Appears on: +CronJobResourceSpec) +

    +

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +cpu
    + +string + +
    +
    +memory
    + +string + +
    +
    +

    CronJobRequestsSpec +

    +

    +(Appears on: +CronJobResourceSpec) +

    +

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +cpu
    + +string + +
    +
    +memory
    + +string + +
    +
    +

    CronJobResourceSpec +

    +

    +(Appears on: +CronJobSourceSpec) +

    +

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +requests
    + + +CronJobRequestsSpec + + +
    +
    +limits
    + + +CronJobLimitsSpec + + +
    +

    CronJobSourceSpec

    @@ -2661,6 +4039,19 @@ string Adapter Deployment.

    + + +resources
    + + +CronJobResourceSpec + + + + +

    Resource limits and Request specifications of the Receive Adapter Deployment

    + +

    CronJobSourceStatus @@ -2684,8 +4075,8 @@ Adapter Deployment.

    Status
    - -github.com/knative/pkg/apis/duck/v1alpha1.Status + +github.com/knative/pkg/apis/duck/v1beta1.Status @@ -2693,7 +4084,7 @@ github.com/knative/pkg/apis/duck/v1alpha1.Status

    (Members of Status are embedded into this type.)

    -

    inherits duck/v1alpha1 Status, which currently provides: +

    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.

    @@ -2715,5 +4106,5 @@ string

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

    diff --git a/docs/reference/serving.md b/docs/reference/serving.md index 6618aeb9352..9d0828dd457 100644 --- a/docs/reference/serving.md +++ b/docs/reference/serving.md @@ -332,6 +332,18 @@ string The service is created and owned by the ServerlessService object owned by this PA.

    + + +metricsServiceName
    + +string + + + +

    MetricsServiceName is the K8s Service name that provides revision metrics. +The service is managed by the PA object.

    + +

    PodScalable @@ -523,6 +535,8 @@ Resource Types:
  • ClusterIngress
  • +Ingress +
  • ServerlessService
  • Certificate @@ -720,8 +734,156 @@ not be used - use metadata.generation

    tls
    - -[]ClusterIngressTLS + +[]IngressTLS + + + + +(Optional) +

    TLS configuration. Currently ClusterIngress only supports a single TLS +port: 443. If multiple members of this list specify different hosts, they +will be multiplexed on the same port according to the hostname specified +through the SNI TLS extension, if the ingress controller fulfilling the +ingress supports SNI.

    + + + + +rules
    + + +[]IngressRule + + + + +(Optional) +

    A list of host rules used to configure the Ingress.

    + + + + +visibility
    + + +IngressVisibility + + + + +

    Visibility setting.

    + + + + + + + +status
    + + +IngressStatus + + + + +(Optional) +

    Status is the current state of the ClusterIngress. +More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status

    + + + + +

    Ingress +

    +

    +

    Ingress is a collection of rules that allow inbound connections to reach the endpoints defined +by a backend. An Ingress can be configured to give services externally-reachable URLs, load +balance traffic, offer name based virtual hosting, etc.

    +

    This is heavily based on K8s Ingress https://godoc.org/k8s.io/api/extensions/v1beta1#Ingress +which some highlighted modifications.

    +

    + + + + + + + + + + + + + + + + + + + + + + + @@ -4327,85 +4512,6 @@ Configuration. It might not be ready yet, for that use LatestReadyRevisionName.<
    FieldDescription
    +apiVersion
    +string
    + +networking.internal.knative.dev/v1alpha1 + +
    +kind
    +string +
    Ingress
    +metadata
    + + +Kubernetes meta/v1.ObjectMeta + + +
    +(Optional) +

    Standard object’s metadata. +More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata

    +Refer to the Kubernetes API documentation for the fields of the +metadata field. +
    +spec
    + + +IngressSpec + + +
    +(Optional) +

    Spec is the desired state of the Ingress. +More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status

    +
    +
    + + + + + + + @@ -738,14 +900,14 @@ ingress supports SNI.

    @@ -999,16 +1161,31 @@ Kubernetes meta/v1.Time by this resource in spec.secretName.

    + + + +
    +generation
    + +int64 + +
    +(Optional) +

    DeprecatedGeneration was used prior in Kubernetes versions <1.11 +when metadata.generation was not being incremented by the api server

    +

    This property will be dropped in future Knative releases and should +not be used - use metadata.generation

    +

    Tracking issue: https://github.com/knative/serving/issues/643

    +
    +tls
    + + +[]IngressTLS
    rules
    - -[]ClusterIngressRule + +[]IngressRule
    (Optional) -

    A list of host rules used to configure the ClusterIngress.

    +

    A list of host rules used to configure the Ingress.

    +http01Challenges
    + + +[]HTTP01Challenge + + +
    +

    HTTP01Challenges is a list of HTTP01 challenges that need to be fulfilled +in order to get the TLS certificate..

    +
    -

    ClusterIngressBackend +

    HTTP01Challenge

    (Appears on: -ClusterIngressBackendSplit) +CertificateStatus)

    -

    ClusterIngressBackend describes all endpoints for a given service and port.

    +

    HTTP01Challenge defines the status of a HTTP01 challenge that a certificate needs +to fulfill.

    @@ -1020,14 +1197,13 @@ by this resource in spec.secretName.

    @@ -1038,7 +1214,18 @@ string + + + + @@ -1049,19 +1236,20 @@ k8s.io/apimachinery/pkg/util/intstr.IntOrString
    -serviceNamespace
    +url
    -string +github.com/knative/pkg/apis.URL
    -

    Specifies the namespace of the referenced service.

    -

    NOTE: This differs from K8s Ingress to allow routing to different namespaces.

    +

    URL is the URL that the HTTP01 challenge is expected to serve on.

    -

    Specifies the name of the referenced service.

    +

    ServiceName is the name of the service to serve HTTP01 challenge requests.

    +
    +serviceNamespace
    + +string + +
    +

    ServiceNamespace is the namespace of the service to serve HTTP01 challenge requests.

    -

    Specifies the port of the referenced service.

    +

    ServicePort is the port of the service to serve HTTP01 challenge requests.

    -

    ClusterIngressBackendSplit +

    HTTPIngressPath

    (Appears on: -HTTPClusterIngressPath) +HTTPIngressRuleValue)

    -

    ClusterIngressBackendSplit describes all endpoints for a given service and port.

    +

    HTTPIngressPath associates a path regex with a backend. Incoming URLs matching +the path are forwarded to the backend.

    @@ -1073,31 +1261,34 @@ k8s.io/apimachinery/pkg/util/intstr.IntOrString @@ -1114,74 +1305,50 @@ before forwarding a request to the destination service.

    NOTE: This differs from K8s Ingress which doesn’t allow header appending.

    - -
    -ClusterIngressBackend
    +path
    - -ClusterIngressBackend - +string
    -

    -(Members of ClusterIngressBackend are embedded into this type.) -

    -

    Specifies the backend receiving the traffic split.

    +(Optional) +

    Path is an extended POSIX regex as defined by IEEE Std 1003.1, +(i.e this follows the egrep/unix syntax, not the perl syntax) +matched against the path of an incoming request. Currently it can +contain characters disallowed from the conventional “path” +part of a URL as defined by RFC 3986. Paths must begin with +a ‘/’. If unspecified, the path defaults to a catch all sending +traffic to the backend.

    -percent
    +splits
    -int + +[]IngressBackendSplit +
    -

    Specifies the split percentage, a number between 0 and 100. If -only one split is specified, we default to 100.

    -

    NOTE: This differs from K8s Ingress to allow percentage split.

    +

    Splits defines the referenced service endpoints to which the traffic +will be forwarded to.

    -

    ClusterIngressRule -

    -

    -(Appears on: -IngressSpec) -

    -

    -

    ClusterIngressRule represents the rules mapping the paths under a specified host to -the related backend services. Incoming requests are first evaluated for a host -match, then routed to the backend associated with the matching ClusterIngressRuleValue.

    -

    - - - - - - - -
    FieldDescription
    -hosts
    +timeout
    -[]string + +Kubernetes meta/v1.Duration +
    (Optional) -

    Host is the fully qualified domain name of a network host, as defined -by RFC 3986. Note the following deviations from the “host” part of the -URI as defined in the RFC: -1. IPs are not allowed. Currently a rule value can only apply to the -IP in the Spec of the parent ClusterIngress. -2. The : delimiter is not respected because ports are not allowed. -Currently the port of an ClusterIngress is implicitly :80 for http and -:443 for https. -Both these may change in the future. -If the host is unspecified, the ClusterIngress routes all traffic based on the -specified ClusterIngressRuleValue. -If multiple matching Hosts were provided, the first rule will take precedent.

    +

    Timeout for HTTP requests.

    +

    NOTE: This differs from K8s Ingress which doesn’t allow setting timeouts.

    -http
    +retries
    - -HTTPClusterIngressRuleValue + +HTTPRetry
    -

    HTTP represents a rule to apply against incoming requests. If the -rule is satisfied, the request is routed to the specified backend.

    +(Optional) +

    Retry policy for HTTP requests.

    +

    NOTE: This differs from K8s Ingress which doesn’t allow retry settings.

    -

    ClusterIngressTLS +

    HTTPIngressRuleValue

    (Appears on: -IngressSpec) +IngressRule)

    -

    ClusterIngressTLS describes the transport layer security associated with an ClusterIngress.

    +

    HTTPIngressRuleValue is a list of http selectors pointing to backends. +In the example: http:///? -> backend where +where parts of the url correspond to RFC 3986, this resource will be used +to match against everything after the last ‘/’ and before the first ‘?’ +or ‘#’.

    @@ -1193,78 +1360,71 @@ rule is satisfied, the request is routed to the specified backend.

    - - - - + +
    -hosts
    - -[]string - -
    -(Optional) -

    Hosts is a list of hosts included in the TLS certificate. The values in -this list must match the name/s used in the tlsSecret. Defaults to the -wildcard host setting for the loadbalancer controller fulfilling this -ClusterIngress, if left unspecified.

    -
    -secretName
    +paths
    -string + +[]HTTPIngressPath +
    -

    SecretName is the name of the secret used to terminate SSL traffic.

    +

    A collection of paths that map requests to backends.

    +

    If they are multiple matching paths, the first match takes precendent.

    +

    HTTPRetry +

    +

    +(Appears on: +HTTPIngressPath) +

    +

    +

    HTTPRetry describes the retry policy to use when a HTTP request fails.

    +

    + + - - + + + +
    -secretNamespace
    - -string - -
    -

    SecretNamespace is the namespace of the secret used to terminate SSL traffic.

    -
    FieldDescription
    -serverCertificate
    +attempts
    -string +int
    -(Optional) -

    ServerCertificate identifies the certificate filename in the secret. -Defaults to tls.crt.

    +

    Number of retries for a given request.

    -privateKey
    +perTryTimeout
    -string + +Kubernetes meta/v1.Duration +
    -(Optional) -

    PrivateKey identifies the private key filename in the secret. -Defaults to tls.key.

    +

    Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

    -

    HTTPClusterIngressPath +

    IngressBackend

    (Appears on: -HTTPClusterIngressRuleValue) +IngressBackendSplit)

    -

    HTTPClusterIngressPath associates a path regex with a backend. Incoming URLs matching -the path are forwarded to the backend.

    +

    IngressBackend describes all endpoints for a given service and port.

    @@ -1276,94 +1436,48 @@ the path are forwarded to the backend.

    - - - - - - - -
    -path
    +serviceNamespace
    string
    -(Optional) -

    Path is an extended POSIX regex as defined by IEEE Std 1003.1, -(i.e this follows the egrep/unix syntax, not the perl syntax) -matched against the path of an incoming request. Currently it can -contain characters disallowed from the conventional “path” -part of a URL as defined by RFC 3986. Paths must begin with -a ‘/’. If unspecified, the path defaults to a catch all sending -traffic to the backend.

    -
    -splits
    - - -[]ClusterIngressBackendSplit - - -
    -

    Splits defines the referenced service endpoints to which the traffic -will be forwarded to.

    -
    -appendHeaders
    - -map[string]string - -
    -(Optional) -

    AppendHeaders allow specifying additional HTTP headers to add -before forwarding a request to the destination service.

    -

    NOTE: This differs from K8s Ingress which doesn’t allow header appending.

    +

    Specifies the namespace of the referenced service.

    +

    NOTE: This differs from K8s Ingress to allow routing to different namespaces.

    -timeout
    +serviceName
    - -Kubernetes meta/v1.Duration - +string
    -(Optional) -

    Timeout for HTTP requests.

    -

    NOTE: This differs from K8s Ingress which doesn’t allow setting timeouts.

    +

    Specifies the name of the referenced service.

    -retries
    +servicePort
    - -HTTPRetry - +k8s.io/apimachinery/pkg/util/intstr.IntOrString
    -(Optional) -

    Retry policy for HTTP requests.

    -

    NOTE: This differs from K8s Ingress which doesn’t allow retry settings.

    +

    Specifies the port of the referenced service.

    -

    HTTPClusterIngressRuleValue +

    IngressBackendSplit

    -(Appears on: -ClusterIngressRule) -

    -

    -

    HTTPClusterIngressRuleValue is a list of http selectors pointing to backends. -In the example: http:///? -> backend where -where parts of the url correspond to RFC 3986, this resource will be used -to match against everything after the last ‘/’ and before the first ‘?’ -or ‘#’.

    +(Appears on: +HTTPIngressPath) +

    +

    +

    IngressBackendSplit describes all endpoints for a given service and port.

    @@ -1375,28 +1489,59 @@ or ‘#’.

    + + + + + + + +
    -paths
    +IngressBackend
    - -[]HTTPClusterIngressPath + +IngressBackend
    -

    A collection of paths that map requests to backends.

    -

    If they are multiple matching paths, the first match takes precendent.

    +

    +(Members of IngressBackend are embedded into this type.) +

    +

    Specifies the backend receiving the traffic split.

    +
    +percent
    + +int + +
    +

    Specifies the split percentage, a number between 0 and 100. If +only one split is specified, we default to 100.

    +

    NOTE: This differs from K8s Ingress to allow percentage split.

    +
    +appendHeaders
    + +map[string]string + +
    +(Optional) +

    AppendHeaders allow specifying additional HTTP headers to add +before forwarding a request to the destination service.

    +

    NOTE: This differs from K8s Ingress which doesn’t allow header appending.

    -

    HTTPRetry +

    IngressRule

    (Appears on: -HTTPClusterIngressPath) +IngressSpec)

    -

    HTTPRetry describes the retry policy to use when a HTTP request fails.

    +

    IngressRule represents the rules mapping the paths under a specified host to +the related backend services. Incoming requests are first evaluated for a host +match, then routed to the backend associated with the matching IngressRuleValue.

    @@ -1408,26 +1553,39 @@ or ‘#’.

    @@ -1436,10 +1594,11 @@ Kubernetes meta/v1.Duration

    (Appears on: -ClusterIngress) +ClusterIngress, +Ingress)

    -

    IngressSpec describes the ClusterIngress the user wishes to exist.

    +

    IngressSpec describes the Ingress the user wishes to exist.

    In general this follows the same shape as K8s Ingress. Some notable differences: - Backends now can have namespace: @@ -1475,8 +1634,8 @@ not be used - use metadata.generation

    @@ -1493,14 +1652,14 @@ ingress supports SNI.

    @@ -1522,10 +1681,11 @@ IngressVisibility

    (Appears on: -ClusterIngress) +ClusterIngress, +Ingress)

    -

    IngressStatus describe the current state of the ClusterIngress.

    +

    IngressStatus describe the current state of the Ingress.

    -attempts
    +hosts
    -int +[]string
    -

    Number of retries for a given request.

    +(Optional) +

    Host is the fully qualified domain name of a network host, as defined +by RFC 3986. Note the following deviations from the “host” part of the +URI as defined in the RFC: +1. IPs are not allowed. Currently a rule value can only apply to the +IP in the Spec of the parent ClusterIngress. +2. The : delimiter is not respected because ports are not allowed. +Currently the port of an ClusterIngress is implicitly :80 for http and +:443 for https. +Both these may change in the future. +If the host is unspecified, the ClusterIngress routes all traffic based on the +specified IngressRuleValue. +If multiple matching Hosts were provided, the first rule will take precedent.

    -perTryTimeout
    +http
    - -Kubernetes meta/v1.Duration + +HTTPIngressRuleValue
    -

    Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

    +

    HTTP represents a rule to apply against incoming requests. If the +rule is satisfied, the request is routed to the specified backend.

    tls
    - -[]ClusterIngressTLS + +[]IngressTLS
    rules
    - -[]ClusterIngressRule + +[]IngressRule
    (Optional) -

    A list of host rules used to configure the ClusterIngress.

    +

    A list of host rules used to configure the Ingress.

    @@ -1566,6 +1726,88 @@ LoadBalancerStatus
    +

    IngressTLS +

    +

    +(Appears on: +IngressSpec) +

    +

    +

    IngressTLS describes the transport layer security associated with an Ingress.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +hosts
    + +[]string + +
    +(Optional) +

    Hosts is a list of hosts included in the TLS certificate. The values in +this list must match the name/s used in the tlsSecret. Defaults to the +wildcard host setting for the loadbalancer controller fulfilling this +ClusterIngress, if left unspecified.

    +
    +secretName
    + +string + +
    +

    SecretName is the name of the secret used to terminate SSL traffic.

    +
    +secretNamespace
    + +string + +
    +

    SecretNamespace is the namespace of the secret used to terminate SSL traffic.

    +
    +serverCertificate
    + +string + +
    +(Optional) +

    ServerCertificate identifies the certificate filename in the secret. +Defaults to tls.crt.

    +
    +privateKey
    + +string + +
    +(Optional) +

    PrivateKey identifies the private key filename in the secret. +Defaults to tls.key.

    +

    IngressVisibility (string alias)

    @@ -1583,7 +1825,7 @@ public gateways or not.

    LoadBalancerStatus)

    -

    LoadBalancerIngress represents the status of a load-balancer ingress point: +

    LoadBalancerIngressStatus represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.

    @@ -1909,9 +2151,7 @@ not be used - use metadata.generation

    build
    - -RawExtension - +k8s.io/apimachinery/pkg/runtime.RawExtension
    @@ -2556,9 +2796,7 @@ not be used - use metadata.generation

    build
    - -RawExtension - +k8s.io/apimachinery/pkg/runtime.RawExtension
    @@ -2766,59 +3004,6 @@ ConfigurationSpec
    -

    RawExtension -

    -

    -(Appears on: -ConfigurationSpec) -

    -

    -

    RawExtension is modeled after runtime.RawExtension, and should be -replaced with it (or an alias) once we can stop supporting embedded -BuildSpecs.

    -

    - - - - - - - - - - - - - - - - - - - - - -
    FieldDescription
    -Raw
    - -[]byte - -
    -

    Field order is the precedence for JSON marshaling if multiple -fields are set.

    -
    -Object
    - -k8s.io/apimachinery/pkg/runtime.Object - -
    -
    -BuildSpec
    - -github.com/knative/build/pkg/apis/build/v1alpha1.BuildSpec - -
    -

    ReleaseType

    @@ -3917,8 +4102,8 @@ RevisionSpec

    PodSpec
    - -PodSpec + +Kubernetes core/v1.PodSpec
    -

    PodSpec -

    -

    -(Appears on: -RevisionSpec) -

    -

    -

    PodSpec is our standing for corev1.PodSpec. -TODO(mattmoor): We cannot inline PodSpec until 0.7 when the containers -field it introduces has been available for a release because this -definition doesn’t “omitempty” the containers field, which means that -0.6 clients would send containers: null, which 0.5 webhooks will -reject. Once we ship a webhook that will parse the null properly, we -can switch to the PodSpec definition.

    -

    - - - - - - - - - - - - - - - - - - - - - -
    FieldDescription
    -serviceAccountName
    - -string - -
    -(Optional) -

    ServiceAccountName holds the name of the Kubernetes service account -as which the underlying K8s resources should be run. If unspecified -this will default to the “default” service account for the namespace -in which the Revision exists. -This may be used to provide access to private container images by -following: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account -TODO(ZhiminXiang): verify the corresponding service account exists.

    -
    -containers
    - - -[]Kubernetes core/v1.Container - - -
    -(Optional) -

    Containers holds the single container that defines the unit of -execution for this Revision. -In the context of a Revision, we disallow a number of the fields of -this Container, including: name and lifecycle. -See also the runtime contract for more information about the execution -environment: -https://github.com/knative/serving/blob/master/docs/runtime-contract.md

    -
    -volumes
    - - -[]Kubernetes core/v1.Volume - - -
    -(Optional) -

    Volumes defines a set of Kubernetes volumes to be mounted into the -specified Container. Currently only ConfigMap and Secret volumes are -supported.

    -

    RevisionContainerConcurrencyType (int64 alias)

    @@ -4440,8 +4546,8 @@ in-flight (concurrent) requests.

    PodSpec
    - -PodSpec + +Kubernetes core/v1.PodSpec @@ -4541,6 +4647,22 @@ string based on the revision url template specified in the controller’s config.

    + + +imageDigest
    + +string + + + +(Optional) +

    ImageDigest holds the resolved digest for the image specified +within .Spec.Container.Image. The digest is resolved during the creation +of Revision. This field holds the digest value regardless of whether +a tag or digest was originally specified in the Container object. It +may be empty if the image comes from a registry listed to skip resolution.

    + +

    RevisionTemplateSpec @@ -4594,8 +4716,8 @@ RevisionSpec PodSpec
    - -PodSpec + +Kubernetes core/v1.PodSpec @@ -5028,5 +5150,5 @@ a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)<

    Generated with gen-crd-api-reference-docs -on git commit 0800b94f. +on git commit cb5c1810.