Repository: knative-sandbox/eventing-rabbitmq
Pull request #1130 (2023-05-12 09:04:55)

Fix addressable unit tests
fixes automation https://github.com/knative-sandbox/eventing-rabbitmq/pull/1127

knative-prow[bot]: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative-sandbox/eventing-rabbitmq/pull/1130#" title="Author self-approved">gabo1208</a>*

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

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-rabbitmq/blob/main/OWNERS)~~ [gabo1208]

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":[]} -->
codecov[bot]: ## [Codecov](https://app.codecov.io/gh/knative-sandbox/eventing-rabbitmq/pull/1130?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) Report
> Merging [#1130](https://app.codecov.io/gh/knative-sandbox/eventing-rabbitmq/pull/1130?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) (64210f9) into [main](https://app.codecov.io/gh/knative-sandbox/eventing-rabbitmq/commit/b5262252366582b3e5978dbb31e9038591896cf0?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) (b526225) will **increase** coverage by `0.00%`.
> The diff coverage is `100.00%`.

```diff
@@           Coverage Diff           @@
##             main    #1130   +/-   ##
=======================================
  Coverage   74.32%   74.32%           
=======================================
  Files          44       44           
  Lines        3310     3299   -11     
=======================================
- Hits         2460     2452    -8     
+ Misses        762      760    -2     
+ Partials       88       87    -1     
```


| [Impacted Files](https://app.codecov.io/gh/knative-sandbox/eventing-rabbitmq/pull/1130?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) | Coverage Δ | |
|---|---|---|
| [pkg/reconciler/broker/broker\_lifecycle.go](https://app.codecov.io/gh/knative-sandbox/eventing-rabbitmq/pull/1130?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox#diff-cGtnL3JlY29uY2lsZXIvYnJva2VyL2Jyb2tlcl9saWZlY3ljbGUuZ28=) | `89.28% <ø> (+4.67%)` | :arrow_up: |
| [pkg/reconciler/broker/broker.go](https://app.codecov.io/gh/knative-sandbox/eventing-rabbitmq/pull/1130?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox#diff-cGtnL3JlY29uY2lsZXIvYnJva2VyL2Jyb2tlci5nbw==) | `86.07% <100.00%> (ø)` | |


knative-prow[bot]: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative-sandbox/eventing-rabbitmq/pull/1130#pullrequestreview-1431164560" title="LGTM">gab-satchi</a>*, *<a href="https://github.com/knative-sandbox/eventing-rabbitmq/pull/1130#" title="Author self-approved">gabo1208</a>*

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

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-rabbitmq/blob/main/OWNERS)~~ [gab-satchi,gabo1208]

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/go.mod b/go.mod
index 5d328c73..6267bf11 100644
--- a/go.mod
+++ b/go.mod
@@ -21,10 +21,10 @@ require (
 	k8s.io/client-go v0.25.4
 	k8s.io/code-generator v0.25.4
 	k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1
-	knative.dev/eventing v0.37.1-0.20230508075800-d18cb428a10e
+	knative.dev/eventing v0.37.1-0.20230510142401-a9908ef95e08
 	knative.dev/hack v0.0.0-20230501013555-7d81248b4638
 	knative.dev/pkg v0.0.0-20230502134655-db8a35330281
-	knative.dev/reconciler-test v0.0.0-20230505081957-8a5db1ba56ec
+	knative.dev/reconciler-test v0.0.0-20230509130259-914f5d7a110b
 	sigs.k8s.io/controller-runtime v0.11.2
 )
 
diff --git a/go.sum b/go.sum
index 07d443a7..bb3841bf 100644
--- a/go.sum
+++ b/go.sum
@@ -1028,14 +1028,14 @@ k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 h1:MQ8BAZPZlWk3S9K4a9NCkI
 k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU=
 k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2 h1:GfD9OzL11kvZN5iArC6oTS7RTj7oJOIfnislxYlqTj8=
 k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
-knative.dev/eventing v0.37.1-0.20230508075800-d18cb428a10e h1:8I+VyIe1zZyMCCluPhj34p2lpkVitfcTUDkmMOYfKPk=
-knative.dev/eventing v0.37.1-0.20230508075800-d18cb428a10e/go.mod h1:NP5X/LwAkZdoJKI4QWFzIYJxcZVRhVqd25Om9cCV4/Y=
+knative.dev/eventing v0.37.1-0.20230510142401-a9908ef95e08 h1:jeBOJps5oexH7ozLjGLjN3Tzz8jhU4IM+nPI5ccyr6I=
+knative.dev/eventing v0.37.1-0.20230510142401-a9908ef95e08/go.mod h1:F8sojjRJkGec190/kZiti4eHGWdG5joVF0YUILDtMVs=
 knative.dev/hack v0.0.0-20230501013555-7d81248b4638 h1:9IuXHdwp5jNmIg+0LVTQr8o4u0FYD99uCfynM9tS0XY=
 knative.dev/hack v0.0.0-20230501013555-7d81248b4638/go.mod h1:yk2OjGDsbEnQjfxdm0/HJKS2WqTLEFg/N6nUs6Rqx3Q=
 knative.dev/pkg v0.0.0-20230502134655-db8a35330281 h1:9mN8O5XO68DKlkzEhFAShUx+O/I+TQR71vmTvYt8oF4=
 knative.dev/pkg v0.0.0-20230502134655-db8a35330281/go.mod h1:2qWPP9Gjh9Q7ETti+WRHnBnGCSCq+6q7m3p/nmUQviE=
-knative.dev/reconciler-test v0.0.0-20230505081957-8a5db1ba56ec h1:a3jwP2zGdUkCEHue/jHIgyxkv+bqLgF6E7VZnZzzbCM=
-knative.dev/reconciler-test v0.0.0-20230505081957-8a5db1ba56ec/go.mod h1:+NvhtpElJXXFaKQWSpN2kK42zHRmHsqZeU2SsCCSBeM=
+knative.dev/reconciler-test v0.0.0-20230509130259-914f5d7a110b h1:r7UyxaDPVy/kDB/EK4LPJIemUcWj0Ae6BiDRPQ/vQ8s=
+knative.dev/reconciler-test v0.0.0-20230509130259-914f5d7a110b/go.mod h1:+NvhtpElJXXFaKQWSpN2kK42zHRmHsqZeU2SsCCSBeM=
 pgregory.net/rapid v0.3.3 h1:jCjBsY4ln4Atz78QoBWxUEvAHaFyNDQg9+WU62aCn1U=
 pgregory.net/rapid v0.3.3/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU=
 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
diff --git a/pkg/reconciler/broker/broker.go b/pkg/reconciler/broker/broker.go
index 15ee0bda..62fed633 100644
--- a/pkg/reconciler/broker/broker.go
+++ b/pkg/reconciler/broker/broker.go
@@ -407,7 +407,7 @@ func (r *Reconciler) reconcileCommonIngressResources(ctx context.Context, s *cor
 	}
 	PropagateIngressAvailability(&b.Status, ingressEndpoints)
 
-	SetAddress(&b.Status, &apis.URL{
+	b.Status.SetAddress(&apis.URL{
 		Scheme: "http",
 		Host:   network.GetServiceHostname(ingressEndpoints.GetName(), ingressEndpoints.GetNamespace()),
 	})
diff --git a/pkg/reconciler/broker/broker_lifecycle.go b/pkg/reconciler/broker/broker_lifecycle.go
index 61de9767..f0a90562 100644
--- a/pkg/reconciler/broker/broker_lifecycle.go
+++ b/pkg/reconciler/broker/broker_lifecycle.go
@@ -21,8 +21,6 @@ import (
 
 	"knative.dev/eventing/pkg/apis/duck"
 	eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1"
-	"knative.dev/pkg/apis"
-	v1 "knative.dev/pkg/apis/duck/v1"
 )
 
 const (
@@ -81,19 +79,3 @@ func MarkDeadLetterSinkNotConfigured(bs *eventingv1.BrokerStatus) {
 func MarkDLXNotConfigured(bs *eventingv1.BrokerStatus) {
 	bs.GetConditionSet().Manage(bs).MarkTrueWithReason(BrokerConditionDLX, DeadLetterSinkNotConfigured, DeadLetterSinkNotConfiguredReason)
 }
-
-// SetAddress makes this Broker addressable by setting the URI. It also
-// sets the BrokerConditionAddressable to true.
-func SetAddress(bs *eventingv1.BrokerStatus, url *apis.URL) {
-	if bs.AddressStatus.Address == nil {
-		bs.AddressStatus.Address = &v1.Addressable{}
-	}
-
-	bs.AddressStatus.Address.URL = url
-
-	if url != nil {
-		bs.GetConditionSet().Manage(bs).MarkTrue(BrokerConditionAddressable)
-	} else {
-		bs.GetConditionSet().Manage(bs).MarkFalse(BrokerConditionAddressable, "nil URL", "URL is nil")
-	}
-}
diff --git a/vendor/knative.dev/eventing/pkg/apis/eventing/v1/broker_lifecycle.go b/vendor/knative.dev/eventing/pkg/apis/eventing/v1/broker_lifecycle.go
index 58ef725f..e85f12ed 100644
--- a/vendor/knative.dev/eventing/pkg/apis/eventing/v1/broker_lifecycle.go
+++ b/vendor/knative.dev/eventing/pkg/apis/eventing/v1/broker_lifecycle.go
@@ -81,6 +81,7 @@ func (bs *BrokerStatus) SetAddress(url *apis.URL) {
 
 	if url != nil {
 		bs.GetConditionSet().Manage(bs).MarkTrue(BrokerConditionAddressable)
+		bs.AddressStatus.Address.Name = &url.Scheme
 	} else {
 		bs.GetConditionSet().Manage(bs).MarkFalse(BrokerConditionAddressable, "nil URL", "URL is nil")
 	}
diff --git a/vendor/knative.dev/eventing/pkg/apis/feature/features.go b/vendor/knative.dev/eventing/pkg/apis/feature/features.go
index 6420ecc1..22e1378c 100644
--- a/vendor/knative.dev/eventing/pkg/apis/feature/features.go
+++ b/vendor/knative.dev/eventing/pkg/apis/feature/features.go
@@ -71,8 +71,8 @@ func (e Flags) IsStrictTransportEncryption() bool {
 	return e != nil && e[TransportEncryption] == Strict
 }
 
-// IsDisbledTransportEncryption returns true if the TransportEncryption feature is in Disabled mode.
-func (e Flags) IsDisbledTransportEncryption() bool {
+// IsDisabledTransportEncryption returns true if the TransportEncryption feature is in Disabled mode.
+func (e Flags) IsDisabledTransportEncryption() bool {
 	return e != nil && e[TransportEncryption] == Disabled
 }
 
diff --git a/vendor/knative.dev/eventing/pkg/apis/sources/v1/ping_lifecycle.go b/vendor/knative.dev/eventing/pkg/apis/sources/v1/ping_lifecycle.go
index a7a0bb90..24222d62 100644
--- a/vendor/knative.dev/eventing/pkg/apis/sources/v1/ping_lifecycle.go
+++ b/vendor/knative.dev/eventing/pkg/apis/sources/v1/ping_lifecycle.go
@@ -23,6 +23,7 @@ import (
 	corev1 "k8s.io/api/core/v1"
 	"k8s.io/apimachinery/pkg/runtime/schema"
 	"knative.dev/pkg/apis"
+	duckv1 "knative.dev/pkg/apis/duck/v1"
 )
 
 const (
@@ -86,9 +87,10 @@ func (s *PingSourceStatus) InitializeConditions() {
 }
 
 // MarkSink sets the condition that the source has a sink configured.
-func (s *PingSourceStatus) MarkSink(uri *apis.URL) {
-	s.SinkURI = uri
+func (s *PingSourceStatus) MarkSink(uri *duckv1.Addressable) {
 	if uri != nil {
+		s.SinkURI = uri.URL
+		s.SinkCACerts = uri.CACerts
 		PingSourceCondSet.Manage(s).MarkTrue(PingSourceConditionSinkProvided)
 	} else {
 		PingSourceCondSet.Manage(s).MarkFalse(PingSourceConditionSinkProvided, "SinkEmpty", "Sink has resolved to empty.")
diff --git a/vendor/knative.dev/eventing/pkg/apis/sources/v1/sinkbinding_lifecycle.go b/vendor/knative.dev/eventing/pkg/apis/sources/v1/sinkbinding_lifecycle.go
index 983e3900..81371999 100644
--- a/vendor/knative.dev/eventing/pkg/apis/sources/v1/sinkbinding_lifecycle.go
+++ b/vendor/knative.dev/eventing/pkg/apis/sources/v1/sinkbinding_lifecycle.go
@@ -85,9 +85,10 @@ func (sbs *SinkBindingStatus) MarkBindingAvailable() {
 }
 
 // MarkSink sets the condition that the source has a sink configured.
-func (sbs *SinkBindingStatus) MarkSink(uri *apis.URL) {
-	sbs.SinkURI = uri
-	if uri != nil {
+func (sbs *SinkBindingStatus) MarkSink(addr *duckv1.Addressable) {
+	if addr != nil {
+		sbs.SinkURI = addr.URL
+		sbs.SinkCACerts = addr.CACerts
 		sbCondSet.Manage(sbs).MarkTrue(SinkBindingConditionSinkProvided)
 	} else {
 		sbCondSet.Manage(sbs).MarkFalse(SinkBindingConditionSinkProvided, "SinkEmpty", "Sink has resolved to empty.%s", "")
@@ -104,12 +105,12 @@ func (sb *SinkBinding) Do(ctx context.Context, ps *duckv1.WithPod) {
 		logging.FromContext(ctx).Errorf("No Resolver associated with context for sink: %+v", sb)
 		return
 	}
-	uri, err := resolver.URIFromDestinationV1(ctx, sb.Spec.Sink, sb)
+	addr, err := resolver.AddressableFromDestinationV1(ctx, sb.Spec.Sink, sb)
 	if err != nil {
 		logging.FromContext(ctx).Errorw("URI could not be extracted from destination: ", zap.Error(err))
 		return
 	}
-	sb.Status.MarkSink(uri)
+	sb.Status.MarkSink(addr)
 
 	var ceOverrides string
 	if sb.Spec.CloudEventOverrides != nil {
@@ -124,8 +125,14 @@ func (sb *SinkBinding) Do(ctx context.Context, ps *duckv1.WithPod) {
 	for i := range spec.InitContainers {
 		spec.InitContainers[i].Env = append(spec.InitContainers[i].Env, corev1.EnvVar{
 			Name:  "K_SINK",
-			Value: uri.String(),
+			Value: addr.URL.String(),
 		})
+		if addr.CACerts != nil {
+			spec.InitContainers[i].Env = append(spec.InitContainers[i].Env, corev1.EnvVar{
+				Name:  "K_CA_CERTS",
+				Value: *addr.CACerts,
+			})
+		}
 		spec.InitContainers[i].Env = append(spec.InitContainers[i].Env, corev1.EnvVar{
 			Name:  "K_CE_OVERRIDES",
 			Value: ceOverrides,
@@ -134,8 +141,14 @@ func (sb *SinkBinding) Do(ctx context.Context, ps *duckv1.WithPod) {
 	for i := range spec.Containers {
 		spec.Containers[i].Env = append(spec.Containers[i].Env, corev1.EnvVar{
 			Name:  "K_SINK",
-			Value: uri.String(),
+			Value: addr.URL.String(),
 		})
+		if addr.CACerts != nil {
+			spec.Containers[i].Env = append(spec.Containers[i].Env, corev1.EnvVar{
+				Name:  "K_CA_CERTS",
+				Value: *addr.CACerts,
+			})
+		}
 		spec.Containers[i].Env = append(spec.Containers[i].Env, corev1.EnvVar{
 			Name:  "K_CE_OVERRIDES",
 			Value: ceOverrides,
@@ -152,7 +165,7 @@ func (sb *SinkBinding) Undo(ctx context.Context, ps *duckv1.WithPod) {
 		env := make([]corev1.EnvVar, 0, len(spec.InitContainers[i].Env))
 		for j, ev := range c.Env {
 			switch ev.Name {
-			case "K_SINK", "K_CE_OVERRIDES":
+			case "K_SINK", "K_CE_OVERRIDES", "K_CA_CERTS":
 				continue
 			default:
 				env = append(env, spec.InitContainers[i].Env[j])
@@ -167,7 +180,7 @@ func (sb *SinkBinding) Undo(ctx context.Context, ps *duckv1.WithPod) {
 		env := make([]corev1.EnvVar, 0, len(spec.Containers[i].Env))
 		for j, ev := range c.Env {
 			switch ev.Name {
-			case "K_SINK", "K_CE_OVERRIDES":
+			case "K_SINK", "K_CE_OVERRIDES", "K_CA_CERTS":
 				continue
 			default:
 				env = append(env, spec.Containers[i].Env[j])
diff --git a/vendor/knative.dev/eventing/pkg/eventingtls/eventingtls.go b/vendor/knative.dev/eventing/pkg/eventingtls/eventingtls.go
index ad6a9853..b787432a 100644
--- a/vendor/knative.dev/eventing/pkg/eventingtls/eventingtls.go
+++ b/vendor/knative.dev/eventing/pkg/eventingtls/eventingtls.go
@@ -43,6 +43,8 @@ const (
 	TLSCrt = "tls.crt"
 	// DefaultMinTLSVersion is the default minimum TLS version for servers and clients.
 	DefaultMinTLSVersion = tls.VersionTLS12
+	// SecretCACrt is the name of the CA Cert in the secret
+	SecretCACert = "ca.crt"
 )
 
 type ClientConfig struct {
diff --git a/vendor/knative.dev/eventing/pkg/eventingtls/servermanager.go b/vendor/knative.dev/eventing/pkg/eventingtls/servermanager.go
index 8bee9dd4..c1394b26 100644
--- a/vendor/knative.dev/eventing/pkg/eventingtls/servermanager.go
+++ b/vendor/knative.dev/eventing/pkg/eventingtls/servermanager.go
@@ -103,7 +103,7 @@ func (s *ServerManager) httpHandler() http.Handler {
 func (s *ServerManager) httpsHandler() http.Handler {
 	return http.HandlerFunc(func(response http.ResponseWriter, request *http.Request) {
 		flags := s.featureStore.Load()
-		if flags.IsDisbledTransportEncryption() {
+		if flags.IsDisabledTransportEncryption() {
 			// As flag updates are eventually consistent across all components,
 			// we want a retryable error. A 404 seemed the most reasonable (400
 			// is not retryable).
diff --git a/vendor/modules.txt b/vendor/modules.txt
index fa9eba06..baf7716e 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1052,7 +1052,7 @@ k8s.io/utils/net
 k8s.io/utils/pointer
 k8s.io/utils/strings/slices
 k8s.io/utils/trace
-# knative.dev/eventing v0.37.1-0.20230508075800-d18cb428a10e
+# knative.dev/eventing v0.37.1-0.20230510142401-a9908ef95e08
 ## explicit; go 1.19
 knative.dev/eventing/cmd/heartbeats
 knative.dev/eventing/pkg/adapter/v2
@@ -1266,7 +1266,7 @@ knative.dev/pkg/webhook/json
 knative.dev/pkg/webhook/resourcesemantics
 knative.dev/pkg/webhook/resourcesemantics/defaulting
 knative.dev/pkg/webhook/resourcesemantics/validation
-# knative.dev/reconciler-test v0.0.0-20230505081957-8a5db1ba56ec
+# knative.dev/reconciler-test v0.0.0-20230509130259-914f5d7a110b
 ## explicit; go 1.18
 knative.dev/reconciler-test/cmd/eventshub
 knative.dev/reconciler-test/pkg/environment


Test patch:
diff --git a/third_party/eventing-latest/eventing-core.yaml b/third_party/eventing-latest/eventing-core.yaml
index ea865a93..9e4e4ca3 100644
--- a/third_party/eventing-latest/eventing-core.yaml
+++ b/third_party/eventing-latest/eventing-core.yaml
@@ -16,7 +16,7 @@ kind: Namespace
 metadata:
   name: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 
 ---
@@ -40,7 +40,7 @@ metadata:
   name: eventing-controller
   namespace: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 ---
 apiVersion: rbac.authorization.k8s.io/v1
@@ -48,7 +48,7 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -64,7 +64,7 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller-resolver
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -80,7 +80,7 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller-source-observer
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -96,7 +96,7 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller-sources-controller
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -112,7 +112,7 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller-manipulator
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -144,7 +144,7 @@ metadata:
   name: pingsource-mt-adapter
   namespace: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 ---
 apiVersion: rbac.authorization.k8s.io/v1
@@ -152,7 +152,7 @@ kind: ClusterRoleBinding
 metadata:
   name: knative-eventing-pingsource-mt-adapter
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -184,7 +184,7 @@ metadata:
   name: eventing-webhook
   namespace: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 ---
 apiVersion: rbac.authorization.k8s.io/v1
@@ -192,7 +192,7 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-webhook
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -209,7 +209,7 @@ metadata:
   namespace: knative-eventing
   name: eventing-webhook
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -225,7 +225,7 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-webhook-resolver
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -241,7 +241,7 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-webhook-podspecable-binding
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -273,7 +273,7 @@ metadata:
   name: config-br-default-channel
   namespace: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 data:
   channel-template-spec: |
@@ -301,7 +301,7 @@ metadata:
   name: config-br-defaults
   namespace: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 data:
   # Configures the default for any Broker that does not specify a spec.config or Broker class.
@@ -338,7 +338,7 @@ metadata:
   name: default-ch-webhook
   namespace: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 data:
   # Configuration for defaulting channels that do not specify CRD implementations.
@@ -374,7 +374,7 @@ metadata:
   labels:
   annotations:
     knative.dev/example-checksum: "9185c153"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 data:
   _example: |
@@ -420,7 +420,7 @@ metadata:
   labels:
     knative.dev/config-propagation: original
     knative.dev/config-category: eventing
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 data:
   # ALPHA feature: The kreference-group allows you to use the Group field in KReferences.
@@ -512,7 +512,7 @@ metadata:
   name: config-leader-election
   namespace: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   annotations:
     knative.dev/example-checksum: "f7948630"
@@ -575,7 +575,7 @@ metadata:
   labels:
     knative.dev/config-propagation: original
     knative.dev/config-category: eventing
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 data:
   # Common configuration for all Knative codebase
@@ -628,7 +628,7 @@ metadata:
   labels:
     knative.dev/config-propagation: original
     knative.dev/config-category: eventing
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   annotations:
     knative.dev/example-checksum: "f46cf09d"
@@ -702,7 +702,7 @@ metadata:
   name: config-sugar
   namespace: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   annotations:
     knative.dev/example-checksum: "62dfac6f"
@@ -761,7 +761,7 @@ metadata:
   labels:
     knative.dev/config-propagation: original
     knative.dev/config-category: eventing
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   annotations:
     knative.dev/example-checksum: "0492ceb0"
@@ -818,7 +818,7 @@ metadata:
   labels:
     knative.dev/high-availability: "true"
     app.kubernetes.io/component: eventing-controller
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   selector:
@@ -829,7 +829,7 @@ spec:
       labels:
         app: eventing-controller
         app.kubernetes.io/component: eventing-controller
-        app.kubernetes.io/version: "20230507-f92a05b72"
+        app.kubernetes.io/version: "20230515-a9908ef95"
         app.kubernetes.io/name: knative-eventing
     spec:
       # To avoid node becoming SPOF, spread our replicas to different nodes.
@@ -847,7 +847,7 @@ spec:
       containers:
         - name: eventing-controller
           terminationMessagePolicy: FallbackToLogsOnError
-          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/controller@sha256:693fac3af9e153cad00b593ea02fcd17d3b638c557b4dd428fa798e42975188d
+          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/controller@sha256:cf1dbd5a6b2a442c6ac3eee7caee1f9b97e065c7ef9901340da5fd78fed381a7
           resources:
             requests:
               cpu: 100m
@@ -865,7 +865,7 @@ spec:
               value: knative.dev/eventing
             # APIServerSource
             - name: APISERVER_RA_IMAGE
-              value: gcr.io/knative-nightly/knative.dev/eventing/cmd/apiserver_receive_adapter@sha256:e3edf0d77072fd15404fbd6f9efb04a953571ab6c5d35bbdbe477982d983e5b4
+              value: gcr.io/knative-nightly/knative.dev/eventing/cmd/apiserver_receive_adapter@sha256:15b11d25a2c30f02d61ed41fc68fad62734de4864c70cb04b76a51898afe3cce
             - name: POD_NAME
               valueFrom:
                 fieldRef:
@@ -935,7 +935,7 @@ metadata:
   namespace: knative-eventing
   labels:
     app.kubernetes.io/component: pingsource-mt-adapter
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   # when set to 0 (and only 0) will be set to 1 when the first PingSource is created.
@@ -949,7 +949,7 @@ spec:
       labels:
         !!merge <<: *labels
         app.kubernetes.io/component: pingsource-mt-adapter
-        app.kubernetes.io/version: "20230507-f92a05b72"
+        app.kubernetes.io/version: "20230515-a9908ef95"
         app.kubernetes.io/name: knative-eventing
     spec:
       affinity:
@@ -963,7 +963,7 @@ spec:
       enableServiceLinks: false
       containers:
         - name: dispatcher
-          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/mtping@sha256:450cbbb2a2d456f6bc0aa6067897b43e398c146e767f7b9d84cee31379afa8d3
+          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/mtping@sha256:3b050576901245780f7d5565d9c6ac0f63e75a71d27c6651e301dd4790888d68
           env:
             - name: SYSTEM_NAMESPACE
               value: ''
@@ -1037,7 +1037,7 @@ metadata:
   namespace: knative-eventing
   labels:
     app.kubernetes.io/component: eventing-webhook
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   scaleTargetRef:
@@ -1062,7 +1062,7 @@ metadata:
   namespace: knative-eventing
   labels:
     app.kubernetes.io/component: eventing-webhook
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   minAvailable: 80%
@@ -1092,7 +1092,7 @@ metadata:
   namespace: knative-eventing
   labels:
     app.kubernetes.io/component: eventing-webhook
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   selector:
@@ -1104,7 +1104,7 @@ spec:
       labels:
         !!merge <<: *labels
         app.kubernetes.io/component: eventing-webhook
-        app.kubernetes.io/version: "20230507-f92a05b72"
+        app.kubernetes.io/version: "20230515-a9908ef95"
         app.kubernetes.io/name: knative-eventing
     spec:
       # To avoid node becoming SPOF, spread our replicas to different nodes.
@@ -1124,7 +1124,7 @@ spec:
           terminationMessagePolicy: FallbackToLogsOnError
           # This is the Go import path for the binary that is containerized
           # and substituted here.
-          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/webhook@sha256:3cb6e5e35571c2d32a77ccbdad0dceaad6166e41d93020b94051d962602791e2
+          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/webhook@sha256:8306a53000307fd2571ef2cd43172ad8b64d8ff062af5a1b96b5675d9fa6c4ec
           resources:
             requests:
               # taken from serving.
@@ -1197,7 +1197,7 @@ metadata:
   labels:
     role: eventing-webhook
     app.kubernetes.io/component: eventing-webhook
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   name: eventing-webhook
   namespace: knative-eventing
@@ -1232,7 +1232,7 @@ metadata:
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   annotations:
     # TODO add schemas and descriptions
@@ -1476,7 +1476,7 @@ metadata:
   labels:
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -1647,7 +1647,7 @@ metadata:
     knative.dev/crd-install: "true"
     messaging.knative.dev/subscribable: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: messaging.knative.dev
@@ -1921,7 +1921,7 @@ metadata:
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   name: containersources.sources.knative.dev
 spec:
@@ -2072,7 +2072,7 @@ metadata:
   name: eventtypes.eventing.knative.dev
   labels:
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -2207,7 +2207,7 @@ metadata:
   labels:
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: flows.knative.dev
@@ -2462,7 +2462,7 @@ metadata:
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   annotations:
     # TODO add schemas and descriptions
@@ -2651,7 +2651,7 @@ metadata:
   labels:
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: flows.knative.dev
@@ -2972,7 +2972,7 @@ metadata:
     duck.knative.dev/source: "true"
     duck.knative.dev/binding: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   name: sinkbindings.sources.knative.dev
 spec:
@@ -3160,7 +3160,7 @@ metadata:
   name: subscriptions.messaging.knative.dev
   labels:
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: messaging.knative.dev
@@ -3371,7 +3371,7 @@ metadata:
   name: triggers.eventing.knative.dev
   labels:
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -3555,7 +3555,7 @@ kind: ClusterRole
 metadata:
   name: addressable-resolver
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 aggregationRule:
   clusterRoleSelectors:
@@ -3569,7 +3569,7 @@ metadata:
   name: service-addressable-resolver
   labels:
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3588,7 +3588,7 @@ metadata:
   name: serving-addressable-resolver
   labels:
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3610,7 +3610,7 @@ metadata:
   name: channel-addressable-resolver
   labels:
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3636,7 +3636,7 @@ metadata:
   name: broker-addressable-resolver
   labels:
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3656,7 +3656,7 @@ metadata:
   name: flows-addressable-resolver
   labels:
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3692,7 +3692,7 @@ kind: ClusterRole
 metadata:
   name: eventing-broker-filter
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -3718,7 +3718,7 @@ kind: ClusterRole
 metadata:
   name: eventing-broker-ingress
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -3735,7 +3735,7 @@ kind: ClusterRole
 metadata:
   name: eventing-config-reader
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -3768,7 +3768,7 @@ kind: ClusterRole
 metadata:
   name: channelable-manipulator
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 aggregationRule:
   clusterRoleSelectors:
@@ -3782,7 +3782,7 @@ metadata:
   name: meta-channelable-manipulator
   labels:
     duck.knative.dev/channelable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "channelable-manipulator" role.
 rules:
@@ -3821,7 +3821,7 @@ metadata:
   name: knative-eventing-namespaced-admin
   labels:
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["eventing.knative.dev"]
@@ -3834,7 +3834,7 @@ metadata:
   name: knative-messaging-namespaced-admin
   labels:
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["messaging.knative.dev"]
@@ -3847,7 +3847,7 @@ metadata:
   name: knative-flows-namespaced-admin
   labels:
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["flows.knative.dev"]
@@ -3860,7 +3860,7 @@ metadata:
   name: knative-sources-namespaced-admin
   labels:
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["sources.knative.dev"]
@@ -3873,7 +3873,7 @@ metadata:
   name: knative-bindings-namespaced-admin
   labels:
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["bindings.knative.dev"]
@@ -3886,7 +3886,7 @@ metadata:
   name: knative-eventing-namespaced-edit
   labels:
     rbac.authorization.k8s.io/aggregate-to-view: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["eventing.knative.dev", "messaging.knative.dev", "sources.knative.dev", "flows.knative.dev", "bindings.knative.dev"]
@@ -3899,7 +3899,7 @@ metadata:
   name: knative-eventing-namespaced-view
   labels:
     rbac.authorization.k8s.io/aggregate-to-view: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["eventing.knative.dev", "messaging.knative.dev", "sources.knative.dev", "flows.knative.dev", "bindings.knative.dev"]
@@ -3926,7 +3926,7 @@ kind: ClusterRole
 metadata:
   name: knative-eventing-controller
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -4061,7 +4061,7 @@ kind: ClusterRole
 metadata:
   name: knative-eventing-pingsource-mt-adapter
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -4128,7 +4128,7 @@ kind: ClusterRole
 metadata:
   name: podspecable-binding
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 aggregationRule:
   clusterRoleSelectors:
@@ -4142,7 +4142,7 @@ metadata:
   name: builtin-podspecable-binding
   labels:
     duck.knative.dev/podspecable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "podspecable-binding role.
 rules:
@@ -4188,7 +4188,7 @@ kind: ClusterRole
 metadata:
   name: source-observer
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 aggregationRule:
   clusterRoleSelectors:
@@ -4202,7 +4202,7 @@ metadata:
   name: eventing-sources-source-observer
   labels:
     duck.knative.dev/source: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "source-observer" role.
 rules:
@@ -4238,7 +4238,7 @@ kind: ClusterRole
 metadata:
   name: knative-eventing-sources-controller
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -4324,7 +4324,7 @@ kind: ClusterRole
 metadata:
   name: knative-eventing-webhook
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   # For watching logging configuration and getting certs.
@@ -4434,7 +4434,7 @@ metadata:
   namespace: knative-eventing
   name: knative-eventing-webhook
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 rules:
   # For manipulating certs into secrets.
@@ -4470,7 +4470,7 @@ kind: ValidatingWebhookConfiguration
 metadata:
   name: config.webhook.eventing.knative.dev
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 webhooks:
   - admissionReviewVersions: ["v1", "v1beta1"]
@@ -4505,7 +4505,7 @@ kind: MutatingWebhookConfiguration
 metadata:
   name: webhook.eventing.knative.dev
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 webhooks:
   - admissionReviewVersions: ["v1", "v1beta1"]
@@ -4538,7 +4538,7 @@ kind: ValidatingWebhookConfiguration
 metadata:
   name: validation.webhook.eventing.knative.dev
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 webhooks:
   - admissionReviewVersions: ["v1", "v1beta1"]
@@ -4572,7 +4572,7 @@ metadata:
   name: eventing-webhook-certs
   namespace: knative-eventing
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 # The data is populated at install time.
 
@@ -4596,7 +4596,7 @@ kind: MutatingWebhookConfiguration
 metadata:
   name: sinkbindings.webhook.sources.knative.dev
   labels:
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 webhooks:
   - admissionReviewVersions: ["v1", "v1beta1"]
diff --git a/third_party/eventing-latest/eventing-crds.yaml b/third_party/eventing-latest/eventing-crds.yaml
index dbf94f4d..9c43f5c6 100644
--- a/third_party/eventing-latest/eventing-crds.yaml
+++ b/third_party/eventing-latest/eventing-crds.yaml
@@ -20,7 +20,7 @@ metadata:
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   annotations:
     # TODO add schemas and descriptions
@@ -264,7 +264,7 @@ metadata:
   labels:
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -435,7 +435,7 @@ metadata:
     knative.dev/crd-install: "true"
     messaging.knative.dev/subscribable: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: messaging.knative.dev
@@ -709,7 +709,7 @@ metadata:
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   name: containersources.sources.knative.dev
 spec:
@@ -860,7 +860,7 @@ metadata:
   name: eventtypes.eventing.knative.dev
   labels:
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -995,7 +995,7 @@ metadata:
   labels:
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: flows.knative.dev
@@ -1250,7 +1250,7 @@ metadata:
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   annotations:
     # TODO add schemas and descriptions
@@ -1439,7 +1439,7 @@ metadata:
   labels:
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: flows.knative.dev
@@ -1760,7 +1760,7 @@ metadata:
     duck.knative.dev/source: "true"
     duck.knative.dev/binding: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
   name: sinkbindings.sources.knative.dev
 spec:
@@ -1948,7 +1948,7 @@ metadata:
   name: subscriptions.messaging.knative.dev
   labels:
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: messaging.knative.dev
@@ -2159,7 +2159,7 @@ metadata:
   name: triggers.eventing.knative.dev
   labels:
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20230507-f92a05b72"
+    app.kubernetes.io/version: "20230515-a9908ef95"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
diff --git a/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/broker.go b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/broker.go
index b72e5661..7e4aaea0 100644
--- a/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/broker.go
+++ b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/broker.go
@@ -253,3 +253,17 @@ func WithDLSNotConfigured() BrokerOption {
 		b.Status.MarkDeadLetterSinkNotConfigured()
 	}
 }
+
+func WithBrokerAddressHTTPS(address duckv1.Addressable) BrokerOption {
+	return func(b *v1.Broker) {
+		b.Status.Address = &address
+		b.GetConditionSet().Manage(b.GetStatus()).MarkTrue(v1.BrokerConditionAddressable)
+	}
+}
+
+func WithBrokersAddresses(addresses []duckv1.Addressable) BrokerOption {
+	return func(b *v1.Broker) {
+		b.Status.Addresses = addresses
+		b.GetConditionSet().Manage(b.GetStatus()).MarkTrue(v1.BrokerConditionAddressable)
+	}
+}
diff --git a/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/pingsource.go b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/pingsource.go
index 71115232..86ae5b32 100644
--- a/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/pingsource.go
+++ b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/pingsource.go
@@ -22,11 +22,11 @@ import (
 
 	"knative.dev/eventing/pkg/reconciler/testing"
 
-	"knative.dev/pkg/apis"
 	duckv1 "knative.dev/pkg/apis/duck/v1"
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/types"
+
 	v1 "knative.dev/eventing/pkg/apis/sources/v1"
 )
 
@@ -62,9 +62,9 @@ func WithPingSourceSinkNotFound(s *v1.PingSource) {
 	s.Status.MarkNoSink("NotFound", "")
 }
 
-func WithPingSourceSink(uri *apis.URL) PingSourceOption {
+func WithPingSourceSink(addr *duckv1.Addressable) PingSourceOption {
 	return func(s *v1.PingSource) {
-		s.Status.MarkSink(uri)
+		s.Status.MarkSink(addr)
 	}
 }
 
diff --git a/vendor/knative.dev/reconciler-test/pkg/environment/execution.go b/vendor/knative.dev/reconciler-test/pkg/environment/execution.go
index 2235a35a..cb84419e 100644
--- a/vendor/knative.dev/reconciler-test/pkg/environment/execution.go
+++ b/vendor/knative.dev/reconciler-test/pkg/environment/execution.go
@@ -2,13 +2,14 @@ package environment
 
 import (
 	"context"
+	"sync"
 	"testing"
 
 	"knative.dev/reconciler-test/pkg/feature"
 )
 
 func categorizeSteps(steps []feature.Step) map[feature.Timing][]feature.Step {
-	stepsByTiming := make(map[feature.Timing][]feature.Step, 4)
+	stepsByTiming := make(map[feature.Timing][]feature.Step, len(feature.Timings()))
 
 	for _, timing := range feature.Timings() {
 		stepsByTiming[timing] = filterStepTimings(steps, timing)
@@ -27,18 +28,18 @@ func filterStepTimings(steps []feature.Step, timing feature.Timing) []feature.St
 	return res
 }
 
-func (mr *MagicEnvironment) executeOptional(ctx context.Context, t *testing.T, f *feature.Feature, s *feature.Step) {
+func (mr *MagicEnvironment) executeOptional(ctx context.Context, t *testing.T, f *feature.Feature, s *feature.Step, aggregator *stepExecutionAggregator) {
 	t.Helper()
-	mr.executeStep(ctx, t, f, s, createSkippingT)
+	mr.executeStep(ctx, t, f, s, createSkippingT, aggregator)
 }
 
 // execute executes the step in a sub test without wrapping t.
-func (mr *MagicEnvironment) execute(ctx context.Context, t *testing.T, f *feature.Feature, s *feature.Step) {
+func (mr *MagicEnvironment) execute(ctx context.Context, t *testing.T, f *feature.Feature, s *feature.Step, aggregator *stepExecutionAggregator) {
 	t.Helper()
-	mr.executeStep(ctx, t, f, s, func(t *testing.T) feature.T { return t })
+	mr.executeStep(ctx, t, f, s, func(t *testing.T) feature.T { return t }, aggregator)
 }
 
-func (mr *MagicEnvironment) executeStep(ctx context.Context, t *testing.T, f *feature.Feature, s *feature.Step, tDecorator func(t *testing.T) feature.T) {
+func (mr *MagicEnvironment) executeStep(ctx context.Context, t *testing.T, f *feature.Feature, s *feature.Step, tDecorator func(t *testing.T) feature.T, aggregator *stepExecutionAggregator) {
 	t.Helper()
 
 	t.Run(s.Name, func(t *testing.T) {
@@ -64,5 +65,53 @@ func (mr *MagicEnvironment) executeStep(ctx context.Context, t *testing.T, f *fe
 
 		// Perform step.
 		s.Fn(internalCtx, ft)
+
+		if ft.Failed() {
+			aggregator.AddFailed(s)
+		} else {
+			aggregator.AddSucceeded(s)
+		}
 	})
 }
+
+// stepExecutionAggregator aggregates various parallel steps results.
+//
+// It needs to be thread safe since steps run in parallel.
+type stepExecutionAggregator struct {
+	failed  map[string]*feature.Step
+	success map[string]*feature.Step
+	mu      sync.Mutex
+}
+
+func newStepExecutionAggregator() *stepExecutionAggregator {
+	return &stepExecutionAggregator{
+		failed:  make(map[string]*feature.Step, 2),
+		success: make(map[string]*feature.Step, 2),
+		mu:      sync.Mutex{},
+	}
+}
+
+func (er *stepExecutionAggregator) Failed() []*feature.Step {
+	er.mu.Lock()
+	defer er.mu.Unlock()
+
+	failed := make([]*feature.Step, 0, len(er.failed))
+	for _, v := range er.failed {
+		failed = append(failed, v)
+	}
+	return failed
+}
+
+func (er *stepExecutionAggregator) AddFailed(step *feature.Step) {
+	er.mu.Lock()
+	defer er.mu.Unlock()
+
+	er.failed[step.Name] = step
+}
+
+func (er *stepExecutionAggregator) AddSucceeded(step *feature.Step) {
+	er.mu.Lock()
+	defer er.mu.Unlock()
+
+	er.success[step.Name] = step
+}
diff --git a/vendor/knative.dev/reconciler-test/pkg/environment/magic.go b/vendor/knative.dev/reconciler-test/pkg/environment/magic.go
index 8be20535..1b23d221 100644
--- a/vendor/knative.dev/reconciler-test/pkg/environment/magic.go
+++ b/vendor/knative.dev/reconciler-test/pkg/environment/magic.go
@@ -18,6 +18,7 @@ package environment
 
 import (
 	"context"
+	"encoding/json"
 	"errors"
 	"regexp"
 	"sync"
@@ -363,8 +364,9 @@ func (mr *MagicEnvironment) test(ctx context.Context, originalT *testing.T, f *f
 	// skip is flag that signals whether the steps for the subsequent timings should
 	// be skipped because a step in a previous timing failed.
 	//
-	// Setup and Teardown steps are executed always
+	// Setup and Teardown steps are executed always except when a Prerequisite step failed.
 	skip := false
+	skipTeardown := false
 
 	originalT.Run(f.Name, func(t *testing.T) {
 
@@ -386,11 +388,15 @@ func (mr *MagicEnvironment) test(ctx context.Context, originalT *testing.T, f *f
 						steps = mr.loggingSteps()
 					}
 				}
-				skip = false
+				skip = skipTeardown
 			}
 
 			originalT.Logf("Running %d steps for timing:\n%s\n\n", len(steps), steps.String())
 
+			// aggregator aggregates steps results (success or failure) for a single timing.
+			// It used for handling the prerequisite logic.
+			aggregator := newStepExecutionAggregator()
+
 			t.Run(timing.String(), func(t *testing.T) {
 				// no parallel, various timing steps run in order: setup, requirement, assert, teardown
 
@@ -401,14 +407,27 @@ func (mr *MagicEnvironment) test(ctx context.Context, originalT *testing.T, f *f
 
 				for _, s := range steps {
 					s := s
-					if mr.shouldFail(&s) {
-						mr.execute(ctx, t, f, &s)
+					if mr.shouldFail(&s) && timing != feature.Prerequisite {
+						mr.execute(ctx, t, f, &s, aggregator)
 					} else {
-						mr.executeOptional(ctx, t, f, &s)
+						mr.executeOptional(ctx, t, f, &s, aggregator)
 					}
 				}
 			})
 
+			// If any step at timing feature.Prerequisite failed, we should skip the feature.
+			if timing == feature.Prerequisite {
+				failed := aggregator.Failed()
+				if len(failed) > 0 {
+					bytes, _ := json.MarshalIndent(failed, "", "  ")
+					originalT.Logf("Prerequisite steps failed, skipping the remaining timings and steps, failed prerequisite steps:\n%s\n", string(bytes))
+
+					// Skip any other subsequent timing.
+					skip = true
+					skipTeardown = true
+				}
+			}
+
 			if t.Failed() {
 				// skip the following timings since curring timing failed
 				skip = true
diff --git a/vendor/knative.dev/reconciler-test/pkg/feature/feature.go b/vendor/knative.dev/reconciler-test/pkg/feature/feature.go
index db86f85a..1c4aef87 100644
--- a/vendor/knative.dev/reconciler-test/pkg/feature/feature.go
+++ b/vendor/knative.dev/reconciler-test/pkg/feature/feature.go
@@ -266,6 +266,42 @@ var (
 	_ StepFn = (&Feature{}).DeleteResources
 )
 
+// PrerequisiteResult is the result returned by ShouldRun.
+type PrerequisiteResult struct {
+	// ShouldRun is the flag signaling whether other timings will run or not.
+	// True means other timings will run, false will skip other timings.
+	ShouldRun bool
+	// Reason will report why a given prerequisite is not satisfied.
+	// This is used to report a clear skip reason to the user.
+	Reason string
+}
+
+// ShouldRun is the function signature for Prerequisite steps.
+type ShouldRun func(ctx context.Context, t T) (PrerequisiteResult, error)
+
+func (sr ShouldRun) AsStepFn() StepFn {
+	return func(ctx context.Context, t T) {
+		shouldRun, err := sr(ctx, t)
+		if err != nil {
+			t.Fatal(err)
+		}
+		if !shouldRun.ShouldRun {
+			t.Errorf("Prerequisite: %s", shouldRun.Reason)
+		}
+	}
+}
+
+// Prerequisite adds a step function to the feature set at the Prerequisite timing phase.
+func (f *Feature) Prerequisite(name string, fn ShouldRun) {
+	f.AddStep(Step{
+		Name: name,
+		S:    Any,
+		L:    All,
+		T:    Prerequisite,
+		Fn:   fn.AsStepFn(),
+	})
+}
+
 // Setup adds a step function to the feature set at the Setup timing phase.
 func (f *Feature) Setup(name string, fn StepFn) {
 	f.AddStep(Step{
diff --git a/vendor/knative.dev/reconciler-test/pkg/feature/timing.go b/vendor/knative.dev/reconciler-test/pkg/feature/timing.go
index cf74c772..edba4138 100644
--- a/vendor/knative.dev/reconciler-test/pkg/feature/timing.go
+++ b/vendor/knative.dev/reconciler-test/pkg/feature/timing.go
@@ -23,7 +23,10 @@ import (
 type Timing uint8
 
 const (
-	Setup Timing = iota
+	// Prerequisite timing allows having steps that are asserting whether the feature should run
+	// or not, a failed Prerequisite step will cause the other steps to be skipped.
+	Prerequisite Timing = iota
+	Setup
 	Requirement
 	Assert
 	Teardown
@@ -38,12 +41,13 @@ func (t Timing) MarshalJSON() ([]byte, error) {
 }
 
 func Timings() []Timing {
-	return []Timing{Setup, Requirement, Assert, Teardown}
+	return []Timing{Prerequisite, Setup, Requirement, Assert, Teardown}
 }
 
 var timingMapping = map[Timing]string{
-	Setup:       "Setup",
-	Requirement: "Requirement",
-	Assert:      "Assert",
-	Teardown:    "Teardown",
+	Prerequisite: "Prerequisite",
+	Setup:        "Setup",
+	Requirement:  "Requirement",
+	Assert:       "Assert",
+	Teardown:     "Teardown",
 }
diff --git a/vendor/knative.dev/reconciler-test/pkg/milestone/emitter_log.go b/vendor/knative.dev/reconciler-test/pkg/milestone/emitter_log.go
index 34449f1c..7f91cbb0 100644
--- a/vendor/knative.dev/reconciler-test/pkg/milestone/emitter_log.go
+++ b/vendor/knative.dev/reconciler-test/pkg/milestone/emitter_log.go
@@ -30,6 +30,7 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	kubeclient "knative.dev/pkg/client/injection/kube/client"
 	"knative.dev/pkg/logging"
+
 	testlog "knative.dev/reconciler-test/pkg/logging"
 
 	"knative.dev/reconciler-test/pkg/feature"