Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove v1alpha1 channelable #5005

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 3 additions & 38 deletions docs/spec/channel.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@ Each instantiated Channel (ie, Custom Object) SHOULD have an annotation
indicating which version of the `Channelable` duck type it conforms to. We
currently have these versions:

1. [v1alpha1](https://github.com/knative/eventing/blob/master/pkg/apis/duck/v1alpha1/channelable_types.go)
1. [v1beta1](https://github.com/knative/eventing/blob/master/pkg/apis/duck/v1beta1/channelable_types.go)
1. [v1](https://github.com/knative/eventing/blob/master/pkg/apis/duck/v1/channelable_types.go)

Expand All @@ -173,11 +172,6 @@ if no annotation is given, we assume it's `v1alpha1`.

#### Spec Requirements

##### v1alpha1 Spec

Each channel CRD MUST contain an array of subscribers:
[`spec.subscribable.subscribers`](https://github.com/knative/eventing/blob/master/pkg/apis/duck/v1alpha1/subscribable_types.go)

##### v1beta1 Spec

Each channel CRD MUST contain an array of subscribers:
Expand Down Expand Up @@ -208,21 +202,6 @@ that particular Subscription.

#### Status Requirements

##### v1alpha1 Status

Each channel CRD MUST have a `status` subresource which contains

- [`address`](https://github.com/knative/pkg/blob/master/apis/duck/v1alpha1/addressable_types.go)
- [`subscribableStatus.subscribers`](https://github.com/knative/eventing/blob/master/pkg/apis/duck/v1alpha1/subscribable_types.go)
(as an array)

Each channel CRD SHOULD have the following fields in `Status`

- [`observedGeneration`](https://github.com/knative/pkg/blob/master/apis/duck/v1/status_types.go)
MUST be populated if present
- [`conditions`](https://github.com/knative/pkg/blob/master/apis/duck/v1/status_types.go)
(as an array) SHOULD indicate status transitions and error reasons if present

##### v1beta1 Status

Each channel CRD MUST have a `status` subresource which contains
Expand Down Expand Up @@ -255,12 +234,6 @@ Each channel CRD SHOULD have the following fields in `Status`

#### Channel Status

##### v1alpha1

When the channel instance is ready to receive events `status.address.hostname`
and `status.address.url` MUST be populated and `status.addressable` MUST be set
to `True`.

##### v1beta1

When the channel instance is ready to receive events `status.address.url` MUST
Expand All @@ -273,13 +246,6 @@ be populated and `status.addressable` MUST be set to `True`.

#### Channel Subscriber Status

##### v1alpha1

Each subscription to a channel is added to the channel
`status.subscribableStatus.subscribers` automatically. The `ready` field of the
subscriber identified by its `uid` MUST be set to `True` when the subscription
is ready to be processed.

##### v1beta1

Each subscription to a channel is added to the channel `status.subscribers`
Expand Down Expand Up @@ -362,10 +328,8 @@ _Structured Content Mode_ of the HTTP Protocol Binding for CloudEvents, although
dispatching events using _Binary Content Mode_ is RECOMMENDED.

Channels MUST send events to all subscribers which are marked with a status of
`ready: "True"` in the channel's `status.subscribableStatus.subscribers`
(v1alpha1) or `status.subscribers` (v1beta1). The events must be sent to the
`subscriberURI` field of `spec.subscribable.subscribers` (v1alpha1) or
`spec.subscribers` (v1beta1). Each channel implementation will have its own
`ready: "True"` in the channel's `status.subscribers` (v1beta1 / v1). The events must be sent to the
`subscriberURI` field of `spec.subscribers` (v1beta1 / v1). Each channel implementation will have its own
quality of service guarantees (e.g. at least once, at most once, etc) which
SHOULD be documented.

Expand Down Expand Up @@ -418,3 +382,4 @@ following attributes:
promoted from `v1alpha1`to `v1beta1`. Add requirement for labeling Custom
Objects to indicate which duck type they support as well as document
differences.
- `0.22.x release`: Drop support for v1alpha1 channelable.
4 changes: 2 additions & 2 deletions hack/update-codegen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,15 @@ ${GOPATH}/bin/deepcopy-gen \
# Only deepcopy the Duck types, as they are not real resources.
${CODEGEN_PKG}/generate-groups.sh "deepcopy" \
knative.dev/eventing/pkg/client knative.dev/eventing/pkg/apis \
"duck:v1alpha1 duck:v1beta1 duck:v1" \
"duck:v1beta1 duck:v1" \
--go-header-file ${REPO_ROOT_DIR}/hack/boilerplate/boilerplate.go.txt

group "Knative Codegen"

# Knative Injection
${KNATIVE_CODEGEN_PKG}/hack/generate-knative.sh "injection" \
knative.dev/eventing/pkg/client knative.dev/eventing/pkg/apis \
"eventing:v1beta1 eventing:v1 messaging:v1beta1 messaging:v1 flows:v1beta1 flows:v1 sources:v1alpha1 sources:v1alpha2 sources:v1beta1 sources:v1beta2 sources:v1 duck:v1alpha1 duck:v1beta1 duck:v1 configs:v1alpha1" \
"eventing:v1beta1 eventing:v1 messaging:v1beta1 messaging:v1 flows:v1beta1 flows:v1 sources:v1alpha1 sources:v1alpha2 sources:v1beta1 sources:v1beta2 sources:v1 duck:v1beta1 duck:v1 configs:v1alpha1" \
--go-header-file ${REPO_ROOT_DIR}/hack/boilerplate/boilerplate.go.txt

group "Update deps post-codegen"
Expand Down
187 changes: 0 additions & 187 deletions pkg/apis/duck/v1alpha1/channelable_combined_types.go

This file was deleted.

Loading