Repository: knative-sandbox/eventing-kafka-broker
Pull request #719 (2021-03-10 09:11:17)

[main] Upgrade to latest dependencies
Cron. -knative-prow-robot

/cc knative-sandbox/channel-wg-leads
/assign knative-sandbox/channel-wg-leads

Produced via:
```shell
./hack/update-deps.sh --upgrade --release v0.22
./hack/update-codegen.sh
```

Details:
```
bumping knative.dev/reconciler-test 5f01af2...c40b4dd:
  > c40b4dd add InNamespace option for pre-existing namespace tests (# 126)
  > ce74245 upgrade to latest dependencies (# 125)
  > 2521dad upgrade to latest dependencies (# 120)
  > b3826dd More refactoring for the execution (# 119)
  > 034045b Update common github actions (# 117)
  > f19a008 Fix milestone events for new execution phases (# 116)
  > b46a371 Adding milestone events to reconciler test framework. (# 109)
  > 298399b Added Assert shortcut (# 114)
  > 4e085df Serialize stepfn execution (# 112)
  > 0186396 Fix Github actions (# 115)
  > 714eb9c upgrade to latest dependencies (# 113)
  > cdad89d Add response wait time (# 110)
  > 35eb5a3 Automatic feature name (# 111)
  > 4115949 upgrade to latest dependencies (# 108)
  > c687b5f enable saving config between steps in a single feature (# 103)
  > 327614d adding known downstreams for reconciler-test (# 107)
bumping knative.dev/eventing dbf1859...9be1470:
  > 9be1470 Update common github actions (# 5053)
  > 4c5b31b upgrade to latest dependencies (# 5045)
  > ec309b1 bash v4 is required (# 5044)
  > ce0bec7 swap lberk / slinkydeveloper (# 5048)
  > 879407f smoke test more variants of pingsource (# 5042)
  > 0e2557b Update common github actions (# 5034)
  > 2fb1dd9 upgrade to latest dependencies (# 5035)
  > 2164ff0 Format markdown (# 5037)
  > 5b2912a fix # 4986 remove pingsource adapter (# 5002)
  > 37e7027 Drop master references to knative repos (# 5036)
  > 32fc262 adding ping source smoke test (# 5033)
  > a4840f1 only build linux/amd64 (# 5032)
  > 65e14cf add UT for subscription delete/create failures (# 5031)
  > 8937481 break apart rekt tests from e2e tests (# 5025)
  > 149ebe6 Run kind actions on main branch as well (# 5024)
  > abd6f98 upgrade to latest dependencies (# 5022)
  > 6136d09 rename mtbroker dirs / package to just broker (# 5021)
  > e8bc8ed Change more internal usages of v1beta1 to v1 (# 5020)
  > 536e0aa sugar uses v1 versions of broker / trigger (# 5019)
  > f736471 Format markdown (# 5014)
  > 15c4916 upgrade to latest dependencies (# 5006)
  > 9d73c4d remove v1alpha.configmappropagations (# 5018)
  > 554c1cc Delete unused params in IMC controller reconciler (# 5015)
  > db81746 fix # 4994 use trigger's namespace only when subscriber's namespace is nil (# 4995)
bumping knative.dev/pkg 8fbab7e...c326b70:
  > c326b70 Add RunAndSyncInformers helper that makes sure informers are synced in tests (# 2055)
  > 9eeb66f Update common github actions (# 2056)
  > bbe0bb3 Implement getter machinery to generically fetch all injected clients (# 2054)
  > 85bc723 Add benchmark for metrics recording (# 2052)
  > cc278e1 upgrade to latest dependencies (# 2053)
  > 0f8d8de Update common github actions (# 2051)
  > 185e333 Run downstream action on master branch too (# 2049)
  > 737401c upgrade to latest dependencies (# 2047)
  > 7f753ea Slash off 5s from TestAdmissionValidResponseForResource (# 2046)
  > 1002883 Add kn-plugin-admin to downstream tests (# 1983)
  > 04fdbd7 Add WaitForCacheSyncQuick and use it in tests (# 2045)
bumping knative.dev/hack 8368e1f...9b73a25:
  > 9b73a25 Drop unnecessary occurrences of master (# 53)
  > f99a255 Schema tool for reflective schema generation. (# 51)
```

slinkydeveloper: /retest
knative-prow-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative-sandbox/eventing-kafka-broker/pull/719#pullrequestreview-608641263" title="Approved">pierDipi</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=knative-sandbox%2Feventing-kafka-broker).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/knative-sandbox/eventing-kafka-broker/blob/main/OWNERS)~~ [pierDipi]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
pierDipi: /hold waiting for gh actions
codecov[bot]: # [Codecov](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719?src=pr&el=h1) Report
> Merging [#719](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719?src=pr&el=desc) (c2ff81b) into [main](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/commit/9a222c5ae7b9d123bea602df24753f6f74bce946?el=desc) (9a222c5) will **increase** coverage by `3.66%`.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/graphs/tree.svg?width=650&height=150&src=pr&token=xyPIgGOiwy)](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##               main     #719      +/-   ##
============================================
+ Coverage     76.65%   80.31%   +3.66%     
+ Complexity      440      439       -1     
============================================
  Files            77       49      -28     
  Lines          2908     1666    -1242     
  Branches        133      133              
============================================
- Hits           2229     1338     -891     
+ Misses          528      256     -272     
+ Partials        151       72      -79     
```

| Flag | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| java-unittests | `80.31% <ø> (-0.07%)` | `0.00 <ø> (ø)` | |

Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags#carryforward-flags-in-the-pull-request-comment) to find out more.

| [Impacted Files](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...dispatcher/consumer/impl/OrderedOffsetManager.java](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-ZGF0YS1wbGFuZS9kaXNwYXRjaGVyL3NyYy9tYWluL2phdmEvZGV2L2tuYXRpdmUvZXZlbnRpbmcva2Fma2EvYnJva2VyL2Rpc3BhdGNoZXIvY29uc3VtZXIvaW1wbC9PcmRlcmVkT2Zmc2V0TWFuYWdlci5qYXZh) | `86.20% <0.00%> (-13.80%)` | `10.00% <0.00%> (-1.00%)` | |
| [...dispatcher/consumer/impl/BaseConsumerVerticle.java](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-ZGF0YS1wbGFuZS9kaXNwYXRjaGVyL3NyYy9tYWluL2phdmEvZGV2L2tuYXRpdmUvZXZlbnRpbmcva2Fma2EvYnJva2VyL2Rpc3BhdGNoZXIvY29uc3VtZXIvaW1wbC9CYXNlQ29uc3VtZXJWZXJ0aWNsZS5qYXZh) | `90.00% <0.00%> (-3.34%)` | `8.00% <0.00%> (-1.00%)` | |
| [control-plane/pkg/core/config/resource.go](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-Y29udHJvbC1wbGFuZS9wa2cvY29yZS9jb25maWcvcmVzb3VyY2UuZ28=) | | | |
| [control-plane/pkg/security/config.go](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-Y29udHJvbC1wbGFuZS9wa2cvc2VjdXJpdHkvY29uZmlnLmdv) | | | |
| [control-plane/pkg/reconciler/kafka/broker\_class.go](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-Y29udHJvbC1wbGFuZS9wa2cvcmVjb25jaWxlci9rYWZrYS9icm9rZXJfY2xhc3MuZ28=) | | | |
| [...kg/apis/eventing/v1alpha1/kafka\_sink\_validation.go](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-Y29udHJvbC1wbGFuZS9wa2cvYXBpcy9ldmVudGluZy92MWFscGhhMS9rYWZrYV9zaW5rX3ZhbGlkYXRpb24uZ28=) | | | |
| [...ane/pkg/apis/eventing/v1alpha1/kafka\_sink\_types.go](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-Y29udHJvbC1wbGFuZS9wa2cvYXBpcy9ldmVudGluZy92MWFscGhhMS9rYWZrYV9zaW5rX3R5cGVzLmdv) | | | |
| [...lane/pkg/reconciler/base/receiver\_condition\_set.go](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-Y29udHJvbC1wbGFuZS9wa2cvcmVjb25jaWxlci9iYXNlL3JlY2VpdmVyX2NvbmRpdGlvbl9zZXQuZ28=) | | | |
| [control-plane/pkg/receiver/path.go](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-Y29udHJvbC1wbGFuZS9wa2cvcmVjZWl2ZXIvcGF0aC5nbw==) | | | |
| [.../pkg/apis/eventing/v1alpha1/kafka\_sink\_defaults.go](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree#diff-Y29udHJvbC1wbGFuZS9wa2cvYXBpcy9ldmVudGluZy92MWFscGhhMS9rYWZrYV9zaW5rX2RlZmF1bHRzLmdv) | | | |
| ... and [21 more](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719?src=pr&el=footer). Last update [9a222c5...c2ff81b](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/719?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

knative-prow-robot: New changes are detected. LGTM label has been removed.
knative-prow-robot: [APPROVALNOTIFIER] This PR is **NOT APPROVED**

This pull-request has been approved by:
To complete the [pull request process](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process), please assign **pierdipi** after the PR has been reviewed.
You can assign the PR to them by writing `/assign @pierdipi` in a comment when ready.

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=knative-sandbox%2Feventing-kafka-broker).

<details open>
Needs approval from an approver in each of these files:

- **[OWNERS](https://github.com/knative-sandbox/eventing-kafka-broker/blob/main/OWNERS)**

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":["pierdipi"]} -->
knative-prow-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative-sandbox/eventing-kafka-broker/pull/719#pullrequestreview-610132315" title="Approved">pierDipi</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=knative-sandbox%2Feventing-kafka-broker).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/knative-sandbox/eventing-kafka-broker/blob/main/OWNERS)~~ [pierDipi]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->

Patch:
diff --git a/.github/workflows/knative-style.yaml b/.github/workflows/knative-style.yaml
index 877f48501..c5770a4b0 100644
--- a/.github/workflows/knative-style.yaml
+++ b/.github/workflows/knative-style.yaml
@@ -147,7 +147,7 @@ jobs:
           git check-attr --stdin linguist-generated | grep -Ev ': (set|true)$' | cut -d: -f1 |
           git check-attr --stdin linguist-vendored | grep -Ev ': (set|true)$' | cut -d: -f1 |
           grep -Ev '^(vendor/|third_party/|.git)' |
-          xargs misspell -error |
+          xargs misspell -i importas -error |
           reviewdog -efm="%f:%l:%c: %m" \
                 -name="github.com/client9/misspell" \
                 -reporter="github-pr-check" \
diff --git a/control-plane/pkg/client/injection/client/client.go b/control-plane/pkg/client/injection/client/client.go
index a92dd4d5f..a3b8cf9eb 100644
--- a/control-plane/pkg/client/injection/client/client.go
+++ b/control-plane/pkg/client/injection/client/client.go
@@ -29,6 +29,9 @@ import (
 
 func init() {
 	injection.Default.RegisterClient(withClient)
+	injection.Default.RegisterClientFetcher(func(ctx context.Context) interface{} {
+		return Get(ctx)
+	})
 }
 
 // Key is used as the key for associating information with a context.Context.
diff --git a/control-plane/pkg/client/injection/client/fake/fake.go b/control-plane/pkg/client/injection/client/fake/fake.go
index b6afe4386..c0b7501e4 100644
--- a/control-plane/pkg/client/injection/client/fake/fake.go
+++ b/control-plane/pkg/client/injection/client/fake/fake.go
@@ -31,6 +31,9 @@ import (
 
 func init() {
 	injection.Fake.RegisterClient(withClient)
+	injection.Fake.RegisterClientFetcher(func(ctx context.Context) interface{} {
+		return Get(ctx)
+	})
 }
 
 func withClient(ctx context.Context, cfg *rest.Config) context.Context {
diff --git a/go.mod b/go.mod
index a81a984ef..39a586f2d 100644
--- a/go.mod
+++ b/go.mod
@@ -23,8 +23,8 @@ require (
 	k8s.io/apiserver v0.19.7
 	k8s.io/client-go v0.19.7
 	k8s.io/utils v0.0.0-20210111153108-fddb29f9d009
-	knative.dev/eventing v0.21.1-0.20210304171816-dbf18599e2ef
-	knative.dev/hack v0.0.0-20210203173706-8368e1f6eacf
-	knative.dev/pkg v0.0.0-20210303192215-8fbab7ebb77b
-	knative.dev/reconciler-test v0.0.0-20210302173618-5f01af2a17ac
+	knative.dev/eventing v0.21.1-0.20210311084626-9be1470005ff
+	knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a
+	knative.dev/pkg v0.0.0-20210311075326-c326b70b833d
+	knative.dev/reconciler-test v0.0.0-20210311003325-c40b4dd49b78
 )
diff --git a/go.sum b/go.sum
index 2d03e4052..455b80a29 100644
--- a/go.sum
+++ b/go.sum
@@ -1275,16 +1275,19 @@ k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H
 k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
 k8s.io/utils v0.0.0-20210111153108-fddb29f9d009 h1:0T5IaWHO3sJTEmCP6mUlBvMukxPKUQWqiI/YuiBNMiQ=
 k8s.io/utils v0.0.0-20210111153108-fddb29f9d009/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
-knative.dev/eventing v0.21.1-0.20210304171816-dbf18599e2ef h1:q7svzvw7LwQf7pMAuEYK/eXehS3pCUJadH6uzH4rDDk=
-knative.dev/eventing v0.21.1-0.20210304171816-dbf18599e2ef/go.mod h1:xx42mnYqB+iEMYny6/M3vbe58BZAo+uLrWbOQF5Qrm0=
-knative.dev/hack v0.0.0-20210203173706-8368e1f6eacf h1:u4cY4jr2LYvhoz/1HBWEPsMiLkm0HMdDTfmmw1RE8zE=
-knative.dev/hack v0.0.0-20210203173706-8368e1f6eacf/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
-knative.dev/pkg v0.0.0-20210226182947-9039dc189ced h1:OCtTbXsJhiR35qCDxFj9Xc8sU3i87ePbc7YlHCt0al4=
-knative.dev/pkg v0.0.0-20210226182947-9039dc189ced/go.mod h1:TJSdebQOWX5N2bszohOYVi0H1QtXbtlYLuMghAFBMhY=
-knative.dev/pkg v0.0.0-20210303192215-8fbab7ebb77b h1:AynUh7MBUe44E60vh0vIyF2Bes4AOoTT2ejy9xrF0FU=
-knative.dev/pkg v0.0.0-20210303192215-8fbab7ebb77b/go.mod h1:TJSdebQOWX5N2bszohOYVi0H1QtXbtlYLuMghAFBMhY=
-knative.dev/reconciler-test v0.0.0-20210302173618-5f01af2a17ac h1:7TMNN3XhyUJop1Eb/jOs1+fRSj3EUAN+w7RJltAOlDo=
-knative.dev/reconciler-test v0.0.0-20210302173618-5f01af2a17ac/go.mod h1:70MF1WzRT29YtTBujNmB58UUlRGLlfYElOTNmO7MxdA=
+knative.dev/eventing v0.21.1-0.20210311084626-9be1470005ff h1:hzZo4a39Nepm0FLanmGvYVvin29v2qn0LBcsytEjpxk=
+knative.dev/eventing v0.21.1-0.20210311084626-9be1470005ff/go.mod h1:wDKp3lXwJn4+FlV5ds2Kz+L4fWoXW1KSxu2U6oqoNUQ=
+knative.dev/hack v0.0.0-20210305150220-f99a25560134/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
+knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a h1:0UGKyvFzY1Czu0lP9+0IrJhwtKe2oNLI2GYa7MIQ5c0=
+knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
+knative.dev/pkg v0.0.0-20210309024624-0f8d8de5949d/go.mod h1:fP690UCcs5x+qQVhjJxNcm97OWIiUdFC1dqbD3Gsp64=
+knative.dev/pkg v0.0.0-20210310050525-cc278e1666ca/go.mod h1:pn/vClSL/iCW40TlFR91EhtmMmsyPQR2V2LavDAOOMs=
+knative.dev/pkg v0.0.0-20210310173525-bbe0bb3eb1e0/go.mod h1:pn/vClSL/iCW40TlFR91EhtmMmsyPQR2V2LavDAOOMs=
+knative.dev/pkg v0.0.0-20210311075326-c326b70b833d h1:LF4tIJdND1p9pE8GJ4fLEHy7xO9iqQ6SprCpxrSF+fw=
+knative.dev/pkg v0.0.0-20210311075326-c326b70b833d/go.mod h1:pn/vClSL/iCW40TlFR91EhtmMmsyPQR2V2LavDAOOMs=
+knative.dev/reconciler-test v0.0.0-20210310072325-2521dadad94c/go.mod h1:VY5bZx4KFjJMsLnElusoRKoJR2Xw2bwNEfsooJdqDEU=
+knative.dev/reconciler-test v0.0.0-20210311003325-c40b4dd49b78 h1:7MpQXRJwRNijJNFntLckXdubdLo6USMEsVpAPPKNb2k=
+knative.dev/reconciler-test v0.0.0-20210311003325-c40b4dd49b78/go.mod h1:BqljHB9eQj66yPyxOj62syip0ZZtiG0lw76XrtRe36M=
 modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
 modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
 modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
diff --git a/vendor/knative.dev/eventing/pkg/apis/configs/register.go b/vendor/knative.dev/eventing/pkg/apis/configs/register.go
deleted file mode 100644
index 77becd242..000000000
--- a/vendor/knative.dev/eventing/pkg/apis/configs/register.go
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2020 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package configs
-
-const (
-	GroupName = "configs.internal.knative.dev"
-)
diff --git a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_defaults.go b/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_defaults.go
deleted file mode 100644
index 06457b79c..000000000
--- a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_defaults.go
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-Copyright 2020 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v1alpha1
-
-import (
-	"context"
-
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-func (cmp *ConfigMapPropagation) SetDefaults(ctx context.Context) {
-	// If we haven't configured the selector,
-	// then set the default selector to be an empty map
-	if cmp != nil && cmp.Spec.Selector == nil {
-		cmp.Spec.Selector = &metav1.LabelSelector{}
-	}
-}
diff --git a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_lifecycle.go b/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_lifecycle.go
deleted file mode 100644
index bbb4b1d47..000000000
--- a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_lifecycle.go
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-Copyright 2020 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v1alpha1
-
-import (
-	"knative.dev/pkg/apis"
-)
-
-var configMapPropagationCondSet = apis.NewLivingConditionSet(ConfigMapPropagationConditionReady, ConfigMapPropagationConditionPropagated)
-
-const (
-	// ConfigMapPropagationConditionReady has status True when all subconditions below have been set to True.
-	ConfigMapPropagationConditionReady = apis.ConditionReady
-	// ConfigMapPropagationConditionPropagated has status True when the ConfigMaps in original namespace are all propagated to target namespace.
-	ConfigMapPropagationConditionPropagated apis.ConditionType = "Propagated"
-)
-
-// GetConditionSet retrieves the condition set for this resource. Implements the KRShaped interface.
-func (*ConfigMapPropagation) GetConditionSet() apis.ConditionSet {
-	return configMapPropagationCondSet
-}
-
-// GetCondition returns the condition currently associated with the given type, or nil.
-func (cmps *ConfigMapPropagationStatus) GetCondition(t apis.ConditionType) *apis.Condition {
-	return configMapPropagationCondSet.Manage(cmps).GetCondition(t)
-}
-
-// IsReady returns true if the resource is ready overall.
-func (cmps *ConfigMapPropagationStatus) IsReady() bool {
-	return configMapPropagationCondSet.Manage(cmps).IsHappy()
-}
-
-// InitializeConditions sets relevant unset conditions to Unknown state.
-func (cmps *ConfigMapPropagationStatus) InitializeConditions() {
-	configMapPropagationCondSet.Manage(cmps).InitializeConditions()
-}
-
-func (cmps *ConfigMapPropagationStatus) MarkPropagated() {
-	configMapPropagationCondSet.Manage(cmps).MarkTrue(ConfigMapPropagationConditionPropagated)
-}
-
-func (cmps *ConfigMapPropagationStatus) MarkNotPropagated() {
-	configMapPropagationCondSet.Manage(cmps).MarkFalse(ConfigMapPropagationConditionPropagated, "PropagationFailed",
-		"ConfigMapPropagation could not fully propagate ConfigMaps from original namespace to current namespace")
-}
-
-func (cmpsc *ConfigMapPropagationStatusCopyConfigMap) SetCopyConfigMapStatus(name, source, operation, ready, reason, resourceVersion string) {
-	cmpsc.Name = name
-	cmpsc.Source = source
-	cmpsc.Operation = operation
-	cmpsc.Ready = ready
-	cmpsc.Reason = reason
-	cmpsc.ResourceVersion = resourceVersion
-}
diff --git a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_types.go b/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_types.go
deleted file mode 100644
index 4dbd1cebb..000000000
--- a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_types.go
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-Copyright 2020 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v1alpha1
-
-import (
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-
-	"knative.dev/pkg/apis"
-	duckv1 "knative.dev/pkg/apis/duck/v1"
-	"knative.dev/pkg/kmeta"
-)
-
-// +genclient
-// +genreconciler
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// ConfigMapPropagation is used to propagate configMaps from original namespace to current namespace
-type ConfigMapPropagation struct {
-	metav1.TypeMeta `json:",inline"`
-	// +optional
-	metav1.ObjectMeta `json:"metadata,omitempty"`
-
-	// Spec defines the desired state of the ConfigMapPropagation
-	Spec ConfigMapPropagationSpec `json:"spec,omitempty"`
-
-	// Status represents the current state of the EventType.
-	// This data may be out of date.
-	// +optional
-	Status ConfigMapPropagationStatus `json:"status,omitempty"`
-}
-
-var (
-	// Check that ConfigMapPropagation can be validated, can be defaulted, and has immutable fields.
-	_ apis.Validatable = (*ConfigMapPropagation)(nil)
-	_ apis.Defaultable = (*ConfigMapPropagation)(nil)
-
-	// Check that ConfigMapPropagation can return its spec untyped.
-	_ apis.HasSpec = (*ConfigMapPropagation)(nil)
-
-	_ runtime.Object = (*ConfigMapPropagation)(nil)
-
-	// Check that we can create OwnerReferences to a ConfigMapPropagation.
-	_ kmeta.OwnerRefable = (*ConfigMapPropagation)(nil)
-
-	// Check that the type conforms to the duck Knative Resource shape.
-	_ duckv1.KRShaped = (*ConfigMapPropagation)(nil)
-)
-
-type ConfigMapPropagationSpec struct {
-	// OriginalNamespace is the namespace where the original configMaps are in
-	OriginalNamespace string `json:"originalNamespace,omitempty"`
-	// Selector only selects original configMaps with corresponding labels
-	// +optional
-	Selector *metav1.LabelSelector `json:"selector,omitempty"`
-}
-
-// ConfigMapPropagationStatus represents the current state of a ConfigMapPropagation.
-type ConfigMapPropagationStatus struct {
-	// inherits duck/v1 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.
-	duckv1.Status `json:",inline"`
-
-	//CopyConfigMaps is the status for each copied configmap.
-	// +optional
-	// +patchMergeKey=name
-	// +patchStrategy=merge
-	CopyConfigMaps []ConfigMapPropagationStatusCopyConfigMap `json:"copyConfigmaps" patchStrategy:"merge" patchMergeKey:"name"`
-}
-
-// ConfigMapPropagationStatusCopyConfigMap represents the status of a copied configmap
-type ConfigMapPropagationStatusCopyConfigMap struct {
-	// Name is copy configmap's name
-	// +required
-	Name string `json:"name,omitempty"`
-
-	// Source is "originalNamespace/originalConfigMapName"
-	Source string `json:"source,omitempty"`
-
-	// Operation represents the operation CMP takes for this configmap. The operations are copy|delete|stop
-	Operation string `json:"operation,omitempty"`
-
-	// Ready represents the operation is ready or not
-	Ready string `json:"ready,omitempty"`
-
-	// Reason indicates reasons if the operation is not ready
-	Reason string `json:"reason,omitempty"`
-
-	// ResourceVersion is the resourceVersion of original configmap
-	ResourceVersion string `json:"resourceVersionFromSource,omitempty" protobuf:"bytes,6,opt,name=resourceVersion"`
-}
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// ConfigMapPropagationList is a collection of ConfigMapPropagation.
-type ConfigMapPropagationList struct {
-	metav1.TypeMeta `json:",inline"`
-	// +optional
-	metav1.ListMeta `json:"metadata,omitempty"`
-	Items           []ConfigMapPropagation `json:"items"`
-}
-
-// GetGroupVersionKind returns GroupVersionKind for ConfigMapPropagation
-func (cmp *ConfigMapPropagation) GetGroupVersionKind() schema.GroupVersionKind {
-	return SchemeGroupVersion.WithKind("ConfigMapPropagation")
-}
-
-// GetUntypedSpec returns the spec of the ConfigMapPropagation.
-func (cmp *ConfigMapPropagation) GetUntypedSpec() interface{} {
-	return cmp.Spec
-}
-
-// GetStatus retrieves the status of the ConfigMapPropagation. Implements the KRShaped interface.
-func (cmp *ConfigMapPropagation) GetStatus() *duckv1.Status {
-	return &cmp.Status.Status
-}
diff --git a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_validation.go b/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_validation.go
deleted file mode 100644
index 0250a90b8..000000000
--- a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/configmappropagation_validation.go
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-Copyright 2020 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v1alpha1
-
-import (
-	"context"
-	"fmt"
-	"strings"
-
-	"k8s.io/apimachinery/pkg/util/validation"
-
-	"knative.dev/pkg/apis"
-	"knative.dev/pkg/kmp"
-)
-
-// Validate the ConfigMapPropagation.
-func (cmp *ConfigMapPropagation) Validate(ctx context.Context) *apis.FieldError {
-	return cmp.Spec.Validate(ctx).ViaField("spec")
-}
-
-// Validate the ConfigMapPropagationSpec.
-func (cmps *ConfigMapPropagationSpec) Validate(ctx context.Context) *apis.FieldError {
-	var errs *apis.FieldError
-	if cmps.OriginalNamespace == "" {
-		fe := apis.ErrMissingField("originalNamespace")
-		errs = errs.Also(fe)
-	}
-
-	if cmps.Selector != nil {
-		for key, value := range cmps.Selector.MatchLabels {
-			if err := validation.IsQualifiedName(key); len(err) != 0 {
-				fe := &apis.FieldError{
-					Message: fmt.Sprintf("Invalid selector matchLabels key: %v", key),
-					Paths:   []string{"selector"},
-					Details: strings.Join(err, "; "),
-				}
-				errs = errs.Also(fe)
-			}
-			if err := validation.IsValidLabelValue(value); len(err) != 0 {
-				fe := &apis.FieldError{
-					Message: fmt.Sprintf("Invalid selector matchLabels value: %v", value),
-					Paths:   []string{"selector"},
-					Details: strings.Join(err, "; "),
-				}
-				errs = errs.Also(fe)
-			}
-		}
-		if cmps.Selector.MatchExpressions != nil {
-			fe := &apis.FieldError{
-				Message: "MatchExpressions isn't supported yet",
-				Paths:   []string{"selector"},
-			}
-			errs = errs.Also(fe)
-		}
-	}
-	return errs
-}
-
-// CheckImmutableFields checks that any immutable fields were not changed.
-func (cmp *ConfigMapPropagation) CheckImmutableFields(ctx context.Context, original *ConfigMapPropagation) *apis.FieldError {
-	if original == nil {
-		return nil
-	}
-
-	if diff, err := kmp.ShortDiff(original.Spec, cmp.Spec); err != nil {
-		return &apis.FieldError{
-			Message: "Failed to diff ConfigMapPropagation",
-			Paths:   []string{"spec"},
-			Details: err.Error(),
-		}
-	} else if diff != "" {
-		return &apis.FieldError{
-			Message: "Immutable fields changed (-old +new)",
-			Paths:   []string{"spec"},
-			Details: diff,
-		}
-	}
-	return nil
-}
diff --git a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/doc.go b/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/doc.go
deleted file mode 100644
index 4db3f8470..000000000
--- a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/doc.go
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2020 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Package v1alpha1 is the v1alpha1 version of the API.
-// +k8s:deepcopy-gen=package
-// +groupName=configs.internal.knative.dev
-package v1alpha1
diff --git a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/register.go b/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/register.go
deleted file mode 100644
index 0d4dcca50..000000000
--- a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/register.go
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2020 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v1alpha1
-
-import (
-	"knative.dev/eventing/pkg/apis/configs"
-
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-// SchemeGroupVersion is group version used to register these objects
-var SchemeGroupVersion = schema.GroupVersion{Group: configs.GroupName, Version: "v1alpha1"}
-
-// Kind takes an unqualified kind and returns back a Group qualified GroupKind
-func Kind(kind string) schema.GroupKind {
-	return SchemeGroupVersion.WithKind(kind).GroupKind()
-}
-
-// Resource takes an unqualified resource and returns a Group qualified GroupResource
-func Resource(resource string) schema.GroupResource {
-	return SchemeGroupVersion.WithResource(resource).GroupResource()
-}
-
-var (
-	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
-	AddToScheme   = SchemeBuilder.AddToScheme
-)
-
-// Adds the list of known types to Scheme.
-func addKnownTypes(scheme *runtime.Scheme) error {
-	scheme.AddKnownTypes(SchemeGroupVersion,
-		&ConfigMapPropagation{},
-		&ConfigMapPropagationList{},
-	)
-	metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
-	return nil
-}
diff --git a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/zz_generated.deepcopy.go b/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/zz_generated.deepcopy.go
deleted file mode 100644
index aa13c93dd..000000000
--- a/vendor/knative.dev/eventing/pkg/apis/configs/v1alpha1/zz_generated.deepcopy.go
+++ /dev/null
@@ -1,146 +0,0 @@
-// +build !ignore_autogenerated
-
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by deepcopy-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-)
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ConfigMapPropagation) DeepCopyInto(out *ConfigMapPropagation) {
-	*out = *in
-	out.TypeMeta = in.TypeMeta
-	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
-	in.Spec.DeepCopyInto(&out.Spec)
-	in.Status.DeepCopyInto(&out.Status)
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapPropagation.
-func (in *ConfigMapPropagation) DeepCopy() *ConfigMapPropagation {
-	if in == nil {
-		return nil
-	}
-	out := new(ConfigMapPropagation)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *ConfigMapPropagation) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ConfigMapPropagationList) DeepCopyInto(out *ConfigMapPropagationList) {
-	*out = *in
-	out.TypeMeta = in.TypeMeta
-	in.ListMeta.DeepCopyInto(&out.ListMeta)
-	if in.Items != nil {
-		in, out := &in.Items, &out.Items
-		*out = make([]ConfigMapPropagation, len(*in))
-		for i := range *in {
-			(*in)[i].DeepCopyInto(&(*out)[i])
-		}
-	}
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapPropagationList.
-func (in *ConfigMapPropagationList) DeepCopy() *ConfigMapPropagationList {
-	if in == nil {
-		return nil
-	}
-	out := new(ConfigMapPropagationList)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *ConfigMapPropagationList) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ConfigMapPropagationSpec) DeepCopyInto(out *ConfigMapPropagationSpec) {
-	*out = *in
-	if in.Selector != nil {
-		in, out := &in.Selector, &out.Selector
-		*out = new(v1.LabelSelector)
-		(*in).DeepCopyInto(*out)
-	}
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapPropagationSpec.
-func (in *ConfigMapPropagationSpec) DeepCopy() *ConfigMapPropagationSpec {
-	if in == nil {
-		return nil
-	}
-	out := new(ConfigMapPropagationSpec)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ConfigMapPropagationStatus) DeepCopyInto(out *ConfigMapPropagationStatus) {
-	*out = *in
-	in.Status.DeepCopyInto(&out.Status)
-	if in.CopyConfigMaps != nil {
-		in, out := &in.CopyConfigMaps, &out.CopyConfigMaps
-		*out = make([]ConfigMapPropagationStatusCopyConfigMap, len(*in))
-		copy(*out, *in)
-	}
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapPropagationStatus.
-func (in *ConfigMapPropagationStatus) DeepCopy() *ConfigMapPropagationStatus {
-	if in == nil {
-		return nil
-	}
-	out := new(ConfigMapPropagationStatus)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ConfigMapPropagationStatusCopyConfigMap) DeepCopyInto(out *ConfigMapPropagationStatusCopyConfigMap) {
-	*out = *in
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapPropagationStatusCopyConfigMap.
-func (in *ConfigMapPropagationStatusCopyConfigMap) DeepCopy() *ConfigMapPropagationStatusCopyConfigMap {
-	if in == nil {
-		return nil
-	}
-	out := new(ConfigMapPropagationStatusCopyConfigMap)
-	in.DeepCopyInto(out)
-	return out
-}
diff --git a/vendor/knative.dev/eventing/pkg/apis/eventing/register.go b/vendor/knative.dev/eventing/pkg/apis/eventing/register.go
index 29ffcc907..e90be8418 100644
--- a/vendor/knative.dev/eventing/pkg/apis/eventing/register.go
+++ b/vendor/knative.dev/eventing/pkg/apis/eventing/register.go
@@ -32,7 +32,7 @@ const (
 	// MTChannelBrokerClassValue is the value we use to specify the
 	// Broker using channels, but the resources (ingress,filter) run
 	// in the system namespace. As in Broker from this repository
-	// pkg/reconciler/mtbroker
+	// pkg/reconciler/broker
 	MTChannelBrokerClassValue = "MTChannelBasedBroker"
 
 	// ScopeAnnotationKey is the annotation key to indicate
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/clientset.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/clientset.go
index 6b3d5cd0d..5938d6053 100644
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/clientset.go
+++ b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/clientset.go
@@ -24,7 +24,6 @@ import (
 	discovery "k8s.io/client-go/discovery"
 	rest "k8s.io/client-go/rest"
 	flowcontrol "k8s.io/client-go/util/flowcontrol"
-	configsv1alpha1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1"
 	eventingv1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/eventing/v1"
 	eventingv1beta1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/eventing/v1beta1"
 	flowsv1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/flows/v1"
@@ -40,7 +39,6 @@ import (
 
 type Interface interface {
 	Discovery() discovery.DiscoveryInterface
-	ConfigsV1alpha1() configsv1alpha1.ConfigsV1alpha1Interface
 	EventingV1beta1() eventingv1beta1.EventingV1beta1Interface
 	EventingV1() eventingv1.EventingV1Interface
 	FlowsV1beta1() flowsv1beta1.FlowsV1beta1Interface
@@ -58,7 +56,6 @@ type Interface interface {
 // version included in a Clientset.
 type Clientset struct {
 	*discovery.DiscoveryClient
-	configsV1alpha1  *configsv1alpha1.ConfigsV1alpha1Client
 	eventingV1beta1  *eventingv1beta1.EventingV1beta1Client
 	eventingV1       *eventingv1.EventingV1Client
 	flowsV1beta1     *flowsv1beta1.FlowsV1beta1Client
@@ -72,11 +69,6 @@ type Clientset struct {
 	sourcesV1        *sourcesv1.SourcesV1Client
 }
 
-// ConfigsV1alpha1 retrieves the ConfigsV1alpha1Client
-func (c *Clientset) ConfigsV1alpha1() configsv1alpha1.ConfigsV1alpha1Interface {
-	return c.configsV1alpha1
-}
-
 // EventingV1beta1 retrieves the EventingV1beta1Client
 func (c *Clientset) EventingV1beta1() eventingv1beta1.EventingV1beta1Interface {
 	return c.eventingV1beta1
@@ -153,10 +145,6 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
 	}
 	var cs Clientset
 	var err error
-	cs.configsV1alpha1, err = configsv1alpha1.NewForConfig(&configShallowCopy)
-	if err != nil {
-		return nil, err
-	}
 	cs.eventingV1beta1, err = eventingv1beta1.NewForConfig(&configShallowCopy)
 	if err != nil {
 		return nil, err
@@ -213,7 +201,6 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
 // panics if there is an error in the config.
 func NewForConfigOrDie(c *rest.Config) *Clientset {
 	var cs Clientset
-	cs.configsV1alpha1 = configsv1alpha1.NewForConfigOrDie(c)
 	cs.eventingV1beta1 = eventingv1beta1.NewForConfigOrDie(c)
 	cs.eventingV1 = eventingv1.NewForConfigOrDie(c)
 	cs.flowsV1beta1 = flowsv1beta1.NewForConfigOrDie(c)
@@ -233,7 +220,6 @@ func NewForConfigOrDie(c *rest.Config) *Clientset {
 // New creates a new Clientset for the given RESTClient.
 func New(c rest.Interface) *Clientset {
 	var cs Clientset
-	cs.configsV1alpha1 = configsv1alpha1.New(c)
 	cs.eventingV1beta1 = eventingv1beta1.New(c)
 	cs.eventingV1 = eventingv1.New(c)
 	cs.flowsV1beta1 = flowsv1beta1.New(c)
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/fake/clientset_generated.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/fake/clientset_generated.go
index f72c6df70..82bc05de5 100644
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/fake/clientset_generated.go
+++ b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/fake/clientset_generated.go
@@ -25,8 +25,6 @@ import (
 	fakediscovery "k8s.io/client-go/discovery/fake"
 	"k8s.io/client-go/testing"
 	clientset "knative.dev/eventing/pkg/client/clientset/versioned"
-	configsv1alpha1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1"
-	fakeconfigsv1alpha1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake"
 	eventingv1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/eventing/v1"
 	fakeeventingv1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/eventing/v1/fake"
 	eventingv1beta1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/eventing/v1beta1"
@@ -98,11 +96,6 @@ func (c *Clientset) Tracker() testing.ObjectTracker {
 
 var _ clientset.Interface = &Clientset{}
 
-// ConfigsV1alpha1 retrieves the ConfigsV1alpha1Client
-func (c *Clientset) ConfigsV1alpha1() configsv1alpha1.ConfigsV1alpha1Interface {
-	return &fakeconfigsv1alpha1.FakeConfigsV1alpha1{Fake: &c.Fake}
-}
-
 // EventingV1beta1 retrieves the EventingV1beta1Client
 func (c *Clientset) EventingV1beta1() eventingv1beta1.EventingV1beta1Interface {
 	return &fakeeventingv1beta1.FakeEventingV1beta1{Fake: &c.Fake}
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/fake/register.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/fake/register.go
index 29ede81ec..91981f28a 100644
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/fake/register.go
+++ b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/fake/register.go
@@ -24,7 +24,6 @@ import (
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
 	serializer "k8s.io/apimachinery/pkg/runtime/serializer"
 	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
-	configsv1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
 	eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1"
 	eventingv1beta1 "knative.dev/eventing/pkg/apis/eventing/v1beta1"
 	flowsv1 "knative.dev/eventing/pkg/apis/flows/v1"
@@ -42,7 +41,6 @@ var scheme = runtime.NewScheme()
 var codecs = serializer.NewCodecFactory(scheme)
 
 var localSchemeBuilder = runtime.SchemeBuilder{
-	configsv1alpha1.AddToScheme,
 	eventingv1beta1.AddToScheme,
 	eventingv1.AddToScheme,
 	flowsv1beta1.AddToScheme,
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/scheme/register.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/scheme/register.go
index 95ac8e3f8..f08304b8a 100644
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/scheme/register.go
+++ b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/scheme/register.go
@@ -24,7 +24,6 @@ import (
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
 	serializer "k8s.io/apimachinery/pkg/runtime/serializer"
 	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
-	configsv1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
 	eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1"
 	eventingv1beta1 "knative.dev/eventing/pkg/apis/eventing/v1beta1"
 	flowsv1 "knative.dev/eventing/pkg/apis/flows/v1"
@@ -42,7 +41,6 @@ var Scheme = runtime.NewScheme()
 var Codecs = serializer.NewCodecFactory(Scheme)
 var ParameterCodec = runtime.NewParameterCodec(Scheme)
 var localSchemeBuilder = runtime.SchemeBuilder{
-	configsv1alpha1.AddToScheme,
 	eventingv1beta1.AddToScheme,
 	eventingv1.AddToScheme,
 	flowsv1beta1.AddToScheme,
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/configmappropagation.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/configmappropagation.go
deleted file mode 100644
index c110b4d16..000000000
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/configmappropagation.go
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
-	"context"
-	"time"
-
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	types "k8s.io/apimachinery/pkg/types"
-	watch "k8s.io/apimachinery/pkg/watch"
-	rest "k8s.io/client-go/rest"
-	v1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
-	scheme "knative.dev/eventing/pkg/client/clientset/versioned/scheme"
-)
-
-// ConfigMapPropagationsGetter has a method to return a ConfigMapPropagationInterface.
-// A group's client should implement this interface.
-type ConfigMapPropagationsGetter interface {
-	ConfigMapPropagations(namespace string) ConfigMapPropagationInterface
-}
-
-// ConfigMapPropagationInterface has methods to work with ConfigMapPropagation resources.
-type ConfigMapPropagationInterface interface {
-	Create(ctx context.Context, configMapPropagation *v1alpha1.ConfigMapPropagation, opts v1.CreateOptions) (*v1alpha1.ConfigMapPropagation, error)
-	Update(ctx context.Context, configMapPropagation *v1alpha1.ConfigMapPropagation, opts v1.UpdateOptions) (*v1alpha1.ConfigMapPropagation, error)
-	UpdateStatus(ctx context.Context, configMapPropagation *v1alpha1.ConfigMapPropagation, opts v1.UpdateOptions) (*v1alpha1.ConfigMapPropagation, error)
-	Delete(ctx context.Context, name string, opts v1.DeleteOptions) error
-	DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error
-	Get(ctx context.Context, name string, opts v1.GetOptions) (*v1alpha1.ConfigMapPropagation, error)
-	List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.ConfigMapPropagationList, error)
-	Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error)
-	Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.ConfigMapPropagation, err error)
-	ConfigMapPropagationExpansion
-}
-
-// configMapPropagations implements ConfigMapPropagationInterface
-type configMapPropagations struct {
-	client rest.Interface
-	ns     string
-}
-
-// newConfigMapPropagations returns a ConfigMapPropagations
-func newConfigMapPropagations(c *ConfigsV1alpha1Client, namespace string) *configMapPropagations {
-	return &configMapPropagations{
-		client: c.RESTClient(),
-		ns:     namespace,
-	}
-}
-
-// Get takes name of the configMapPropagation, and returns the corresponding configMapPropagation object, and an error if there is any.
-func (c *configMapPropagations) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.ConfigMapPropagation, err error) {
-	result = &v1alpha1.ConfigMapPropagation{}
-	err = c.client.Get().
-		Namespace(c.ns).
-		Resource("configmappropagations").
-		Name(name).
-		VersionedParams(&options, scheme.ParameterCodec).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// List takes label and field selectors, and returns the list of ConfigMapPropagations that match those selectors.
-func (c *configMapPropagations) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.ConfigMapPropagationList, err error) {
-	var timeout time.Duration
-	if opts.TimeoutSeconds != nil {
-		timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
-	}
-	result = &v1alpha1.ConfigMapPropagationList{}
-	err = c.client.Get().
-		Namespace(c.ns).
-		Resource("configmappropagations").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Watch returns a watch.Interface that watches the requested configMapPropagations.
-func (c *configMapPropagations) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
-	var timeout time.Duration
-	if opts.TimeoutSeconds != nil {
-		timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
-	}
-	opts.Watch = true
-	return c.client.Get().
-		Namespace(c.ns).
-		Resource("configmappropagations").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Watch(ctx)
-}
-
-// Create takes the representation of a configMapPropagation and creates it.  Returns the server's representation of the configMapPropagation, and an error, if there is any.
-func (c *configMapPropagations) Create(ctx context.Context, configMapPropagation *v1alpha1.ConfigMapPropagation, opts v1.CreateOptions) (result *v1alpha1.ConfigMapPropagation, err error) {
-	result = &v1alpha1.ConfigMapPropagation{}
-	err = c.client.Post().
-		Namespace(c.ns).
-		Resource("configmappropagations").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(configMapPropagation).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Update takes the representation of a configMapPropagation and updates it. Returns the server's representation of the configMapPropagation, and an error, if there is any.
-func (c *configMapPropagations) Update(ctx context.Context, configMapPropagation *v1alpha1.ConfigMapPropagation, opts v1.UpdateOptions) (result *v1alpha1.ConfigMapPropagation, err error) {
-	result = &v1alpha1.ConfigMapPropagation{}
-	err = c.client.Put().
-		Namespace(c.ns).
-		Resource("configmappropagations").
-		Name(configMapPropagation.Name).
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(configMapPropagation).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *configMapPropagations) UpdateStatus(ctx context.Context, configMapPropagation *v1alpha1.ConfigMapPropagation, opts v1.UpdateOptions) (result *v1alpha1.ConfigMapPropagation, err error) {
-	result = &v1alpha1.ConfigMapPropagation{}
-	err = c.client.Put().
-		Namespace(c.ns).
-		Resource("configmappropagations").
-		Name(configMapPropagation.Name).
-		SubResource("status").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(configMapPropagation).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Delete takes name of the configMapPropagation and deletes it. Returns an error if one occurs.
-func (c *configMapPropagations) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
-	return c.client.Delete().
-		Namespace(c.ns).
-		Resource("configmappropagations").
-		Name(name).
-		Body(&opts).
-		Do(ctx).
-		Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *configMapPropagations) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
-	var timeout time.Duration
-	if listOpts.TimeoutSeconds != nil {
-		timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second
-	}
-	return c.client.Delete().
-		Namespace(c.ns).
-		Resource("configmappropagations").
-		VersionedParams(&listOpts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Body(&opts).
-		Do(ctx).
-		Error()
-}
-
-// Patch applies the patch and returns the patched configMapPropagation.
-func (c *configMapPropagations) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.ConfigMapPropagation, err error) {
-	result = &v1alpha1.ConfigMapPropagation{}
-	err = c.client.Patch(pt).
-		Namespace(c.ns).
-		Resource("configmappropagations").
-		Name(name).
-		SubResource(subresources...).
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/configs_client.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/configs_client.go
deleted file mode 100644
index 7b9fa6542..000000000
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/configs_client.go
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
-	rest "k8s.io/client-go/rest"
-	v1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
-	"knative.dev/eventing/pkg/client/clientset/versioned/scheme"
-)
-
-type ConfigsV1alpha1Interface interface {
-	RESTClient() rest.Interface
-	ConfigMapPropagationsGetter
-}
-
-// ConfigsV1alpha1Client is used to interact with features provided by the configs.internal.knative.dev group.
-type ConfigsV1alpha1Client struct {
-	restClient rest.Interface
-}
-
-func (c *ConfigsV1alpha1Client) ConfigMapPropagations(namespace string) ConfigMapPropagationInterface {
-	return newConfigMapPropagations(c, namespace)
-}
-
-// NewForConfig creates a new ConfigsV1alpha1Client for the given config.
-func NewForConfig(c *rest.Config) (*ConfigsV1alpha1Client, error) {
-	config := *c
-	if err := setConfigDefaults(&config); err != nil {
-		return nil, err
-	}
-	client, err := rest.RESTClientFor(&config)
-	if err != nil {
-		return nil, err
-	}
-	return &ConfigsV1alpha1Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new ConfigsV1alpha1Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *ConfigsV1alpha1Client {
-	client, err := NewForConfig(c)
-	if err != nil {
-		panic(err)
-	}
-	return client
-}
-
-// New creates a new ConfigsV1alpha1Client for the given RESTClient.
-func New(c rest.Interface) *ConfigsV1alpha1Client {
-	return &ConfigsV1alpha1Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
-	gv := v1alpha1.SchemeGroupVersion
-	config.GroupVersion = &gv
-	config.APIPath = "/apis"
-	config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
-
-	if config.UserAgent == "" {
-		config.UserAgent = rest.DefaultKubernetesUserAgent()
-	}
-
-	return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *ConfigsV1alpha1Client) RESTClient() rest.Interface {
-	if c == nil {
-		return nil
-	}
-	return c.restClient
-}
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/doc.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/doc.go
deleted file mode 100644
index f905d3a21..000000000
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/doc.go
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-// This package has the automatically generated typed clients.
-package v1alpha1
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake/doc.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake/doc.go
deleted file mode 100644
index d5a46ef55..000000000
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake/doc.go
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-// Package fake has the automatically generated clients.
-package fake
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake/fake_configmappropagation.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake/fake_configmappropagation.go
deleted file mode 100644
index 76580153c..000000000
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake/fake_configmappropagation.go
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package fake
-
-import (
-	"context"
-
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	labels "k8s.io/apimachinery/pkg/labels"
-	schema "k8s.io/apimachinery/pkg/runtime/schema"
-	types "k8s.io/apimachinery/pkg/types"
-	watch "k8s.io/apimachinery/pkg/watch"
-	testing "k8s.io/client-go/testing"
-	v1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
-)
-
-// FakeConfigMapPropagations implements ConfigMapPropagationInterface
-type FakeConfigMapPropagations struct {
-	Fake *FakeConfigsV1alpha1
-	ns   string
-}
-
-var configmappropagationsResource = schema.GroupVersionResource{Group: "configs.internal.knative.dev", Version: "v1alpha1", Resource: "configmappropagations"}
-
-var configmappropagationsKind = schema.GroupVersionKind{Group: "configs.internal.knative.dev", Version: "v1alpha1", Kind: "ConfigMapPropagation"}
-
-// Get takes name of the configMapPropagation, and returns the corresponding configMapPropagation object, and an error if there is any.
-func (c *FakeConfigMapPropagations) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.ConfigMapPropagation, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(configmappropagationsResource, c.ns, name), &v1alpha1.ConfigMapPropagation{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha1.ConfigMapPropagation), err
-}
-
-// List takes label and field selectors, and returns the list of ConfigMapPropagations that match those selectors.
-func (c *FakeConfigMapPropagations) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.ConfigMapPropagationList, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewListAction(configmappropagationsResource, configmappropagationsKind, c.ns, opts), &v1alpha1.ConfigMapPropagationList{})
-
-	if obj == nil {
-		return nil, err
-	}
-
-	label, _, _ := testing.ExtractFromListOptions(opts)
-	if label == nil {
-		label = labels.Everything()
-	}
-	list := &v1alpha1.ConfigMapPropagationList{ListMeta: obj.(*v1alpha1.ConfigMapPropagationList).ListMeta}
-	for _, item := range obj.(*v1alpha1.ConfigMapPropagationList).Items {
-		if label.Matches(labels.Set(item.Labels)) {
-			list.Items = append(list.Items, item)
-		}
-	}
-	return list, err
-}
-
-// Watch returns a watch.Interface that watches the requested configMapPropagations.
-func (c *FakeConfigMapPropagations) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
-	return c.Fake.
-		InvokesWatch(testing.NewWatchAction(configmappropagationsResource, c.ns, opts))
-
-}
-
-// Create takes the representation of a configMapPropagation and creates it.  Returns the server's representation of the configMapPropagation, and an error, if there is any.
-func (c *FakeConfigMapPropagations) Create(ctx context.Context, configMapPropagation *v1alpha1.ConfigMapPropagation, opts v1.CreateOptions) (result *v1alpha1.ConfigMapPropagation, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(configmappropagationsResource, c.ns, configMapPropagation), &v1alpha1.ConfigMapPropagation{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha1.ConfigMapPropagation), err
-}
-
-// Update takes the representation of a configMapPropagation and updates it. Returns the server's representation of the configMapPropagation, and an error, if there is any.
-func (c *FakeConfigMapPropagations) Update(ctx context.Context, configMapPropagation *v1alpha1.ConfigMapPropagation, opts v1.UpdateOptions) (result *v1alpha1.ConfigMapPropagation, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(configmappropagationsResource, c.ns, configMapPropagation), &v1alpha1.ConfigMapPropagation{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha1.ConfigMapPropagation), err
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *FakeConfigMapPropagations) UpdateStatus(ctx context.Context, configMapPropagation *v1alpha1.ConfigMapPropagation, opts v1.UpdateOptions) (*v1alpha1.ConfigMapPropagation, error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewUpdateSubresourceAction(configmappropagationsResource, "status", c.ns, configMapPropagation), &v1alpha1.ConfigMapPropagation{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha1.ConfigMapPropagation), err
-}
-
-// Delete takes name of the configMapPropagation and deletes it. Returns an error if one occurs.
-func (c *FakeConfigMapPropagations) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
-	_, err := c.Fake.
-		Invokes(testing.NewDeleteAction(configmappropagationsResource, c.ns, name), &v1alpha1.ConfigMapPropagation{})
-
-	return err
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *FakeConfigMapPropagations) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
-	action := testing.NewDeleteCollectionAction(configmappropagationsResource, c.ns, listOpts)
-
-	_, err := c.Fake.Invokes(action, &v1alpha1.ConfigMapPropagationList{})
-	return err
-}
-
-// Patch applies the patch and returns the patched configMapPropagation.
-func (c *FakeConfigMapPropagations) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.ConfigMapPropagation, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(configmappropagationsResource, c.ns, name, pt, data, subresources...), &v1alpha1.ConfigMapPropagation{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha1.ConfigMapPropagation), err
-}
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake/fake_configs_client.go b/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake/fake_configs_client.go
deleted file mode 100644
index d4f980ac4..000000000
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake/fake_configs_client.go
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package fake
-
-import (
-	rest "k8s.io/client-go/rest"
-	testing "k8s.io/client-go/testing"
-	v1alpha1 "knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1"
-)
-
-type FakeConfigsV1alpha1 struct {
-	*testing.Fake
-}
-
-func (c *FakeConfigsV1alpha1) ConfigMapPropagations(namespace string) v1alpha1.ConfigMapPropagationInterface {
-	return &FakeConfigMapPropagations{c, namespace}
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *FakeConfigsV1alpha1) RESTClient() rest.Interface {
-	var ret *rest.RESTClient
-	return ret
-}
diff --git a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/configs/interface.go b/vendor/knative.dev/eventing/pkg/client/informers/externalversions/configs/interface.go
deleted file mode 100644
index 545f799e6..000000000
--- a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/configs/interface.go
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package configs
-
-import (
-	v1alpha1 "knative.dev/eventing/pkg/client/informers/externalversions/configs/v1alpha1"
-	internalinterfaces "knative.dev/eventing/pkg/client/informers/externalversions/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
-	// V1alpha1 provides access to shared informers for resources in V1alpha1.
-	V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
-	factory          internalinterfaces.SharedInformerFactory
-	namespace        string
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
-	return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
-	return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/configs/v1alpha1/configmappropagation.go b/vendor/knative.dev/eventing/pkg/client/informers/externalversions/configs/v1alpha1/configmappropagation.go
deleted file mode 100644
index 345a06c5a..000000000
--- a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/configs/v1alpha1/configmappropagation.go
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
-	"context"
-	time "time"
-
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	watch "k8s.io/apimachinery/pkg/watch"
-	cache "k8s.io/client-go/tools/cache"
-	configsv1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
-	versioned "knative.dev/eventing/pkg/client/clientset/versioned"
-	internalinterfaces "knative.dev/eventing/pkg/client/informers/externalversions/internalinterfaces"
-	v1alpha1 "knative.dev/eventing/pkg/client/listers/configs/v1alpha1"
-)
-
-// ConfigMapPropagationInformer provides access to a shared informer and lister for
-// ConfigMapPropagations.
-type ConfigMapPropagationInformer interface {
-	Informer() cache.SharedIndexInformer
-	Lister() v1alpha1.ConfigMapPropagationLister
-}
-
-type configMapPropagationInformer struct {
-	factory          internalinterfaces.SharedInformerFactory
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-	namespace        string
-}
-
-// NewConfigMapPropagationInformer constructs a new informer for ConfigMapPropagation type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewConfigMapPropagationInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
-	return NewFilteredConfigMapPropagationInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredConfigMapPropagationInformer constructs a new informer for ConfigMapPropagation type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredConfigMapPropagationInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
-	return cache.NewSharedIndexInformer(
-		&cache.ListWatch{
-			ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
-				if tweakListOptions != nil {
-					tweakListOptions(&options)
-				}
-				return client.ConfigsV1alpha1().ConfigMapPropagations(namespace).List(context.TODO(), options)
-			},
-			WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
-				if tweakListOptions != nil {
-					tweakListOptions(&options)
-				}
-				return client.ConfigsV1alpha1().ConfigMapPropagations(namespace).Watch(context.TODO(), options)
-			},
-		},
-		&configsv1alpha1.ConfigMapPropagation{},
-		resyncPeriod,
-		indexers,
-	)
-}
-
-func (f *configMapPropagationInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
-	return NewFilteredConfigMapPropagationInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *configMapPropagationInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&configsv1alpha1.ConfigMapPropagation{}, f.defaultInformer)
-}
-
-func (f *configMapPropagationInformer) Lister() v1alpha1.ConfigMapPropagationLister {
-	return v1alpha1.NewConfigMapPropagationLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/configs/v1alpha1/interface.go b/vendor/knative.dev/eventing/pkg/client/informers/externalversions/configs/v1alpha1/interface.go
deleted file mode 100644
index a3a7fccfb..000000000
--- a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/configs/v1alpha1/interface.go
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
-	internalinterfaces "knative.dev/eventing/pkg/client/informers/externalversions/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
-	// ConfigMapPropagations returns a ConfigMapPropagationInformer.
-	ConfigMapPropagations() ConfigMapPropagationInformer
-}
-
-type version struct {
-	factory          internalinterfaces.SharedInformerFactory
-	namespace        string
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
-	return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// ConfigMapPropagations returns a ConfigMapPropagationInformer.
-func (v *version) ConfigMapPropagations() ConfigMapPropagationInformer {
-	return &configMapPropagationInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/factory.go b/vendor/knative.dev/eventing/pkg/client/informers/externalversions/factory.go
index 12a9db420..2cb0c1f78 100644
--- a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/factory.go
+++ b/vendor/knative.dev/eventing/pkg/client/informers/externalversions/factory.go
@@ -28,7 +28,6 @@ import (
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
 	cache "k8s.io/client-go/tools/cache"
 	versioned "knative.dev/eventing/pkg/client/clientset/versioned"
-	configs "knative.dev/eventing/pkg/client/informers/externalversions/configs"
 	eventing "knative.dev/eventing/pkg/client/informers/externalversions/eventing"
 	flows "knative.dev/eventing/pkg/client/informers/externalversions/flows"
 	internalinterfaces "knative.dev/eventing/pkg/client/informers/externalversions/internalinterfaces"
@@ -176,17 +175,12 @@ type SharedInformerFactory interface {
 	ForResource(resource schema.GroupVersionResource) (GenericInformer, error)
 	WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool
 
-	Configs() configs.Interface
 	Eventing() eventing.Interface
 	Flows() flows.Interface
 	Messaging() messaging.Interface
 	Sources() sources.Interface
 }
 
-func (f *sharedInformerFactory) Configs() configs.Interface {
-	return configs.New(f, f.namespace, f.tweakListOptions)
-}
-
 func (f *sharedInformerFactory) Eventing() eventing.Interface {
 	return eventing.New(f, f.namespace, f.tweakListOptions)
 }
diff --git a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/generic.go b/vendor/knative.dev/eventing/pkg/client/informers/externalversions/generic.go
index 2aa69a5be..3110c9d47 100644
--- a/vendor/knative.dev/eventing/pkg/client/informers/externalversions/generic.go
+++ b/vendor/knative.dev/eventing/pkg/client/informers/externalversions/generic.go
@@ -23,7 +23,6 @@ import (
 
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
 	cache "k8s.io/client-go/tools/cache"
-	v1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
 	v1 "knative.dev/eventing/pkg/apis/eventing/v1"
 	v1beta1 "knative.dev/eventing/pkg/apis/eventing/v1beta1"
 	flowsv1 "knative.dev/eventing/pkg/apis/flows/v1"
@@ -31,7 +30,7 @@ import (
 	messagingv1 "knative.dev/eventing/pkg/apis/messaging/v1"
 	messagingv1beta1 "knative.dev/eventing/pkg/apis/messaging/v1beta1"
 	sourcesv1 "knative.dev/eventing/pkg/apis/sources/v1"
-	sourcesv1alpha1 "knative.dev/eventing/pkg/apis/sources/v1alpha1"
+	v1alpha1 "knative.dev/eventing/pkg/apis/sources/v1alpha1"
 	v1alpha2 "knative.dev/eventing/pkg/apis/sources/v1alpha2"
 	sourcesv1beta1 "knative.dev/eventing/pkg/apis/sources/v1beta1"
 	v1beta2 "knative.dev/eventing/pkg/apis/sources/v1beta2"
@@ -63,11 +62,7 @@ func (f *genericInformer) Lister() cache.GenericLister {
 // TODO extend this to unknown resources with a client pool
 func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) {
 	switch resource {
-	// Group=configs.internal.knative.dev, Version=v1alpha1
-	case v1alpha1.SchemeGroupVersion.WithResource("configmappropagations"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.Configs().V1alpha1().ConfigMapPropagations().Informer()}, nil
-
-		// Group=eventing.knative.dev, Version=v1
+	// Group=eventing.knative.dev, Version=v1
 	case v1.SchemeGroupVersion.WithResource("brokers"):
 		return &genericInformer{resource: resource.GroupResource(), informer: f.Eventing().V1().Brokers().Informer()}, nil
 	case v1.SchemeGroupVersion.WithResource("triggers"):
@@ -118,9 +113,9 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource
 		return &genericInformer{resource: resource.GroupResource(), informer: f.Sources().V1().SinkBindings().Informer()}, nil
 
 		// Group=sources.knative.dev, Version=v1alpha1
-	case sourcesv1alpha1.SchemeGroupVersion.WithResource("apiserversources"):
+	case v1alpha1.SchemeGroupVersion.WithResource("apiserversources"):
 		return &genericInformer{resource: resource.GroupResource(), informer: f.Sources().V1alpha1().ApiServerSources().Informer()}, nil
-	case sourcesv1alpha1.SchemeGroupVersion.WithResource("sinkbindings"):
+	case v1alpha1.SchemeGroupVersion.WithResource("sinkbindings"):
 		return &genericInformer{resource: resource.GroupResource(), informer: f.Sources().V1alpha1().SinkBindings().Informer()}, nil
 
 		// Group=sources.knative.dev, Version=v1alpha2
diff --git a/vendor/knative.dev/eventing/pkg/client/listers/configs/v1alpha1/configmappropagation.go b/vendor/knative.dev/eventing/pkg/client/listers/configs/v1alpha1/configmappropagation.go
deleted file mode 100644
index 078a14d87..000000000
--- a/vendor/knative.dev/eventing/pkg/client/listers/configs/v1alpha1/configmappropagation.go
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by lister-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
-	"k8s.io/apimachinery/pkg/api/errors"
-	"k8s.io/apimachinery/pkg/labels"
-	"k8s.io/client-go/tools/cache"
-	v1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
-)
-
-// ConfigMapPropagationLister helps list ConfigMapPropagations.
-// All objects returned here must be treated as read-only.
-type ConfigMapPropagationLister interface {
-	// List lists all ConfigMapPropagations in the indexer.
-	// Objects returned here must be treated as read-only.
-	List(selector labels.Selector) (ret []*v1alpha1.ConfigMapPropagation, err error)
-	// ConfigMapPropagations returns an object that can list and get ConfigMapPropagations.
-	ConfigMapPropagations(namespace string) ConfigMapPropagationNamespaceLister
-	ConfigMapPropagationListerExpansion
-}
-
-// configMapPropagationLister implements the ConfigMapPropagationLister interface.
-type configMapPropagationLister struct {
-	indexer cache.Indexer
-}
-
-// NewConfigMapPropagationLister returns a new ConfigMapPropagationLister.
-func NewConfigMapPropagationLister(indexer cache.Indexer) ConfigMapPropagationLister {
-	return &configMapPropagationLister{indexer: indexer}
-}
-
-// List lists all ConfigMapPropagations in the indexer.
-func (s *configMapPropagationLister) List(selector labels.Selector) (ret []*v1alpha1.ConfigMapPropagation, err error) {
-	err = cache.ListAll(s.indexer, selector, func(m interface{}) {
-		ret = append(ret, m.(*v1alpha1.ConfigMapPropagation))
-	})
-	return ret, err
-}
-
-// ConfigMapPropagations returns an object that can list and get ConfigMapPropagations.
-func (s *configMapPropagationLister) ConfigMapPropagations(namespace string) ConfigMapPropagationNamespaceLister {
-	return configMapPropagationNamespaceLister{indexer: s.indexer, namespace: namespace}
-}
-
-// ConfigMapPropagationNamespaceLister helps list and get ConfigMapPropagations.
-// All objects returned here must be treated as read-only.
-type ConfigMapPropagationNamespaceLister interface {
-	// List lists all ConfigMapPropagations in the indexer for a given namespace.
-	// Objects returned here must be treated as read-only.
-	List(selector labels.Selector) (ret []*v1alpha1.ConfigMapPropagation, err error)
-	// Get retrieves the ConfigMapPropagation from the indexer for a given namespace and name.
-	// Objects returned here must be treated as read-only.
-	Get(name string) (*v1alpha1.ConfigMapPropagation, error)
-	ConfigMapPropagationNamespaceListerExpansion
-}
-
-// configMapPropagationNamespaceLister implements the ConfigMapPropagationNamespaceLister
-// interface.
-type configMapPropagationNamespaceLister struct {
-	indexer   cache.Indexer
-	namespace string
-}
-
-// List lists all ConfigMapPropagations in the indexer for a given namespace.
-func (s configMapPropagationNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.ConfigMapPropagation, err error) {
-	err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
-		ret = append(ret, m.(*v1alpha1.ConfigMapPropagation))
-	})
-	return ret, err
-}
-
-// Get retrieves the ConfigMapPropagation from the indexer for a given namespace and name.
-func (s configMapPropagationNamespaceLister) Get(name string) (*v1alpha1.ConfigMapPropagation, error) {
-	obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
-	if err != nil {
-		return nil, err
-	}
-	if !exists {
-		return nil, errors.NewNotFound(v1alpha1.Resource("configmappropagation"), name)
-	}
-	return obj.(*v1alpha1.ConfigMapPropagation), nil
-}
diff --git a/vendor/knative.dev/eventing/pkg/client/listers/configs/v1alpha1/expansion_generated.go b/vendor/knative.dev/eventing/pkg/client/listers/configs/v1alpha1/expansion_generated.go
deleted file mode 100644
index 81ae054ac..000000000
--- a/vendor/knative.dev/eventing/pkg/client/listers/configs/v1alpha1/expansion_generated.go
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2021 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Code generated by lister-gen. DO NOT EDIT.
-
-package v1alpha1
-
-// ConfigMapPropagationListerExpansion allows custom methods to be added to
-// ConfigMapPropagationLister.
-type ConfigMapPropagationListerExpansion interface{}
-
-// ConfigMapPropagationNamespaceListerExpansion allows custom methods to be added to
-// ConfigMapPropagationNamespaceLister.
-type ConfigMapPropagationNamespaceListerExpansion interface{}
diff --git a/vendor/knative.dev/hack/README.md b/vendor/knative.dev/hack/README.md
index 1df3cfe5b..a6a98c784 100644
--- a/vendor/knative.dev/hack/README.md
+++ b/vendor/knative.dev/hack/README.md
@@ -1,7 +1,7 @@
 # knative.dev/hack
 
 `hack` is a collection of scripts used to bootstrap CI processes and other vital
-entrypoint functionallity.
+entrypoint functionality.
 
 ## Using the `presubmit-tests.sh` helper script
 
@@ -281,7 +281,7 @@ This is a helper script for Knative release scripts. To use it:
    - `RELEASE_VERSION`: contains the release version if `--version` was passed.
      This also overrides the value of the `TAG` variable as `v<version>`.
    - `RELEASE_BRANCH`: contains the release branch if `--branch` was passed.
-     Otherwise it's empty and `master` HEAD will be considered the release
+     Otherwise it's empty and `main` HEAD will be considered the release
      branch.
    - `RELEASE_NOTES`: contains the filename with the release notes if
      `--release-notes` was passed. The release notes is a simple markdown file.
diff --git a/vendor/knative.dev/hack/go.sum b/vendor/knative.dev/hack/go.sum
new file mode 100644
index 000000000..e69de29bb
diff --git a/vendor/knative.dev/hack/library.sh b/vendor/knative.dev/hack/library.sh
index 25b3407e8..f8f8b629c 100644
--- a/vendor/knative.dev/hack/library.sh
+++ b/vendor/knative.dev/hack/library.sh
@@ -787,18 +787,18 @@ function shellcheck_new_files() {
 function latest_version() {
   # This function works "best effort" and works on Prow but not necessarily locally.
   # The problem is finding the latest release. If a release occurs on the same commit which
-  # was branched from master, then the tag will be an ancestor to any commit derived from master.
+  # was branched from main, then the tag will be an ancestor to any commit derived from main.
   # That was the original logic. Additionally in a release branch, the tag is always an ancestor.
-  # However, if the release commit ends up not the first commit from master, then the tag is not
-  # an ancestor of master, so we can't use `git describe` to find the most recent versioned tag. So
+  # However, if the release commit ends up not the first commit from main, then the tag is not
+  # an ancestor of main, so we can't use `git describe` to find the most recent versioned tag. So
   # we just sort all the tags and find the newest versioned one.
-  # But when running locally, we cannot(?) know if the current branch is a fork of master or a fork
+  # But when running locally, we cannot(?) know if the current branch is a fork of main or a fork
   # of a release branch. That's where this function will malfunction when the last release did not
   # occur on the first commit -- it will try to run the upgrade tests from an older version instead
   # of the most recent release.
   # Workarounds include:
   # Tag the first commit of the release branch. Say release-0.75 released v0.75.0 from the second commit
-  # Then tag the first commit in common between master and release-0.75 with `v0.75`.
+  # Then tag the first commit in common between main and release-0.75 with `v0.75`.
   # Always name your local fork master or main.
   if [ $(current_branch) = "master" ] || [ $(current_branch) = "main" ]; then
     # For main branch, simply use git tag without major version, this will work even
diff --git a/vendor/knative.dev/hack/microbenchmarks.sh b/vendor/knative.dev/hack/microbenchmarks.sh
index ee375842c..549573fe5 100644
--- a/vendor/knative.dev/hack/microbenchmarks.sh
+++ b/vendor/knative.dev/hack/microbenchmarks.sh
@@ -32,11 +32,11 @@ function microbenchmarks_run() {
   go test -bench=. -benchtime=$BENCH_RUN_TIME -count=$BENCH_RUN_COUNT -benchmem -run="^$" -v ./...   >> "$OUTPUT_FILE" || exit
 }
 
-# To run microbenchmarks on your machine and compare your revision with upstream/master:
+# To run microbenchmarks on your machine and compare your revision with upstream/main:
 #
 # git fetch upstream
 # source microbenchmarks.sh
-# microbenchmarks_run_and_compare upstream/master
+# microbenchmarks_run_and_compare upstream/main
 #
 # NOTE: Hypothetically we should run these microbenchmarks on a machine running only a kernel and a shell,
 # but this might be sometimes hard to achieve unless you have a spare computer to play with.
diff --git a/vendor/knative.dev/pkg/client/injection/apiextensions/client/client.go b/vendor/knative.dev/pkg/client/injection/apiextensions/client/client.go
index 3edca7e9e..e8695e03f 100644
--- a/vendor/knative.dev/pkg/client/injection/apiextensions/client/client.go
+++ b/vendor/knative.dev/pkg/client/injection/apiextensions/client/client.go
@@ -29,6 +29,9 @@ import (
 
 func init() {
 	injection.Default.RegisterClient(withClient)
+	injection.Default.RegisterClientFetcher(func(ctx context.Context) interface{} {
+		return Get(ctx)
+	})
 }
 
 // Key is used as the key for associating information with a context.Context.
diff --git a/vendor/knative.dev/pkg/client/injection/apiextensions/client/fake/fake.go b/vendor/knative.dev/pkg/client/injection/apiextensions/client/fake/fake.go
index 1ed129871..6b47e9de3 100644
--- a/vendor/knative.dev/pkg/client/injection/apiextensions/client/fake/fake.go
+++ b/vendor/knative.dev/pkg/client/injection/apiextensions/client/fake/fake.go
@@ -31,6 +31,9 @@ import (
 
 func init() {
 	injection.Fake.RegisterClient(withClient)
+	injection.Fake.RegisterClientFetcher(func(ctx context.Context) interface{} {
+		return Get(ctx)
+	})
 }
 
 func withClient(ctx context.Context, cfg *rest.Config) context.Context {
diff --git a/vendor/knative.dev/pkg/client/injection/kube/client/client.go b/vendor/knative.dev/pkg/client/injection/kube/client/client.go
index 00591ff57..b7994cb72 100644
--- a/vendor/knative.dev/pkg/client/injection/kube/client/client.go
+++ b/vendor/knative.dev/pkg/client/injection/kube/client/client.go
@@ -29,6 +29,9 @@ import (
 
 func init() {
 	injection.Default.RegisterClient(withClient)
+	injection.Default.RegisterClientFetcher(func(ctx context.Context) interface{} {
+		return Get(ctx)
+	})
 }
 
 // Key is used as the key for associating information with a context.Context.
diff --git a/vendor/knative.dev/pkg/client/injection/kube/client/fake/fake.go b/vendor/knative.dev/pkg/client/injection/kube/client/fake/fake.go
index 022ae42f0..e16622294 100644
--- a/vendor/knative.dev/pkg/client/injection/kube/client/fake/fake.go
+++ b/vendor/knative.dev/pkg/client/injection/kube/client/fake/fake.go
@@ -31,6 +31,9 @@ import (
 
 func init() {
 	injection.Fake.RegisterClient(withClient)
+	injection.Fake.RegisterClientFetcher(func(ctx context.Context) interface{} {
+		return Get(ctx)
+	})
 }
 
 func withClient(ctx context.Context, cfg *rest.Config) context.Context {
diff --git a/vendor/knative.dev/pkg/codegen/cmd/injection-gen/generators/client.go b/vendor/knative.dev/pkg/codegen/cmd/injection-gen/generators/client.go
index 317e12a44..d7cb717ed 100644
--- a/vendor/knative.dev/pkg/codegen/cmd/injection-gen/generators/client.go
+++ b/vendor/knative.dev/pkg/codegen/cmd/injection-gen/generators/client.go
@@ -66,7 +66,11 @@ func (g *clientGenerator) GenerateType(c *generator.Context, t *types.Type, w io
 		"clientSetNewForConfigOrDie": c.Universe.Function(types.Name{Package: g.clientSetPackage, Name: "NewForConfigOrDie"}),
 		"clientSetInterface":         c.Universe.Type(types.Name{Package: g.clientSetPackage, Name: "Interface"}),
 		"injectionRegisterClient":    c.Universe.Function(types.Name{Package: "knative.dev/pkg/injection", Name: "Default.RegisterClient"}),
-		"restConfig":                 c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Config"}),
+		"injectionRegisterClientFetcher": c.Universe.Function(types.Name{
+			Package: "knative.dev/pkg/injection",
+			Name:    "Default.RegisterClientFetcher",
+		}),
+		"restConfig": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Config"}),
 		"loggingFromContext": c.Universe.Function(types.Name{
 			Package: "knative.dev/pkg/logging",
 			Name:    "FromContext",
@@ -85,6 +89,9 @@ func (g *clientGenerator) GenerateType(c *generator.Context, t *types.Type, w io
 var injectionClient = `
 func init() {
 	{{.injectionRegisterClient|raw}}(withClient)
+	{{.injectionRegisterClientFetcher|raw}}(func(ctx context.Context) interface{} {
+		return Get(ctx)
+	})
 }
 
 // Key is used as the key for associating information with a context.Context.
diff --git a/vendor/knative.dev/pkg/codegen/cmd/injection-gen/generators/fake_client.go b/vendor/knative.dev/pkg/codegen/cmd/injection-gen/generators/fake_client.go
index 3e98ce381..76725f2bd 100644
--- a/vendor/knative.dev/pkg/codegen/cmd/injection-gen/generators/fake_client.go
+++ b/vendor/knative.dev/pkg/codegen/cmd/injection-gen/generators/fake_client.go
@@ -71,6 +71,10 @@ func (g *fakeClientGenerator) GenerateType(c *generator.Context, t *types.Type,
 			Package: "knative.dev/pkg/injection",
 			Name:    "Fake.RegisterClient",
 		}),
+		"injectionRegisterClientFetcher": c.Universe.Function(types.Name{
+			Package: "knative.dev/pkg/injection",
+			Name:    "Fake.RegisterClientFetcher",
+		}),
 		"loggingFromContext": c.Universe.Function(types.Name{
 			Package: "knative.dev/pkg/logging",
 			Name:    "FromContext",
@@ -91,6 +95,9 @@ func (g *fakeClientGenerator) GenerateType(c *generator.Context, t *types.Type,
 var injectionFakeClient = `
 func init() {
 	{{.injectionRegisterClient|raw}}(withClient)
+	{{.injectionRegisterClientFetcher|raw}}(func(ctx context.Context) interface{} {
+		return Get(ctx)
+	})
 }
 
 func withClient(ctx {{.contextContext|raw}}, cfg *{{.restConfig|raw}}) {{.contextContext|raw}} {
diff --git a/vendor/knative.dev/pkg/controller/controller.go b/vendor/knative.dev/pkg/controller/controller.go
index f65cf4fb5..747cf58ef 100644
--- a/vendor/knative.dev/pkg/controller/controller.go
+++ b/vendor/knative.dev/pkg/controller/controller.go
@@ -31,6 +31,7 @@ import (
 	"k8s.io/apimachinery/pkg/runtime/schema"
 	"k8s.io/apimachinery/pkg/types"
 	"k8s.io/apimachinery/pkg/util/runtime"
+	"k8s.io/apimachinery/pkg/util/wait"
 	"k8s.io/client-go/tools/cache"
 	"k8s.io/client-go/tools/record"
 	"k8s.io/client-go/util/workqueue"
@@ -692,13 +693,29 @@ func RunInformers(stopCh <-chan struct{}, informers ...Informer) (func(), error)
 	}
 
 	for i, informer := range informers {
-		if ok := cache.WaitForCacheSync(stopCh, informer.HasSynced); !ok {
+		if ok := WaitForCacheSyncQuick(stopCh, informer.HasSynced); !ok {
 			return wg.Wait, fmt.Errorf("failed to wait for cache at index %d to sync", i)
 		}
 	}
 	return wg.Wait, nil
 }
 
+// WaitForCacheSyncQuick is the same as cache.WaitForCacheSync but with a much reduced
+// check-rate for the sync period.
+func WaitForCacheSyncQuick(stopCh <-chan struct{}, cacheSyncs ...cache.InformerSynced) bool {
+	err := wait.PollImmediateUntil(time.Millisecond,
+		func() (bool, error) {
+			for _, syncFunc := range cacheSyncs {
+				if !syncFunc() {
+					return false, nil
+				}
+			}
+			return true, nil
+		},
+		stopCh)
+	return err == nil
+}
+
 // StartAll kicks off all of the passed controllers with DefaultThreadsPerController.
 func StartAll(ctx context.Context, controllers ...*Impl) {
 	wg := sync.WaitGroup{}
diff --git a/vendor/knative.dev/pkg/injection/clients.go b/vendor/knative.dev/pkg/injection/clients.go
index 5c464924c..b71ef1d94 100644
--- a/vendor/knative.dev/pkg/injection/clients.go
+++ b/vendor/knative.dev/pkg/injection/clients.go
@@ -26,6 +26,10 @@ import (
 // client type to a context.
 type ClientInjector func(context.Context, *rest.Config) context.Context
 
+// ClientFetcher holds the type of a callback that returns a particular client type
+// from a context.
+type ClientFetcher func(context.Context) interface{}
+
 func (i *impl) RegisterClient(ci ClientInjector) {
 	i.m.Lock()
 	defer i.m.Unlock()
@@ -40,3 +44,21 @@ func (i *impl) GetClients() []ClientInjector {
 	// Copy the slice before returning.
 	return append(i.clients[:0:0], i.clients...)
 }
+
+func (i *impl) RegisterClientFetcher(f ClientFetcher) {
+	i.m.Lock()
+	defer i.m.Unlock()
+
+	i.clientFetchers = append(i.clientFetchers, f)
+}
+
+func (i *impl) FetchAllClients(ctx context.Context) []interface{} {
+	i.m.RLock()
+	defer i.m.RUnlock()
+
+	clients := make([]interface{}, 0, len(i.clientFetchers))
+	for _, f := range i.clientFetchers {
+		clients = append(clients, f(ctx))
+	}
+	return clients
+}
diff --git a/vendor/knative.dev/pkg/injection/interface.go b/vendor/knative.dev/pkg/injection/interface.go
index 7d2764cdc..112a6415f 100644
--- a/vendor/knative.dev/pkg/injection/interface.go
+++ b/vendor/knative.dev/pkg/injection/interface.go
@@ -36,6 +36,13 @@ type Interface interface {
 	// GetClients fetches all of the registered client injectors.
 	GetClients() []ClientInjector
 
+	// RegisterClientFetcher registers a new callback that fetches a client from
+	// a given context.
+	RegisterClientFetcher(ClientFetcher)
+
+	// FetchAllClients returns all known clients from the given context.
+	FetchAllClients(context.Context) []interface{}
+
 	// RegisterInformerFactory registers a new injector callback for associating
 	// a new informer factory with a context.
 	RegisterInformerFactory(InformerFactoryInjector)
@@ -92,6 +99,7 @@ type impl struct {
 	m sync.RWMutex
 
 	clients           []ClientInjector
+	clientFetchers    []ClientFetcher
 	factories         []InformerFactoryInjector
 	informers         []InformerInjector
 	filteredInformers []FilteredInformersInjector
diff --git a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/generated_expansion.go b/vendor/knative.dev/reconciler-test/pkg/state/interfaces.go
similarity index 61%
rename from vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/generated_expansion.go
rename to vendor/knative.dev/reconciler-test/pkg/state/interfaces.go
index 7d142e78c..34f958cb3 100644
--- a/vendor/knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/generated_expansion.go
+++ b/vendor/knative.dev/reconciler-test/pkg/state/interfaces.go
@@ -14,8 +14,14 @@ See the License for the specific language governing permissions and
 limitations under the License.
 */
 
-// Code generated by client-gen. DO NOT EDIT.
+package state
 
-package v1alpha1
+import "context"
 
-type ConfigMapPropagationExpansion interface{}
+// This is a subset of knative.dev/pkg/kvstore.Interface
+type Store interface {
+	// Get gets the key from the Store into the provided value
+	Get(ctx context.Context, key string, value interface{}) error
+	// Set sets the key into the Store from the provided value
+	Set(ctx context.Context, key string, value interface{}) error
+}
diff --git a/vendor/modules.txt b/vendor/modules.txt
index e0356ab3e..a5165b854 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1013,11 +1013,9 @@ k8s.io/utils/buffer
 k8s.io/utils/integer
 k8s.io/utils/pointer
 k8s.io/utils/trace
-# knative.dev/eventing v0.21.1-0.20210304171816-dbf18599e2ef
+# knative.dev/eventing v0.21.1-0.20210311084626-9be1470005ff
 ## explicit
 knative.dev/eventing/pkg/apis/config
-knative.dev/eventing/pkg/apis/configs
-knative.dev/eventing/pkg/apis/configs/v1alpha1
 knative.dev/eventing/pkg/apis/duck
 knative.dev/eventing/pkg/apis/duck/v1
 knative.dev/eventing/pkg/apis/duck/v1beta1
@@ -1041,8 +1039,6 @@ knative.dev/eventing/pkg/apis/sources/v1beta2
 knative.dev/eventing/pkg/client/clientset/versioned
 knative.dev/eventing/pkg/client/clientset/versioned/fake
 knative.dev/eventing/pkg/client/clientset/versioned/scheme
-knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1
-knative.dev/eventing/pkg/client/clientset/versioned/typed/configs/v1alpha1/fake
 knative.dev/eventing/pkg/client/clientset/versioned/typed/eventing/v1
 knative.dev/eventing/pkg/client/clientset/versioned/typed/eventing/v1/fake
 knative.dev/eventing/pkg/client/clientset/versioned/typed/eventing/v1beta1
@@ -1066,8 +1062,6 @@ knative.dev/eventing/pkg/client/clientset/versioned/typed/sources/v1beta1/fake
 knative.dev/eventing/pkg/client/clientset/versioned/typed/sources/v1beta2
 knative.dev/eventing/pkg/client/clientset/versioned/typed/sources/v1beta2/fake
 knative.dev/eventing/pkg/client/informers/externalversions
-knative.dev/eventing/pkg/client/informers/externalversions/configs
-knative.dev/eventing/pkg/client/informers/externalversions/configs/v1alpha1
 knative.dev/eventing/pkg/client/informers/externalversions/eventing
 knative.dev/eventing/pkg/client/informers/externalversions/eventing/v1
 knative.dev/eventing/pkg/client/informers/externalversions/eventing/v1beta1
@@ -1096,7 +1090,6 @@ knative.dev/eventing/pkg/client/injection/informers/factory/fake
 knative.dev/eventing/pkg/client/injection/reconciler/eventing/v1/broker
 knative.dev/eventing/pkg/client/injection/reconciler/eventing/v1/trigger
 knative.dev/eventing/pkg/client/injection/reconciler/eventing/v1beta1/broker
-knative.dev/eventing/pkg/client/listers/configs/v1alpha1
 knative.dev/eventing/pkg/client/listers/eventing/v1
 knative.dev/eventing/pkg/client/listers/eventing/v1beta1
 knative.dev/eventing/pkg/client/listers/flows/v1
@@ -1148,10 +1141,10 @@ knative.dev/eventing/test/test_images/performance
 knative.dev/eventing/test/test_images/print
 knative.dev/eventing/test/test_images/recordevents
 knative.dev/eventing/test/test_images/request-sender
-# knative.dev/hack v0.0.0-20210203173706-8368e1f6eacf
+# knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a
 ## explicit
 knative.dev/hack
-# knative.dev/pkg v0.0.0-20210303192215-8fbab7ebb77b
+# knative.dev/pkg v0.0.0-20210311075326-c326b70b833d
 ## explicit
 knative.dev/pkg/apis
 knative.dev/pkg/apis/duck
@@ -1241,7 +1234,7 @@ knative.dev/pkg/webhook/certificates/resources
 knative.dev/pkg/webhook/resourcesemantics
 knative.dev/pkg/webhook/resourcesemantics/defaulting
 knative.dev/pkg/webhook/resourcesemantics/validation
-# knative.dev/reconciler-test v0.0.0-20210302173618-5f01af2a17ac
+# knative.dev/reconciler-test v0.0.0-20210311003325-c40b4dd49b78
 ## explicit
 knative.dev/reconciler-test/cmd/eventshub
 knative.dev/reconciler-test/pkg/environment
@@ -1252,6 +1245,8 @@ knative.dev/reconciler-test/pkg/images
 knative.dev/reconciler-test/pkg/k8s
 knative.dev/reconciler-test/pkg/knative
 knative.dev/reconciler-test/pkg/manifest
+knative.dev/reconciler-test/pkg/milestone
+knative.dev/reconciler-test/pkg/state
 knative.dev/reconciler-test/pkg/test_images
 knative.dev/reconciler-test/pkg/test_images/eventshub
 knative.dev/reconciler-test/pkg/test_images/eventshub/dropevents


Test patch:
diff --git a/vendor/knative.dev/eventing/pkg/reconciler/testing/configmap.go b/vendor/knative.dev/eventing/pkg/reconciler/testing/configmap.go
index df942d38f..3bd694ca3 100644
--- a/vendor/knative.dev/eventing/pkg/reconciler/testing/configmap.go
+++ b/vendor/knative.dev/eventing/pkg/reconciler/testing/configmap.go
@@ -19,9 +19,6 @@ package testing
 import (
 	v1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
-	"knative.dev/eventing/pkg/apis/configs/v1alpha1"
-	"knative.dev/pkg/kmeta"
 )
 
 // ConfigMapOption enables further configuration of a ConfigMap.
@@ -47,15 +44,6 @@ func WithConfigMapLabels(labels metav1.LabelSelector) ConfigMapOption {
 	}
 }
 
-func WithConfigMapOwnerReference(ConfigMapPropagation *v1alpha1.ConfigMapPropagation) ConfigMapOption {
-	return func(cm *v1.ConfigMap) {
-		if cm.ObjectMeta.OwnerReferences == nil {
-			cm.ObjectMeta.OwnerReferences = []metav1.OwnerReference{}
-		}
-		cm.ObjectMeta.OwnerReferences = append(cm.ObjectMeta.OwnerReferences, *kmeta.NewControllerRef(ConfigMapPropagation))
-	}
-}
-
 func WithConfigMapData(data map[string]string) ConfigMapOption {
 	return func(cm *v1.ConfigMap) {
 		cm.Data = data
diff --git a/vendor/knative.dev/eventing/pkg/reconciler/testing/configmappropagation.go b/vendor/knative.dev/eventing/pkg/reconciler/testing/configmappropagation.go
deleted file mode 100644
index 97e9399db..000000000
--- a/vendor/knative.dev/eventing/pkg/reconciler/testing/configmappropagation.go
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
-Copyright 2020 The Knative Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package testing
-
-import (
-	"context"
-	"time"
-
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/types"
-
-	"knative.dev/eventing/pkg/apis/configs/v1alpha1"
-)
-
-// ConfigMapPropagationOption enables further configuration of a ConfigMapPropagation.
-type ConfigMapPropagationOption func(*v1alpha1.ConfigMapPropagation)
-
-// NewConfigMapPropagation creates a ConfigMapPropagation.
-func NewConfigMapPropagation(name, namespace string, o ...ConfigMapPropagationOption) *v1alpha1.ConfigMapPropagation {
-	cmp := &v1alpha1.ConfigMapPropagation{
-		ObjectMeta: metav1.ObjectMeta{
-			Namespace: namespace,
-			Name:      name,
-		},
-	}
-	for _, opt := range o {
-		opt(cmp)
-	}
-	cmp.SetDefaults(context.Background())
-	cmp.Spec.OriginalNamespace = "knative-eventing"
-	return cmp
-}
-
-// WithInitConfigMapPropagationConditions initializes the ConfigMapPropagation's conditions.
-func WithInitConfigMapPropagationConditions(cmp *v1alpha1.ConfigMapPropagation) {
-	cmp.Status.InitializeConditions()
-}
-
-func WithInitConfigMapStatus() ConfigMapPropagationOption {
-	return func(cmp *v1alpha1.ConfigMapPropagation) {
-		cmp.Status.CopyConfigMaps = []v1alpha1.ConfigMapPropagationStatusCopyConfigMap{}
-	}
-}
-
-func WithCopyConfigMapStatus(name, source, operation, ready, reason string) ConfigMapPropagationOption {
-	return func(cmp *v1alpha1.ConfigMapPropagation) {
-		cmp.Status.CopyConfigMaps = append(cmp.Status.CopyConfigMaps, v1alpha1.ConfigMapPropagationStatusCopyConfigMap{
-			Name:      name,
-			Source:    source,
-			Operation: operation,
-			Ready:     ready,
-			Reason:    reason,
-		})
-	}
-}
-
-func WithConfigMapPropagationDeletionTimestamp(cmp *v1alpha1.ConfigMapPropagation) {
-	t := metav1.NewTime(time.Unix(1e9, 0))
-	cmp.ObjectMeta.SetDeletionTimestamp(&t)
-}
-
-func WithConfigMapPropagationSelector(selector metav1.LabelSelector) ConfigMapPropagationOption {
-	return func(cmp *v1alpha1.ConfigMapPropagation) {
-		cmp.Spec.Selector = &selector
-	}
-}
-
-func WithConfigMapPropagationGeneration(gen int64) ConfigMapPropagationOption {
-	return func(cmp *v1alpha1.ConfigMapPropagation) {
-		cmp.Generation = gen
-	}
-}
-
-func WithConfigMapPropagationStatusObservedGeneration(gen int64) ConfigMapPropagationOption {
-	return func(cmp *v1alpha1.ConfigMapPropagation) {
-		cmp.Status.ObservedGeneration = gen
-	}
-}
-
-func WithConfigMapPropagationUID(uid string) ConfigMapPropagationOption {
-	return func(cmp *v1alpha1.ConfigMapPropagation) {
-		cmp.UID = types.UID(uid)
-	}
-}
-
-// WithConfigMapPropagationPropagated calls .Status.MarkConfigMapPropagationPropagated on the ConfigMapPropagation.
-func WithConfigMapPropagationPropagated(cmp *v1alpha1.ConfigMapPropagation) {
-	cmp.Status.MarkPropagated()
-}
-
-// WithConfigMapPropagationNotPropagated calls .Status.MarkConfigMapPropagationNotPropagated on the ConfigMapPropagation.
-func WithConfigMapPropagationNotPropagated(cmp *v1alpha1.ConfigMapPropagation) {
-	cmp.Status.MarkNotPropagated()
-}
diff --git a/vendor/knative.dev/eventing/pkg/reconciler/testing/listers.go b/vendor/knative.dev/eventing/pkg/reconciler/testing/listers.go
index 2101f974a..9e7688246 100644
--- a/vendor/knative.dev/eventing/pkg/reconciler/testing/listers.go
+++ b/vendor/knative.dev/eventing/pkg/reconciler/testing/listers.go
@@ -31,7 +31,6 @@ import (
 	corev1listers "k8s.io/client-go/listers/core/v1"
 	rbacv1listers "k8s.io/client-go/listers/rbac/v1"
 	"k8s.io/client-go/tools/cache"
-	configsv1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
 	eventingv1beta1 "knative.dev/eventing/pkg/apis/eventing/v1beta1"
 	flowsv1beta1 "knative.dev/eventing/pkg/apis/flows/v1beta1"
 	messagingv1beta1 "knative.dev/eventing/pkg/apis/messaging/v1beta1"
@@ -40,7 +39,6 @@ import (
 	sourcesv1beta1 "knative.dev/eventing/pkg/apis/sources/v1beta1"
 	sourcesv1beta2 "knative.dev/eventing/pkg/apis/sources/v1beta2"
 	fakeeventingclientset "knative.dev/eventing/pkg/client/clientset/versioned/fake"
-	configslisters "knative.dev/eventing/pkg/client/listers/configs/v1alpha1"
 	eventingv1beta1listers "knative.dev/eventing/pkg/client/listers/eventing/v1beta1"
 	flowslisters "knative.dev/eventing/pkg/client/listers/flows/v1beta1"
 	messaginglistersv1beta1 "knative.dev/eventing/pkg/client/listers/messaging/v1beta1"
@@ -225,7 +223,3 @@ func (l *Listers) GetConfigMapLister() corev1listers.ConfigMapLister {
 func (l *Listers) GetCustomResourceDefinitionLister() apiextensionsv1listers.CustomResourceDefinitionLister {
 	return apiextensionsv1listers.NewCustomResourceDefinitionLister(l.indexerFor(&apiextensionsv1.CustomResourceDefinition{}))
 }
-
-func (l *Listers) GetConfigMapPropagationLister() configslisters.ConfigMapPropagationLister {
-	return configslisters.NewConfigMapPropagationLister(l.indexerFor(&configsv1alpha1.ConfigMapPropagation{}))
-}
diff --git a/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/namespace.go b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/namespace.go
new file mode 100644
index 000000000..7394524e2
--- /dev/null
+++ b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/namespace.go
@@ -0,0 +1,51 @@
+/*
+Copyright 2020 The Knative Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package testing
+
+import (
+	"time"
+
+	corev1 "k8s.io/api/core/v1"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+// NamespaceOption enables further configuration of a Namespace.
+type NamespaceOption func(*corev1.Namespace)
+
+// NewNamespace creates a Namespace with NamespaceOptions
+func NewNamespace(name string, o ...NamespaceOption) *corev1.Namespace {
+	s := &corev1.Namespace{
+		ObjectMeta: metav1.ObjectMeta{
+			Name: name,
+		},
+	}
+	for _, opt := range o {
+		opt(s)
+	}
+	return s
+}
+
+func WithNamespaceDeleted(n *corev1.Namespace) {
+	t := metav1.NewTime(time.Unix(1e9, 0))
+	n.ObjectMeta.SetDeletionTimestamp(&t)
+}
+
+func WithNamespaceLabeled(labels map[string]string) NamespaceOption {
+	return func(n *corev1.Namespace) {
+		n.Labels = labels
+	}
+}
diff --git a/vendor/knative.dev/eventing/pkg/reconciler/testing/v1beta1/listers.go b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1beta1/listers.go
index 91b2121b9..891e79449 100644
--- a/vendor/knative.dev/eventing/pkg/reconciler/testing/v1beta1/listers.go
+++ b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1beta1/listers.go
@@ -31,7 +31,6 @@ import (
 	corev1listers "k8s.io/client-go/listers/core/v1"
 	rbacv1listers "k8s.io/client-go/listers/rbac/v1"
 	"k8s.io/client-go/tools/cache"
-	configsv1alpha1 "knative.dev/eventing/pkg/apis/configs/v1alpha1"
 	eventingv1beta1 "knative.dev/eventing/pkg/apis/eventing/v1beta1"
 	flowsv1beta1 "knative.dev/eventing/pkg/apis/flows/v1beta1"
 	messagingv1beta1 "knative.dev/eventing/pkg/apis/messaging/v1beta1"
@@ -39,7 +38,6 @@ import (
 	sourcesv1alpha2 "knative.dev/eventing/pkg/apis/sources/v1alpha2"
 	sourcesv1beta1 "knative.dev/eventing/pkg/apis/sources/v1beta1"
 	fakeeventingclientset "knative.dev/eventing/pkg/client/clientset/versioned/fake"
-	configslisters "knative.dev/eventing/pkg/client/listers/configs/v1alpha1"
 	eventingv1beta1listers "knative.dev/eventing/pkg/client/listers/eventing/v1beta1"
 	flowslisters "knative.dev/eventing/pkg/client/listers/flows/v1beta1"
 	messaginglistersv1beta1 "knative.dev/eventing/pkg/client/listers/messaging/v1beta1"
@@ -221,7 +219,3 @@ func (l *Listers) GetConfigMapLister() corev1listers.ConfigMapLister {
 func (l *Listers) GetCustomResourceDefinitionLister() apiextensionsv1listers.CustomResourceDefinitionLister {
 	return apiextensionsv1listers.NewCustomResourceDefinitionLister(l.indexerFor(&apiextensionsv1.CustomResourceDefinition{}))
 }
-
-func (l *Listers) GetConfigMapPropagationLister() configslisters.ConfigMapPropagationLister {
-	return configslisters.NewConfigMapPropagationLister(l.indexerFor(&configsv1alpha1.ConfigMapPropagation{}))
-}
diff --git a/vendor/knative.dev/eventing/test/lib/creation.go b/vendor/knative.dev/eventing/test/lib/creation.go
index 2c5f95e70..70edfd7b5 100644
--- a/vendor/knative.dev/eventing/test/lib/creation.go
+++ b/vendor/knative.dev/eventing/test/lib/creation.go
@@ -914,7 +914,7 @@ const (
 )
 
 // CreateRBACResourcesForBrokers creates required RBAC resources for creating Brokers,
-// see https://github.com/knative/docs/blob/master/docs/eventing/broker-trigger.md - Manual Setup.
+// see https://github.com/knative/docs/blob/main/docs/eventing/broker-trigger.md - Manual Setup.
 func (c *Client) CreateRBACResourcesForBrokers() {
 	c.CreateServiceAccountOrFail(saIngressName)
 	c.CreateServiceAccountOrFail(saFilterName)
diff --git a/vendor/knative.dev/pkg/reconciler/testing/context.go b/vendor/knative.dev/pkg/reconciler/testing/context.go
index 7c36d8ed7..aa7f385be 100644
--- a/vendor/knative.dev/pkg/reconciler/testing/context.go
+++ b/vendor/knative.dev/pkg/reconciler/testing/context.go
@@ -18,10 +18,19 @@ package testing
 
 import (
 	"context"
+	"time"
 
+	"go.uber.org/atomic"
 	"go.uber.org/zap/zaptest"
 
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
+	"k8s.io/apimachinery/pkg/runtime"
+	"k8s.io/apimachinery/pkg/runtime/schema"
+	"k8s.io/apimachinery/pkg/runtime/serializer"
+	"k8s.io/apimachinery/pkg/util/wait"
+	"k8s.io/apimachinery/pkg/watch"
 	"k8s.io/client-go/rest"
+	clientgotesting "k8s.io/client-go/testing"
 	"k8s.io/client-go/tools/record"
 
 	"knative.dev/pkg/controller"
@@ -43,3 +52,73 @@ func SetupFakeContextWithCancel(t zaptest.TestingT) (context.Context, context.Ca
 	ctx, is := injection.Fake.SetupInformers(ctx, &rest.Config{})
 	return ctx, c, is
 }
+
+// fakeClient is an interface capturing the two functions we need from fake clients.
+type fakeClient interface {
+	PrependWatchReactor(resource string, reaction clientgotesting.WatchReactionFunc)
+	PrependReactor(verb, resource string, reaction clientgotesting.ReactionFunc)
+}
+
+// withTracker is an interface capturing only the Tracker function. The dynamic client
+// currently does not have that, so we need to special-case it.
+type withTracker interface {
+	Tracker() clientgotesting.ObjectTracker
+}
+
+// RunAndSyncInformers runs the given informers, then makes sure their caches are all
+// synced and in addition makes sure that all the Watch calls have been properly setup.
+// See https://github.com/kubernetes/kubernetes/issues/95372 for background on the Watch
+// calls tragedy.
+func RunAndSyncInformers(ctx context.Context, informers ...controller.Informer) (func(), error) {
+	var watchesPending atomic.Int32
+
+	for _, client := range injection.Fake.FetchAllClients(ctx) {
+		c := client.(fakeClient)
+
+		var tracker clientgotesting.ObjectTracker
+		if withTracker, ok := c.(withTracker); ok {
+			tracker = withTracker.Tracker()
+		} else {
+			// Required setup for the dynamic client as it doesn't define a Tracker() function.
+			// TODO(markusthoemmes): Drop this if https://github.com/kubernetes/kubernetes/pull/100085 lands.
+			scheme := runtime.NewScheme()
+			scheme.AddKnownTypeWithName(schema.GroupVersionKind{Group: "fake-dynamic-client-group", Version: "v1", Kind: "List"}, &unstructured.UnstructuredList{})
+			codecs := serializer.NewCodecFactory(scheme)
+			tracker = clientgotesting.NewObjectTracker(scheme, codecs.UniversalDecoder())
+		}
+
+		c.PrependReactor("list", "*", func(action clientgotesting.Action) (handled bool, ret runtime.Object, err error) {
+			// Every list (before actual informer usage) is going to be followed by a Watch call.
+			watchesPending.Inc()
+			return false, nil, nil
+		})
+
+		c.PrependWatchReactor("*", func(action clientgotesting.Action) (handled bool, ret watch.Interface, err error) {
+			// The actual Watch call. This is a reimplementation of the default Watch
+			// calls in fakes to guarantee we have actually **done** the work.
+			gvr := action.GetResource()
+			ns := action.GetNamespace()
+			watch, err := tracker.Watch(gvr, ns)
+			if err != nil {
+				return false, nil, err
+			}
+
+			watchesPending.Dec()
+
+			return true, watch, nil
+		})
+	}
+
+	wf, err := controller.RunInformers(ctx.Done(), informers...)
+	if err != nil {
+		return wf, err
+	}
+
+	err = wait.PollImmediate(time.Microsecond, wait.ForeverTestTimeout, func() (bool, error) {
+		if watchesPending.Load() == 0 {
+			return true, nil
+		}
+		return false, nil
+	})
+	return wf, err
+}
diff --git a/vendor/knative.dev/reconciler-test/pkg/environment/execution.go b/vendor/knative.dev/reconciler-test/pkg/environment/execution.go
new file mode 100644
index 000000000..3ee8dfde2
--- /dev/null
+++ b/vendor/knative.dev/reconciler-test/pkg/environment/execution.go
@@ -0,0 +1,77 @@
+package environment
+
+import (
+	"context"
+	"sync"
+	"testing"
+
+	"knative.dev/reconciler-test/pkg/feature"
+)
+
+func categorizeSteps(steps []feature.Step) map[feature.Timing][]feature.Step {
+	res := make(map[feature.Timing][]feature.Step, 4)
+
+	res[feature.Setup] = filterStepTimings(steps, feature.Setup)
+	res[feature.Requirement] = filterStepTimings(steps, feature.Requirement)
+	res[feature.Assert] = filterStepTimings(steps, feature.Assert)
+	res[feature.Teardown] = filterStepTimings(steps, feature.Teardown)
+
+	return res
+}
+
+func filterStepTimings(steps []feature.Step, timing feature.Timing) []feature.Step {
+	var res []feature.Step
+	for _, s := range steps {
+		if s.T == timing {
+			res = append(res, s)
+		}
+	}
+	return res
+}
+
+// executeWithSkippingT executes the step in a sub test wrapping t in order to never fail the subtest
+func (mr *MagicEnvironment) executeWithSkippingT(ctx context.Context, originalT *testing.T, f *feature.Feature, s *feature.Step) feature.T {
+	originalT.Helper()
+	return mr.executeStep(ctx, originalT, f, s, createSkippingT)
+}
+
+// executeWithoutWrappingT executes the step in a sub test without wrapping t
+func (mr *MagicEnvironment) executeWithoutWrappingT(ctx context.Context, originalT *testing.T, f *feature.Feature, s *feature.Step) feature.T {
+	originalT.Helper()
+	return mr.executeStep(ctx, originalT, f, s, func(t *testing.T) feature.T {
+		return t
+	})
+}
+
+func (mr *MagicEnvironment) executeStep(ctx context.Context, originalT *testing.T, f *feature.Feature, s *feature.Step, tDecorator func(t *testing.T) feature.T) feature.T {
+	originalT.Helper()
+	ctx, cancelFn := context.WithCancel(ctx)
+	defer cancelFn()
+
+	wg := &sync.WaitGroup{}
+	wg.Add(1)
+
+	var internalT feature.T
+	originalT.Run(s.T.String()+"/"+s.TestName(), func(st *testing.T) {
+		st.Helper()
+		internalT = tDecorator(st)
+		st.Cleanup(wg.Done) // Make sure wg.Done() is always invoked, no matter what
+
+		// Create a cancel tied to this step
+		ctx, cancelFn := context.WithCancel(ctx)
+		st.Cleanup(cancelFn)
+
+		mr.milestones.StepStarted(f.Name, s, internalT)
+		originalT.Cleanup(func() {
+			mr.milestones.StepFinished(f.Name, s, internalT)
+		})
+
+		// Perform step.
+		s.Fn(ctx, internalT)
+	})
+
+	// Wait for the test to execute before spawning the next one
+	wg.Wait()
+
+	return internalT
+}
diff --git a/vendor/knative.dev/reconciler-test/pkg/environment/magic.go b/vendor/knative.dev/reconciler-test/pkg/environment/magic.go
index 4ea8806b4..b605a30e6 100644
--- a/vendor/knative.dev/reconciler-test/pkg/environment/magic.go
+++ b/vendor/knative.dev/reconciler-test/pkg/environment/magic.go
@@ -18,20 +18,27 @@ package environment
 
 import (
 	"context"
+	"errors"
 	"fmt"
 	"sync"
 	"testing"
 
+	"github.com/google/uuid"
+	"go.uber.org/zap"
 	corev1 "k8s.io/api/core/v1"
+	"knative.dev/pkg/logging"
+
 	"knative.dev/reconciler-test/pkg/feature"
+	"knative.dev/reconciler-test/pkg/milestone"
+	"knative.dev/reconciler-test/pkg/state"
 )
 
 func NewGlobalEnvironment(ctx context.Context) GlobalEnvironment {
-
 	fmt.Printf("level %s, state %s\n\n", l, s)
 
 	return &MagicGlobalEnvironment{
 		c:                ctx,
+		instanceID:       uuid.New().String(),
 		RequirementLevel: *l,
 		FeatureState:     *s,
 	}
@@ -39,6 +46,9 @@ func NewGlobalEnvironment(ctx context.Context) GlobalEnvironment {
 
 type MagicGlobalEnvironment struct {
 	c context.Context
+	// instanceID represents this instance of the GlobalEnvironment. It is used
+	// to link runs together from a single global environment.
+	instanceID string
 
 	RequirementLevel feature.Levels
 	FeatureState     feature.States
@@ -53,8 +63,15 @@ type MagicEnvironment struct {
 	namespace        string
 	namespaceCreated bool
 	refs             []corev1.ObjectReference
+
+	// milestones sends milestone events, if configured.
+	milestones milestone.Emitter
 }
 
+const (
+	NamespaceDeleteErrorReason = "NamespaceDeleteError"
+)
+
 func (mr *MagicEnvironment) Reference(ref ...corev1.ObjectReference) {
 	mr.refs = append(mr.refs, ref...)
 }
@@ -65,8 +82,10 @@ func (mr *MagicEnvironment) References() []corev1.ObjectReference {
 
 func (mr *MagicEnvironment) Finish() {
 	if err := mr.DeleteNamespaceIfNeeded(); err != nil {
+		mr.milestones.Exception(NamespaceDeleteErrorReason, "failed to delete namespace %q, %v", mr.namespace, err)
 		panic(err)
 	}
+	mr.milestones.Finished()
 }
 
 func (mr *MagicGlobalEnvironment) Environment(opts ...EnvOpts) (context.Context, Environment) {
@@ -93,10 +112,30 @@ func (mr *MagicGlobalEnvironment) Environment(opts ...EnvOpts) (context.Context,
 		}
 	}
 
+	// It is possible to have milestones set in the options, check for nil in
+	// env first before attempting to pull one from the os environment.
+	if env.milestones == nil {
+		milestones, err := milestone.NewMilestoneEmitterFromEnv(mr.instanceID, namespace)
+		if err != nil {
+			// This is just an FYI error, don't block the test run.
+			logging.FromContext(mr.c).Error("failed to create the milestone event sender", zap.Error(err))
+		}
+		if milestones != nil {
+			env.milestones = milestones
+		}
+	}
+
 	if err := env.CreateNamespaceIfNeeded(); err != nil {
 		panic(err)
 	}
 
+	env.milestones.Environment(map[string]string{
+		// TODO: we could add more detail here, don't send secrets.
+		"requirementLevel": env.RequirementLevel().String(),
+		"featureState":     env.FeatureState().String(),
+		"namespace":        env.Namespace(),
+	})
+
 	return ctx, env
 }
 
@@ -121,6 +160,22 @@ func (mr *MagicEnvironment) FeatureState() feature.States {
 	return mr.s
 }
 
+// InNamespace takes the namespace that the tests should be run in instead of creating
+// a namespace. This is useful if the Unit Under Test (UUT) is created ahead of the tests
+// to be run. Longer term this should make it easier to decouple the UUT from the generic
+// conformance tests, for example, create a Broker of type {Kafka, RabbitMQ} and the tests
+// themselves should not care.
+func InNamespace(namespace string) EnvOpts {
+	return func(ctx context.Context, env Environment) (context.Context, error) {
+		mr, ok := env.(*MagicEnvironment)
+		if !ok {
+			return ctx, errors.New("InNamespace: not a magic env")
+		}
+		mr.namespace = namespace
+		return ctx, nil
+	}
+}
+
 func (mr *MagicEnvironment) Namespace() string {
 	return mr.namespace
 }
@@ -132,64 +187,111 @@ func (mr *MagicEnvironment) Prerequisite(ctx context.Context, t *testing.T, f *f
 	})
 }
 
-func (mr *MagicEnvironment) Test(ctx context.Context, t *testing.T, f *feature.Feature) {
-	t.Helper() // Helper marks the calling function as a test helper function.
+// Test implements Environment.Test.
+// In the MagicEnvironment implementation, the Store that is inside of the
+// Feature will be assigned to the context. If no Store is set on Feature,
+// Test will create a new store.KVStore and set it on the feature and then
+// apply it to the Context.
+func (mr *MagicEnvironment) Test(ctx context.Context, originalT *testing.T, f *feature.Feature) {
+	originalT.Helper() // Helper marks the calling function as a test helper function.
+
+	mr.milestones.TestStarted(f.Name, originalT)
+	originalT.Cleanup(func() {
+		mr.milestones.TestFinished(f.Name, originalT)
+	})
 
-	steps := feature.CollapseSteps(f.Steps)
+	if f.State == nil {
+		f.State = &state.KVStore{}
+	}
+	ctx = state.ContextWith(ctx, f.State)
 
-	for _, timing := range feature.Timings() {
-		wg := &sync.WaitGroup{}
-		wg.Add(1)
+	steps := categorizeSteps(f.Steps)
 
-		t.Run(timing.String(), func(t *testing.T) {
-			t.Helper()      // Helper marks the calling function as a test helper function.
-			defer wg.Done() // Outer wait.
+	skipAssertions := false
+	skipRequirements := false
+	skipReason := ""
 
-			for _, s := range steps {
-				// Skip if step phase is not running.
-				if s.T != timing {
-					continue
-				}
-				t.Run(s.TestName(), func(t *testing.T) {
-					ctx, cancelFn := context.WithCancel(ctx)
-					t.Cleanup(cancelFn)
+	for _, s := range steps[feature.Setup] {
+		s := s
 
-					wg.Add(1)
-					defer wg.Done()
+		// Setup are executed always, no matter their level and state
+		internalT := mr.executeWithoutWrappingT(ctx, originalT, f, &s)
 
-					if mr.s&s.S == 0 {
-						t.Skipf("%s features not enabled for testing", s.S)
-					}
-					if mr.l&s.L == 0 {
-						t.Skipf("%s requirement not enabled for testing", s.L)
-					}
+		// Failed setup fails everything, so just run the teardown
+		if internalT.Failed() {
+			skipAssertions = true
+			skipRequirements = true // No need to test other requirements
+		}
+	}
 
-					s := s
+	for _, s := range steps[feature.Requirement] {
+		s := s
 
-					t.Helper() // Helper marks the calling function as a test helper function.
+		if skipRequirements {
+			break
+		}
 
-					// Perform step.
-					s.Fn(ctx, t)
+		// Requirement never fails the parent test
+		internalT := mr.executeWithSkippingT(ctx, originalT, f, &s)
 
-				})
-			}
-		})
+		if internalT.Failed() {
+			skipAssertions = true
+			skipRequirements = true // No need to test other requirements
+			skipReason = fmt.Sprintf("requirement %q failed", s.Name)
+		}
+	}
+
+	for _, s := range steps[feature.Assert] {
+		s := s
+
+		if skipAssertions {
+			break
+		}
+
+		if mr.shouldFail(&s) {
+			mr.executeWithoutWrappingT(ctx, originalT, f, &s)
+		} else {
+			mr.executeWithSkippingT(ctx, originalT, f, &s)
+		}
+
+		// TODO implement fail fast feature to avoid proceeding with testing if an "expected level" assert fails here
+	}
+
+	for _, s := range steps[feature.Teardown] {
+		s := s
 
-		wg.Wait()
+		wg := &sync.WaitGroup{}
+		wg.Add(1)
+
+		// Teardown are executed always, no matter their level and state
+		mr.executeWithoutWrappingT(ctx, originalT, f, &s)
+	}
+
+	if skipReason != "" {
+		originalT.Skipf("Skipping feature '%s' assertions because %s", f.Name, skipReason)
 	}
 }
 
+func (mr *MagicEnvironment) shouldFail(s *feature.Step) bool {
+	return !(mr.s&s.S == 0 || mr.l&s.L == 0)
+}
+
 // TestSet implements Environment.TestSet
 func (mr *MagicEnvironment) TestSet(ctx context.Context, t *testing.T, fs *feature.FeatureSet) {
 	t.Helper() // Helper marks the calling function as a test helper function
-	wg := &sync.WaitGroup{}
 
+	mr.milestones.TestSetStarted(fs.Name, t)
+	t.Cleanup(func() {
+		mr.milestones.TestSetFinished(fs.Name, t)
+	})
+
+	wg := &sync.WaitGroup{}
 	for _, f := range fs.Features {
 		wg.Add(1)
 		t.Run(fs.Name, func(t *testing.T) {
-			// FeatureSets should be run in parellel.
+			t.Cleanup(wg.Done)
+			// FeatureSets should be run in parallel.
 			mr.Test(ctx, t, &f)
-			wg.Done()
 		})
 	}
 
diff --git a/vendor/knative.dev/reconciler-test/pkg/environment/namespace.go b/vendor/knative.dev/reconciler-test/pkg/environment/namespace.go
index ee293e1b6..64deb87ca 100644
--- a/vendor/knative.dev/reconciler-test/pkg/environment/namespace.go
+++ b/vendor/knative.dev/reconciler-test/pkg/environment/namespace.go
@@ -34,9 +34,9 @@ const (
 )
 
 // CreateNamespaceIfNeeded creates a new namespace if it does not exist.
-func (me *MagicEnvironment) CreateNamespaceIfNeeded() error {
-	c := kubeclient.Get(me.c)
-	nsSpec, err := c.CoreV1().Namespaces().Get(context.Background(), me.namespace, metav1.GetOptions{})
+func (mr *MagicEnvironment) CreateNamespaceIfNeeded() error {
+	c := kubeclient.Get(mr.c)
+	nsSpec, err := c.CoreV1().Namespaces().Get(context.Background(), mr.namespace, metav1.GetOptions{})
 
 	if err != nil {
 		if !apierrors.IsNotFound(err) {
@@ -45,45 +45,47 @@ func (me *MagicEnvironment) CreateNamespaceIfNeeded() error {
 
 		// Namespace was not found, try to create it.
 
-		nsSpec = &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: me.namespace}}
+		nsSpec = &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: mr.namespace}}
 		nsSpec, err = c.CoreV1().Namespaces().Create(context.Background(), nsSpec, metav1.CreateOptions{})
 
 		if err != nil {
-			return fmt.Errorf("failed to create Namespace: %s; %v", me.namespace, err)
+			return fmt.Errorf("failed to create Namespace: %s; %v", mr.namespace, err)
 		}
-		me.namespaceCreated = true
+		mr.namespaceCreated = true
+		mr.milestones.NamespaceCreated(mr.namespace)
 
 		// https://github.com/kubernetes/kubernetes/issues/66689
 		// We can only start creating pods after the default ServiceAccount is created by the kube-controller-manager.
 		if err := wait.PollImmediate(interval, timeout, func() (bool, error) {
-			sas := c.CoreV1().ServiceAccounts(me.namespace)
+			sas := c.CoreV1().ServiceAccounts(mr.namespace)
 			if _, err := sas.Get(context.Background(), "default", metav1.GetOptions{}); err == nil {
 				return true, nil
 			}
 			return false, nil
 		}); err != nil {
-			return fmt.Errorf("the default ServiceAccount was not created for the Namespace: %s", me.namespace)
+			return fmt.Errorf("the default ServiceAccount was not created for the Namespace: %s", mr.namespace)
 		}
 	}
 	return nil
 }
 
-func (me *MagicEnvironment) DeleteNamespaceIfNeeded() error {
-	if me.namespaceCreated {
-		c := kubeclient.Get(me.c)
+func (mr *MagicEnvironment) DeleteNamespaceIfNeeded() error {
+	if mr.namespaceCreated {
+		c := kubeclient.Get(mr.c)
 
-		_, err := c.CoreV1().Namespaces().Get(context.Background(), me.namespace, metav1.GetOptions{})
+		_, err := c.CoreV1().Namespaces().Get(context.Background(), mr.namespace, metav1.GetOptions{})
 		if apierrors.IsNotFound(err) {
-			me.namespaceCreated = false
+			mr.namespaceCreated = false
 			return nil
 		} else if err != nil {
 			return err
 		}
 
-		if err := c.CoreV1().Namespaces().Delete(context.Background(), me.namespace, metav1.DeleteOptions{}); err != nil {
+		if err := c.CoreV1().Namespaces().Delete(context.Background(), mr.namespace, metav1.DeleteOptions{}); err != nil {
 			return err
 		}
-		me.namespaceCreated = false
+		mr.namespaceCreated = false
+		mr.milestones.NamespaceDeleted(mr.namespace)
 	}
 
 	return nil
diff --git a/vendor/knative.dev/reconciler-test/pkg/environment/t.go b/vendor/knative.dev/reconciler-test/pkg/environment/t.go
new file mode 100644
index 000000000..d1946fe00
--- /dev/null
+++ b/vendor/knative.dev/reconciler-test/pkg/environment/t.go
@@ -0,0 +1,102 @@
+package environment
+
+import (
+	"testing"
+
+	"go.uber.org/atomic"
+
+	"knative.dev/reconciler-test/pkg/feature"
+)
+
+// skippingT records if the test succeeded or failing, but never fails it
+type skippingT struct {
+	*testing.T
+
+	failed  *atomic.Bool
+	skipped *atomic.Bool
+}
+
+var _ feature.T = (*skippingT)(nil)
+
+func createSkippingT(originalT *testing.T) feature.T {
+	return &skippingT{
+		T:       originalT,
+		failed:  atomic.NewBool(false),
+		skipped: atomic.NewBool(false),
+	}
+}
+
+func (t *skippingT) Error(args ...interface{}) {
+	t.T.Helper()
+	t.failed.Store(true)
+	t.T.Log(args...)
+}
+
+func (t *skippingT) Errorf(format string, args ...interface{}) {
+	t.T.Helper()
+	t.failed.Store(true)
+	t.T.Logf(format, args...)
+}
+
+func (t *skippingT) Fail() {
+	t.T.Helper()
+	t.failed.Store(true)
+}
+
+func (t *skippingT) FailNow() {
+	t.T.Helper()
+	t.failed.Store(true)
+	t.T.SkipNow()
+}
+
+func (t *skippingT) Failed() bool {
+	return t.failed.Load()
+}
+
+func (t *skippingT) Fatal(args ...interface{}) {
+	t.T.Helper()
+	t.failed.Store(true)
+	t.T.Log(args...)
+	t.T.SkipNow()
+}
+
+func (t *skippingT) Fatalf(format string, args ...interface{}) {
+	t.T.Helper()
+	t.failed.Store(true)
+	t.T.Logf(format, args...)
+	t.T.SkipNow()
+}
+
+func (t *skippingT) Log(args ...interface{}) {
+	t.T.Helper()
+	t.T.Log(args...)
+}
+
+func (t *skippingT) Logf(format string, args ...interface{}) {
+	t.T.Helper()
+	t.T.Logf(format, args...)
+}
+
+func (t *skippingT) Skip(args ...interface{}) {
+	t.T.Helper()
+	t.skipped.Store(true)
+	t.T.Log(args...)
+	t.T.SkipNow()
+}
+
+func (t *skippingT) Skipf(format string, args ...interface{}) {
+	t.T.Helper()
+	t.skipped.Store(true)
+	t.T.Logf(format, args...)
+	t.T.SkipNow()
+}
+
+func (t *skippingT) SkipNow() {
+	t.T.Helper()
+	t.skipped.Store(true)
+	t.T.SkipNow()
+}
+
+func (t *skippingT) Skipped() bool {
+	return t.skipped.Load()
+}
diff --git a/vendor/knative.dev/reconciler-test/pkg/eventshub/options.go b/vendor/knative.dev/reconciler-test/pkg/eventshub/options.go
index 38f5550c3..6ec9cd577 100644
--- a/vendor/knative.dev/reconciler-test/pkg/eventshub/options.go
+++ b/vendor/knative.dev/reconciler-test/pkg/eventshub/options.go
@@ -96,6 +96,11 @@ func ReplyWithAppendedData(appendData string) EventsHubOption {
 	)
 }
 
+// ResponseWaitTime defines how much the receiver has to wait before replying.
+func ResponseWaitTime(delay time.Duration) EventsHubOption {
+	return envDuration("RESPONSE_WAIT_TIME", delay)
+}
+
 // --- Sender options
 
 // InitialSenderDelay defines how much the sender has to wait, when started, before start sending events.
diff --git a/vendor/knative.dev/reconciler-test/pkg/feature/collapse.go b/vendor/knative.dev/reconciler-test/pkg/feature/collapse.go
deleted file mode 100644
index b52e74880..000000000
--- a/vendor/knative.dev/reconciler-test/pkg/feature/collapse.go
+++ /dev/null
@@ -1,79 +0,0 @@
-package feature
-
-import (
-	"context"
-	"testing"
-)
-
-// CollapseSteps is used by the framework to impose the execution constraints of the different steps
-// Steps with Setup, Requirement and Teardown timings are run sequentially in order
-// Steps with Assert timing are run in parallel
-func CollapseSteps(steps []Step) []Step {
-	var (
-		setup, requirement, teardown *Step
-		asserts                      []Step
-	)
-
-	for i, s := range steps {
-		switch s.T {
-		case Setup:
-			setup = composeStep(setup, &steps[i])
-		case Requirement:
-			requirement = composeStep(requirement, &steps[i])
-		case Assert:
-			asserts = append(asserts, parallelizeStep(s))
-		case Teardown:
-			teardown = composeStep(teardown, &steps[i])
-		}
-	}
-
-	var result []Step
-	if setup != nil {
-		result = append(result, *setup)
-	}
-	if requirement != nil {
-		result = append(result, *requirement)
-	}
-	result = append(result, asserts...)
-	if teardown != nil {
-		result = append(result, *teardown)
-	}
-
-	return result
-}
-
-func composeStep(x *Step, y *Step) *Step {
-	if x == nil {
-		return y
-	}
-	if y == nil {
-		return x
-	}
-	return &Step{
-		Name: x.Name + " and " + y.Name,
-		S:    x.S,
-		L:    x.L,
-		T:    x.T,
-		Fn: func(ctx context.Context, t T) {
-			// TODO this is just a workaround until we find a proper solution for https://github.com/knative-sandbox/reconciler-test/issues/106
-			t.(*testing.T).Helper()
-			x.Fn(ctx, t)
-			y.Fn(ctx, t)
-		},
-	}
-}
-
-func parallelizeStep(x Step) Step {
-	return Step{
-		Name: x.Name,
-		S:    x.S,
-		L:    x.L,
-		T:    x.T,
-		Fn: func(ctx context.Context, t T) {
-			// TODO this is just a workaround until we find a proper solution for https://github.com/knative-sandbox/reconciler-test/issues/106
-			t.(*testing.T).Parallel()
-			t.(*testing.T).Helper()
-			x.Fn(ctx, t)
-		},
-	}
-}
diff --git a/vendor/knative.dev/reconciler-test/pkg/feature/feature.go b/vendor/knative.dev/reconciler-test/pkg/feature/feature.go
index 2dcdea759..12e2a2d37 100644
--- a/vendor/knative.dev/reconciler-test/pkg/feature/feature.go
+++ b/vendor/knative.dev/reconciler-test/pkg/feature/feature.go
@@ -19,12 +19,38 @@ package feature
 import (
 	"context"
 	"fmt"
+	"runtime"
+	"strings"
+
+	"knative.dev/reconciler-test/pkg/state"
 )
 
 // Feature is a list of steps and feature name.
 type Feature struct {
 	Name  string
 	Steps []Step
+	State state.Store
+}
+
+// NewFeatureNamed creates a new feature with the provided name
+func NewFeatureNamed(name string) *Feature {
+	f := new(Feature)
+	f.Name = name
+	return f
+}
+
+// NewFeature creates a new feature with name taken from the caller name
+func NewFeature() *Feature {
+	f := new(Feature)
+
+	pc, _, _, _ := runtime.Caller(1)
+	caller := runtime.FuncForPC(pc)
+	if caller != nil {
+		splitted := strings.Split(caller.Name(), ".")
+		f.Name = splitted[len(splitted)-1]
+	}
+
+	return f
 }
 
 // FeatureSet is a list of features and feature set name.
@@ -79,6 +105,12 @@ func (f *Feature) Requirement(name string, fn StepFn) {
 	})
 }
 
+// Assert is a shortcut for Stable(name).Must(name, fn),
+// useful for developing integration tests that doesn't require assertion levels.
+func (f *Feature) Assert(name string, fn StepFn) {
+	f.Stable(name).Must(name, fn)
+}
+
 // Assert adds a step function to the feature set at the Assert timing phase.
 func (a *Asserter) Assert(l Levels, name string, fn StepFn) {
 	a.f.AddStep(Step{
diff --git a/vendor/knative.dev/reconciler-test/pkg/feature/t.go b/vendor/knative.dev/reconciler-test/pkg/feature/t.go
index 1dca2e589..a729faca3 100644
--- a/vendor/knative.dev/reconciler-test/pkg/feature/t.go
+++ b/vendor/knative.dev/reconciler-test/pkg/feature/t.go
@@ -16,8 +16,15 @@ limitations under the License.
 
 package feature
 
+import "time"
+
 // T is an interface similar to testing.T passed to StepFn to perform logging and assertions
 type T interface {
+	Name() string
+
+	Log(args ...interface{})
+	Logf(format string, args ...interface{})
+
 	Error(args ...interface{})
 	Errorf(format string, args ...interface{})
 	Fail()
@@ -26,10 +33,14 @@ type T interface {
 	Fatalf(format string, args ...interface{})
 	FailNow()
 
-	Log(args ...interface{})
-	Logf(format string, args ...interface{})
-
 	Skip(args ...interface{})
 	Skipf(format string, args ...interface{})
 	SkipNow()
+
+	Failed() bool
+	Skipped() bool
+
+	// Note: these are step scoped!
+	Cleanup(f func())
+	Deadline() (deadline time.Time, ok bool)
 }
diff --git a/vendor/knative.dev/reconciler-test/pkg/milestone/emitter.go b/vendor/knative.dev/reconciler-test/pkg/milestone/emitter.go
new file mode 100644
index 000000000..5c7a44da6
--- /dev/null
+++ b/vendor/knative.dev/reconciler-test/pkg/milestone/emitter.go
@@ -0,0 +1,195 @@
+/*
+Copyright 2021 The Knative Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package milestone
+
+import (
+	"context"
+	"fmt"
+	"time"
+
+	cloudevents "github.com/cloudevents/sdk-go/v2"
+	"github.com/kelseyhightower/envconfig"
+	"go.uber.org/zap"
+	"knative.dev/pkg/apis"
+	"knative.dev/pkg/logging"
+
+	"knative.dev/reconciler-test/pkg/feature"
+)
+
+const (
+	enableRetry  = true
+	retryBackoff = 10 * time.Millisecond
+	maxTries     = 3
+)
+
+type envConfig struct {
+	MilestoneEventsTarget string `envconfig:"MILESTONE_EVENTS_TARGET"`
+}
+
+// Emitter sends milestone events.
+type Emitter interface {
+	// Helpers to create known events.
+
+	Environment(env map[string]string)
+	NamespaceCreated(namespace string)
+	NamespaceDeleted(namespace string)
+	TestStarted(feature string, t feature.T)
+	TestFinished(feature string, t feature.T)
+	StepStarted(feature string, step *feature.Step, t feature.T)
+	StepFinished(feature string, step *feature.Step, t feature.T)
+	TestSetStarted(featureSet string, t feature.T)
+	TestSetFinished(featureSet string, t feature.T)
+	Finished()
+	Exception(reason, messageFormat string, messageA ...interface{})
+}
+
+// NewMilestoneEmitterFromEnv will attempt to pull the env var
+// `MILESTONE_EVENTS_TARGET` as the target uri for sending milestone events.
+func NewMilestoneEmitterFromEnv(instance, namespace string) (Emitter, error) {
+	var env envConfig
+	if err := envconfig.Process("", &env); err != nil {
+		return nil, err
+	}
+	if len(env.MilestoneEventsTarget) > 0 {
+		fmt.Printf("milestone events target: %s\n\n", env.MilestoneEventsTarget)
+		return NewMilestoneEmitter(instance, namespace, env.MilestoneEventsTarget)
+	}
+	return &NilSafeClient{}, nil
+}
+
+// NewMilestoneEmitter will convert target uri to a milestone event sender and return it.
+//
+func NewMilestoneEmitter(instance, namespace, uri string) (Emitter, error) {
+	target, err := apis.ParseURL(uri)
+	if err != nil {
+		return nil, err
+	}
+	switch target.Scheme {
+	case "http", "https":
+		p, err := cloudevents.NewHTTP(cloudevents.WithTarget(target.String()))
+		if err != nil {
+			return nil, err
+		}
+		client, err := cloudevents.NewClient(p, cloudevents.WithTimeNow(), cloudevents.WithUUIDs())
+		return &NilSafeClient{
+			Client:  client,
+			Factory: NewFactory(instance, namespace),
+		}, err
+	default:
+		return nil, fmt.Errorf("unsupported milestone event target uri: %q", target.String())
+	}
+}
+
+// NilSafeClient is a simple wrapper around a cloudevent client that implements
+// Emitter to provide nil check safety.
+type NilSafeClient struct {
+	Client  cloudevents.Client
+	Factory *Factory
+}
+
+func (n *NilSafeClient) Environment(env map[string]string) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.Environment(env))
+}
+
+func (n *NilSafeClient) NamespaceCreated(namespace string) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.NamespaceCreated(namespace))
+}
+
+func (n *NilSafeClient) NamespaceDeleted(namespace string) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.NamespaceDeleted(namespace))
+}
+
+func (n *NilSafeClient) TestStarted(feature string, t feature.T) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.TestStarted(feature, t.Name()))
+}
+
+func (n *NilSafeClient) TestFinished(feature string, t feature.T) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.TestFinished(feature, t.Name(), t.Skipped(), t.Failed()))
+}
+
+func (n *NilSafeClient) StepStarted(feature string, step *feature.Step, t feature.T) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.StepStarted(feature, step.Name, step.T.String(), step.L.String(), t.Name()))
+}
+
+func (n *NilSafeClient) StepFinished(feature string, step *feature.Step, t feature.T) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.StepFinished(feature, step.Name, step.T.String(), step.L.String(), t.Name(), t.Skipped(), t.Failed()))
+}
+
+func (n *NilSafeClient) TestSetStarted(featureSet string, t feature.T) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.TestSetStarted(featureSet, t.Name()))
+}
+
+func (n *NilSafeClient) TestSetFinished(featureSet string, t feature.T) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.TestSetFinished(featureSet, t.Name(), t.Skipped(), t.Failed()))
+}
+
+func (n *NilSafeClient) Finished() {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.Finished())
+}
+
+func (n *NilSafeClient) Exception(reason, messageFormat string, messageA ...interface{}) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	n.Event(context.Background(), n.Factory.Exception(reason, messageFormat, messageA...))
+}
+
+// Event implements Emitter.Event.
+func (n *NilSafeClient) Event(ctx context.Context, event cloudevents.Event) {
+	if n == nil || n.Client == nil {
+		return
+	}
+	if enableRetry {
+		// Adds retry to the outbound send attempt.
+		ctx = cloudevents.ContextWithRetriesExponentialBackoff(ctx, retryBackoff, maxTries)
+	}
+	if result := n.Client.Send(ctx, event); cloudevents.IsUndelivered(result) {
+		logging.FromContext(ctx).Errorw("failed to deliver milestone event", zap.Error(result))
+	} else if cloudevents.IsNACK(result) {
+		logging.FromContext(ctx).Errorw("milestone event target returned NACK", zap.Error(result), zap.String("event", event.Type()))
+	}
+}
diff --git a/vendor/knative.dev/reconciler-test/pkg/milestone/factory.go b/vendor/knative.dev/reconciler-test/pkg/milestone/factory.go
new file mode 100644
index 000000000..fefc63dc3
--- /dev/null
+++ b/vendor/knative.dev/reconciler-test/pkg/milestone/factory.go
@@ -0,0 +1,242 @@
+/*
+Copyright 2021 The Knative Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package milestone
+
+import (
+	"fmt"
+	"strings"
+
+	cloudevents "github.com/cloudevents/sdk-go/v2"
+)
+
+const (
+	EnvironmentType      = "dev.knative.rekt.environment.v1"
+	NamespaceCreatedType = "dev.knative.rekt.namespace.created.v1"
+	NamespaceDeletedType = "dev.knative.rekt.namespace.deleted.v1"
+	TestStartedType      = "dev.knative.rekt.test.started.v1"
+	TestFinishedType     = "dev.knative.rekt.test.finished.v1"
+	StepStartedType      = "dev.knative.rekt.step.started.v1"
+	StepFinishedType     = "dev.knative.rekt.step.finished.v1"
+	TestSetStartedType   = "dev.knative.rekt.testset.started.v1"
+	TestSetFinishedType  = "dev.knative.rekt.testset.finished.v1"
+	FinishedType         = "dev.knative.rekt.finished.v1"
+	ExceptionType        = "dev.knative.rekt.exception.v1"
+)
+
+func NewFactory(id, namespace string) *Factory {
+	return &Factory{
+		Source:  "knative.dev/reconciler-test/" + id, // TODO: revisit.
+		Subject: fmt.Sprintf("/api/v1/namespaces/%s", namespace),
+	}
+}
+
+type Factory struct {
+	Subject string
+	Source  string
+}
+
+func (ef *Factory) Environment(env map[string]string) cloudevents.Event {
+	event := ef.baseEvent(EnvironmentType)
+
+	_ = event.SetData(cloudevents.ApplicationJSON, env)
+
+	return event
+}
+
+func (ef *Factory) baseEvent(eventType string) cloudevents.Event {
+	event := cloudevents.NewEvent()
+
+	event.SetSubject(ef.Subject)
+	event.SetSource(ef.Source)
+	event.SetType(eventType)
+
+	return event
+}
+
+func (ef *Factory) NamespaceCreated(namespace string) cloudevents.Event {
+	event := ef.baseEvent(NamespaceCreatedType)
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]string{
+		"namespace": namespace,
+	})
+
+	return event
+}
+
+func (ef *Factory) NamespaceDeleted(namespace string) cloudevents.Event {
+	event := ef.baseEvent(NamespaceDeletedType)
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]string{
+		"namespace": namespace,
+	})
+
+	return event
+}
+
+func (ef *Factory) TestStarted(feature, testName string) cloudevents.Event {
+	event := ef.baseEvent(TestStartedType)
+
+	lparts := strings.Split(testName, "/")
+	if len(lparts) > 0 {
+		event.SetExtension("testparent", lparts[0])
+	}
+
+	event.SetExtension("feature", feature)
+	event.SetExtension("testname", testName)
+
+	// TODO: we can log a whole lot of stuff here but we need a more formal structure to track
+	// where we are in the test to be able to assemble it.
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]interface{}{
+		"feature":  feature,
+		"testName": testName,
+	})
+
+	return event
+}
+
+func (ef *Factory) TestFinished(feature, testName string, skipped, failed bool) cloudevents.Event {
+	event := ef.baseEvent(TestFinishedType)
+
+	lparts := strings.Split(testName, "/")
+	if len(lparts) > 0 {
+		event.SetExtension("testparent", lparts[0])
+	}
+
+	event.SetExtension("feature", feature)
+	event.SetExtension("testname", testName)
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]interface{}{
+		"feature":  feature,
+		"testName": testName,
+		"skipped":  skipped,
+		"failed":   failed,
+		"passed":   !failed && !skipped,
+	})
+
+	return event
+}
+
+func (ef *Factory) StepStarted(feature, stepName, timing, level, testName string) cloudevents.Event {
+	event := ef.baseEvent(StepStartedType)
+
+	lparts := strings.Split(testName, "/")
+	if len(lparts) > 0 {
+		event.SetExtension("testparent", lparts[0])
+	}
+
+	event.SetExtension("feature", feature)
+	event.SetExtension("stepname", stepName)
+	event.SetExtension("steptiming", timing)
+	event.SetExtension("steplevel", level)
+	event.SetExtension("testname", testName)
+
+	// TODO: we can log a whole lot of stuff here but we need a more formal structure to track
+	// where we are in the test to be able to assemble it.
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]interface{}{
+		"feature":    feature,
+		"stepName":   stepName,
+		"stepTiming": timing,
+		"stepLevel":  level,
+		"testName":   testName,
+	})
+
+	return event
+}
+
+func (ef *Factory) StepFinished(feature, stepName, timing, level, testName string, skipped, failed bool) cloudevents.Event {
+	event := ef.baseEvent(StepFinishedType)
+
+	lparts := strings.Split(testName, "/")
+	if len(lparts) > 0 {
+		event.SetExtension("testparent", lparts[0])
+	}
+
+	event.SetExtension("feature", feature)
+	event.SetExtension("stepname", stepName)
+	event.SetExtension("steptiming", timing)
+	event.SetExtension("steplevel", level)
+	event.SetExtension("testname", testName)
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]interface{}{
+		"feature":    feature,
+		"stepName":   stepName,
+		"stepTiming": timing,
+		"stepLevel":  level,
+		"testName":   testName,
+		"skipped":    skipped,
+		"failed":     failed,
+		"passed":     !failed && !skipped,
+	})
+
+	return event
+}
+
+func (ef *Factory) TestSetStarted(featureSet, testName string) cloudevents.Event {
+	event := ef.baseEvent(TestSetStartedType)
+
+	event.SetExtension("featureset", featureSet)
+	event.SetExtension("testname", testName)
+
+	// TODO: we can log a whole lot of stuff here but we need a more formal structure to track
+	// where we are in the test to be able to assemble it.
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]interface{}{
+		"featureSet": featureSet,
+		"testName":   testName,
+	})
+
+	return event
+}
+
+func (ef *Factory) TestSetFinished(featureSet, testName string, skipped, failed bool) cloudevents.Event {
+	event := ef.baseEvent(TestSetFinishedType)
+
+	event.SetExtension("featureset", featureSet)
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]interface{}{
+		"featureSet": featureSet,
+		"testName":   testName,
+		"skipped":    skipped,
+		"failed":     failed,
+		"passed":     !failed && !skipped,
+	})
+
+	return event
+}
+
+func (ef *Factory) Finished() cloudevents.Event {
+	event := ef.baseEvent(FinishedType)
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]string{})
+
+	return event
+}
+
+func (ef *Factory) Exception(reason, messageFormat string, messageA ...interface{}) cloudevents.Event {
+	event := ef.baseEvent(ExceptionType)
+
+	event.SetExtension("reason", reason)
+
+	_ = event.SetData(cloudevents.ApplicationJSON, map[string]string{
+		"reason":  reason,
+		"message": fmt.Sprintf(messageFormat, messageA...),
+	})
+
+	return event
+}
diff --git a/vendor/knative.dev/reconciler-test/pkg/state/context.go b/vendor/knative.dev/reconciler-test/pkg/state/context.go
new file mode 100644
index 000000000..8f449ca02
--- /dev/null
+++ b/vendor/knative.dev/reconciler-test/pkg/state/context.go
@@ -0,0 +1,70 @@
+/*
+Copyright 2021 The Knative Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package state
+
+import (
+	"context"
+)
+
+type envKey struct{}
+
+// ContextWith decorates the given context with the provided Store, and returns
+// the resulting context.
+func ContextWith(ctx context.Context, s Store) context.Context {
+	return context.WithValue(ctx, envKey{}, s)
+}
+
+// FromContext returns the Store from Context, if not found FromContext will
+// panic.
+// TODO: revisit if we really want to panic here... likely not.
+func FromContext(ctx context.Context) Store {
+	if e, ok := ctx.Value(envKey{}).(Store); ok {
+		return e
+	}
+	panic("no Store found in context")
+}
+
+// Fail is defined to avoid circular dependency with the feature package.
+type fail interface {
+	Error(args ...interface{})
+}
+
+// Get the string value from the kvstore from key.
+func GetStringOrFail(ctx context.Context, t fail, key string) string {
+	value := ""
+	state := FromContext(ctx)
+	if err := state.Get(ctx, key, &value); err != nil {
+		t.Error(err)
+	}
+	return value
+}
+
+// Get gets the key from the Store into the provided value
+func GetOrFail(ctx context.Context, t fail, key string, value interface{}) {
+	state := FromContext(ctx)
+	if err := state.Get(ctx, key, value); err != nil {
+		t.Error(err)
+	}
+}
+
+// Set sets the key into the Store from the provided value
+func SetOrFail(ctx context.Context, t fail, key string, value interface{}) {
+	state := FromContext(ctx)
+	if err := state.Set(ctx, key, value); err != nil {
+		t.Error(err)
+	}
+}
diff --git a/vendor/knative.dev/reconciler-test/pkg/state/kvstore.go b/vendor/knative.dev/reconciler-test/pkg/state/kvstore.go
new file mode 100644
index 000000000..082bc103f
--- /dev/null
+++ b/vendor/knative.dev/reconciler-test/pkg/state/kvstore.go
@@ -0,0 +1,67 @@
+/*
+Copyright 2021 The Knative Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package state
+
+import (
+	"context"
+	"encoding/json"
+	"fmt"
+	"sync"
+)
+
+type KVStore struct {
+	store map[string]string
+	mux   sync.Mutex
+}
+
+// Get retrieves and unmarshals the value from the map.
+func (cs *KVStore) Get(_ context.Context, key string, value interface{}) error {
+	cs.mux.Lock()
+	defer cs.mux.Unlock()
+
+	if cs.store == nil {
+		cs.store = make(map[string]string)
+	}
+
+	v, ok := cs.store[key]
+
+	if !ok {
+		return fmt.Errorf("key %s does not exist", key)
+	}
+	err := json.Unmarshal([]byte(v), value)
+	if err != nil {
+		return fmt.Errorf("failed to Unmarshal %q: %v", v, err)
+	}
+	return nil
+}
+
+// Set marshals and sets the value given under specified key.
+func (cs *KVStore) Set(_ context.Context, key string, value interface{}) error {
+	cs.mux.Lock()
+	defer cs.mux.Unlock()
+
+	if cs.store == nil {
+		cs.store = make(map[string]string)
+	}
+
+	bytes, err := json.Marshal(value)
+	if err != nil {
+		return fmt.Errorf("failed to Marshal: %v", err)
+	}
+	cs.store[key] = string(bytes)
+	return nil
+}
diff --git a/vendor/knative.dev/reconciler-test/pkg/test_images/eventshub/receiver/receiver.go b/vendor/knative.dev/reconciler-test/pkg/test_images/eventshub/receiver/receiver.go
index 545109948..dfb52d0b1 100644
--- a/vendor/knative.dev/reconciler-test/pkg/test_images/eventshub/receiver/receiver.go
+++ b/vendor/knative.dev/reconciler-test/pkg/test_images/eventshub/receiver/receiver.go
@@ -41,17 +41,21 @@ type Receiver struct {
 	// EventLogs is the list of EventLogger implementors to vent observed events.
 	EventLogs *eventshub.EventLogs
 
-	ctx       context.Context
-	seq       uint64
-	dropSeq   uint64
-	replyFunc func(context.Context, http.ResponseWriter, eventshub.EventInfo)
-	counter   *dropevents.CounterHandler
+	ctx              context.Context
+	seq              uint64
+	dropSeq          uint64
+	replyFunc        func(context.Context, http.ResponseWriter, eventshub.EventInfo)
+	counter          *dropevents.CounterHandler
+	responseWaitTime time.Duration
 }
 
 type envConfig struct {
 	// ReceiverName is used to identify this instance of the receiver.
 	ReceiverName string `envconfig:"POD_NAME" default:"receiver-default" required:"true"`
 
+	// ResponseWaitTime is the seconds to wait for the eventshub to write any response
+	ResponseWaitTime int `envconfig:"RESPONSE_WAIT_TIME" default:"0" required:"false"`
+
 	// Reply is used to define if the observer should reply back
 	Reply bool `envconfig:"REPLY" default:"false" required:"false"`
 
@@ -105,12 +109,18 @@ func NewFromEnv(ctx context.Context, eventLogs *eventshub.EventLogs) *Receiver {
 		}
 	}
 
+	var responseWaitTime time.Duration
+	if env.ResponseWaitTime != 0 {
+		responseWaitTime = time.Duration(env.ResponseWaitTime) * time.Second
+	}
+
 	return &Receiver{
-		Name:      env.ReceiverName,
-		EventLogs: eventLogs,
-		ctx:       ctx,
-		replyFunc: replyFunc,
-		counter:   counter,
+		Name:             env.ReceiverName,
+		EventLogs:        eventLogs,
+		ctx:              ctx,
+		replyFunc:        replyFunc,
+		counter:          counter,
+		responseWaitTime: responseWaitTime,
 	}
 }
 
@@ -188,6 +198,11 @@ func (o *Receiver) ServeHTTP(writer http.ResponseWriter, request *http.Request)
 		logging.FromContext(o.ctx).Fatalw("Error while venting the recorded event", zap.Error(err))
 	}
 
+	if o.responseWaitTime != 0 {
+		logging.FromContext(o.ctx).Debugf("Waiting for %v before replying", o.responseWaitTime.String())
+		time.Sleep(o.responseWaitTime)
+	}
+
 	if shouldSkip {
 		// Trigger a redelivery
 		writer.WriteHeader(http.StatusConflict)