Repository: knative-sandbox/eventing-kafka-broker
Pull request #2358 (2022-06-25 19:21:30)

[Prefactoring] Recompute broker `IngressHost` every time - needed for future dynamic dataplanes
Fixes #

<!-- Please include the 'why' behind your changes if no issue exists -->

## Proposed Changes

- Recompute broker `IngressHost` every time - needed for future dynamic dataplanes; instead of computing it once and setting it as a struct field.
- Computing: string building for the ingress service name
- Prefactoring for KafkaBroker with dataplane-per-namespace

<!--
If this change has user-visible impact, follow the instructions below.
Examples include:

- :gift: Add new feature
- :bug: Fix bug
- :broom: Update or clean up current behavior
- :wastebasket: Remove feature or internal logic

Otherwise delete the rest of this template.
-->

**Release Note**

<!--
:page_facing_up: If this change has user-visible impact, write a release note in the block
below. Include the string "action required" if additional action is required of
users switching to the new release, for example in case of a breaking change.

Write as if you are speaking to users, not other Knative contributors. If this
change has no user-visible impact, no release-note is needed.
-->

```release-note

```

**Docs**

<!--
:book: If this change has user-visible impact, link to an issue or PR in
https://github.com/knative/docs.
-->


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

This pull-request has been approved by: *<a href="https://github.com/knative-sandbox/eventing-kafka-broker/pull/2358#" title="Author self-approved">aliok</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)~~ [aliok]

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://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2358?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) Report
> Merging [#2358](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2358?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) (cd86fd6) into [main](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/commit/b7f108a34e5808141a5e29f6a4632609899b20df?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) (b7f108a) will **increase** coverage by `0.08%`.
> The diff coverage is `n/a`.

```diff
@@             Coverage Diff              @@
##               main    #2358      +/-   ##
============================================
+ Coverage     81.77%   81.85%   +0.08%     
- Complexity      700      701       +1     
============================================
  Files            72       72              
  Lines          2414     2414              
  Branches        211      211              
============================================
+ Hits           1974     1976       +2     
+ Misses          319      318       -1     
+ Partials        121      120       -1     
```

| Flag | Coverage Δ | |
|---|---|---|
| java-unittests | `81.85% <ø> (+0.08%)` | :arrow_up: |

Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox#carryforward-flags-in-the-pull-request-comment) to find out more.

| [Impacted Files](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2358?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) | Coverage Δ | |
|---|---|---|
| [...r/dispatcher/main/ConsumerVerticleFactoryImpl.java](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2358/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox#diff-ZGF0YS1wbGFuZS9kaXNwYXRjaGVyL3NyYy9tYWluL2phdmEvZGV2L2tuYXRpdmUvZXZlbnRpbmcva2Fma2EvYnJva2VyL2Rpc3BhdGNoZXIvbWFpbi9Db25zdW1lclZlcnRpY2xlRmFjdG9yeUltcGwuamF2YQ==) | `81.32% <0.00%> (+0.60%)` | :arrow_up: |
| [...broker/dispatcher/impl/consumer/OffsetManager.java](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2358/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox#diff-ZGF0YS1wbGFuZS9kaXNwYXRjaGVyL3NyYy9tYWluL2phdmEvZGV2L2tuYXRpdmUvZXZlbnRpbmcva2Fma2EvYnJva2VyL2Rpc3BhdGNoZXIvaW1wbC9jb25zdW1lci9PZmZzZXRNYW5hZ2VyLmphdmE=) | `96.77% <0.00%> (+1.07%)` | :arrow_up: |

------

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

knative-prow[bot]: @aliok: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
integration-tests_eventing-kafka-broker_main | cd86fd603d420859ffec8a32e3f2ea37b73fb069 | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative-sandbox_eventing-kafka-broker/2358/integration-tests_eventing-kafka-broker_main/1540777228764188672) | true | `/test integration-tests_eventing-kafka-broker_main`

[Your PR dashboard](https://prow.knative.dev/pr).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
aliok: /test integration-tests_eventing-kafka-broker_main
aliok: /hold
Blocked by https://github.com/knative-sandbox/eventing-kafka-broker/pull/2360
aliok: /unhold
knative-prow[bot]: @aliok: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
integration-tests_eventing-kafka-broker_main | ab46e10fa349ebd357708eed62b83469be2c1d3d | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative-sandbox_eventing-kafka-broker/2358/integration-tests_eventing-kafka-broker_main/1541318758121869312) | true | `/test integration-tests_eventing-kafka-broker_main`

[Your PR dashboard](https://prow.knative.dev/pr).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
aliok: /test integration-tests_eventing-kafka-broker_main
knative-prow[bot]: @aliok: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
integration-tests_eventing-kafka-broker_main | ab46e10fa349ebd357708eed62b83469be2c1d3d | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative-sandbox_eventing-kafka-broker/2358/integration-tests_eventing-kafka-broker_main/1541328932941336576) | true | `/test integration-tests_eventing-kafka-broker_main`

[Your PR dashboard](https://prow.knative.dev/pr).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->

Patch:
diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES
index 604c4c0d3..7d0d86feb 100644
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -241,13 +241,11 @@ aliases:
   - houshengbo
   - upodroid
   productivity-wg-leads:
-  - chizhg
   - kvmware
   - upodroid
   productivity-writers:
   - cardil
   - chaodaiG
-  - chizhg
   - coryrc
   - kvmware
   - psschwei
diff --git a/control-plane/config/eventing-kafka-broker/200-controller/200-controller-cluster-role.yaml b/control-plane/config/eventing-kafka-broker/200-controller/200-controller-cluster-role.yaml
index c34adcc4b..5f588a4ea 100644
--- a/control-plane/config/eventing-kafka-broker/200-controller/200-controller-cluster-role.yaml
+++ b/control-plane/config/eventing-kafka-broker/200-controller/200-controller-cluster-role.yaml
@@ -78,6 +78,7 @@ rules:
     verbs:
       - list
       - get
+      - update
       - watch
 
   # Scheduler permissions
diff --git a/control-plane/config/post-install/200-storage-version-migrator-cluster-role.yaml b/control-plane/config/post-install/200-storage-version-migrator-cluster-role.yaml
index cec9e3b19..1c4283b58 100644
--- a/control-plane/config/post-install/200-storage-version-migrator-cluster-role.yaml
+++ b/control-plane/config/post-install/200-storage-version-migrator-cluster-role.yaml
@@ -58,6 +58,19 @@ rules:
       - "update"
       - "patch"
       - "watch"
+  - apiGroups:
+      - "eventing.knative.dev"
+    resources:
+      - "kafkasinks"
+      - "kafkasinks/finalizers"
+      - "kafkasinks/status"
+    verbs:
+      - "get"
+      - "list"
+      - "create"
+      - "update"
+      - "patch"
+      - "watch"
   - apiGroups:
       - ""
     resources:
diff --git a/control-plane/config/post-install/500-storage-version-migrator.yaml b/control-plane/config/post-install/500-storage-version-migrator.yaml
index a7003b860..26a3b70e0 100644
--- a/control-plane/config/post-install/500-storage-version-migrator.yaml
+++ b/control-plane/config/post-install/500-storage-version-migrator.yaml
@@ -42,3 +42,4 @@ spec:
           args:
             - "kafkasources.sources.knative.dev"
             - "kafkachannels.messaging.knative.dev"
+            - "kafkasinks.eventing.knative.dev"
diff --git a/control-plane/pkg/reconciler/broker/broker.go b/control-plane/pkg/reconciler/broker/broker.go
index dfeb9cbf9..34ccf87ed 100644
--- a/control-plane/pkg/reconciler/broker/broker.go
+++ b/control-plane/pkg/reconciler/broker/broker.go
@@ -31,6 +31,7 @@ import (
 	"k8s.io/client-go/util/retry"
 	eventing "knative.dev/eventing/pkg/apis/eventing/v1"
 	"knative.dev/pkg/controller"
+	"knative.dev/pkg/network"
 	"knative.dev/pkg/reconciler"
 	"knative.dev/pkg/resolver"
 
@@ -68,8 +69,6 @@ type Reconciler struct {
 	BootstrapServers string
 
 	Prober prober.Prober
-
-	IngressHost string
 }
 
 func (r *Reconciler) ReconcileKind(ctx context.Context, broker *eventing.Broker) reconciler.Event {
@@ -116,6 +115,10 @@ func (r *Reconciler) reconcileKind(ctx context.Context, broker *eventing.Broker)
 			zap.String("namespace", secret.Namespace),
 			zap.String("kind", secret.Kind),
 		)
+
+		if err := r.addFinalizerSecret(ctx, finalizerSecret(broker), secret); err != nil {
+			return err
+		}
 	}
 
 	// get security option for Sarama with secret info in it
@@ -210,7 +213,8 @@ func (r *Reconciler) reconcileKind(ctx context.Context, broker *eventing.Broker)
 		logger.Debug("Updated dispatcher pod annotation")
 	}
 
-	address := receiver.Address(r.IngressHost, broker)
+	ingressHost := network.GetServiceHostname(r.Env.IngressName, r.DataPlaneNamespace)
+	address := receiver.Address(ingressHost, broker)
 	proberAddressable := prober.Addressable{
 		Address: address,
 		ResourceKey: types.NamespacedName{
@@ -313,12 +317,14 @@ func (r *Reconciler) finalizeKind(ctx context.Context, broker *eventing.Broker)
 
 	broker.Status.Address.URL = nil
 
+	ingressHost := network.GetServiceHostname(r.Env.IngressName, r.Reconciler.DataPlaneNamespace)
+
 	//  Rationale: after deleting a topic closing a producer ends up blocking and requesting metadata for max.block.ms
 	//  because topic metadata aren't available anymore.
 	// 	See (under discussions KIPs, unlikely to be accepted as they are):
 	// 	- https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=181306446
 	// 	- https://cwiki.apache.org/confluence/display/KAFKA/KIP-286%3A+producer.send%28%29+should+not+block+on+metadata+update
-	address := receiver.Address(r.IngressHost, broker)
+	address := receiver.Address(ingressHost, broker)
 	proberAddressable := prober.Addressable{
 		Address: address,
 		ResourceKey: types.NamespacedName{
@@ -332,19 +338,28 @@ func (r *Reconciler) finalizeKind(ctx context.Context, broker *eventing.Broker)
 		return controller.NewRequeueAfter(5 * time.Second)
 	}
 
+	_, brokerConfig, err := r.brokerConfigMap(logger, broker)
+	if err != nil && !apierrors.IsNotFound(err) {
+		return err
+	}
+
+	secret, err := security.Secret(ctx, &security.MTConfigMapSecretLocator{ConfigMap: brokerConfig, UseNamespaceInConfigmap: false}, r.SecretProviderFunc())
+	if err != nil {
+		return fmt.Errorf("failed to get secret: %w", err)
+	}
+
 	// External topics are not managed by the broker,
 	// therefore we do not delete them
 	_, externalTopic := isExternalTopic(broker)
 	if !externalTopic {
-		topicConfig, brokerConfig, err := r.topicConfig(logger, broker)
+
+		// I do not like the use of `_`
+		// TODO: refactor
+		topicConfig, _, err := r.topicConfig(logger, broker)
 		if err != nil {
 			return fmt.Errorf("failed to resolve broker config: %w", err)
 		}
 
-		secret, err := security.Secret(ctx, &security.MTConfigMapSecretLocator{ConfigMap: brokerConfig, UseNamespaceInConfigmap: false}, r.SecretProviderFunc())
-		if err != nil {
-			return fmt.Errorf("failed to get secret: %w", err)
-		}
 		if secret != nil {
 			logger.Debug("Secret reference",
 				zap.String("apiVersion", secret.APIVersion),
@@ -359,7 +374,13 @@ func (r *Reconciler) finalizeKind(ctx context.Context, broker *eventing.Broker)
 		if err := r.finalizeNonExternalBrokerTopic(broker, securityOption, topicConfig, logger); err != nil {
 			return err
 		}
+
+	}
+
+	if err := r.removeFinalizerSecret(ctx, finalizerSecret(broker), secret); err != nil {
+		return err
 	}
+
 	return nil
 }
 
@@ -388,19 +409,23 @@ func (r *Reconciler) finalizeNonExternalBrokerTopic(broker *eventing.Broker, sec
 	return nil
 }
 
-func (r *Reconciler) topicConfig(logger *zap.Logger, broker *eventing.Broker) (*kafka.TopicConfig, *corev1.ConfigMap, error) {
+func (r *Reconciler) brokerNamespace(broker *eventing.Broker) string {
+	namespace := broker.Spec.Config.Namespace
+	if namespace == "" {
+		// Namespace not specified, use broker namespace.
+		namespace = broker.Namespace
+	}
+	return namespace
+}
 
+func (r *Reconciler) brokerConfigMap(logger *zap.Logger, broker *eventing.Broker) (bool, *corev1.ConfigMap, error) {
 	logger.Debug("broker config", zap.Any("broker.spec.config", broker.Spec.Config))
 
 	if strings.ToLower(broker.Spec.Config.Kind) != "configmap" { // TODO: is there any constant?
-		return nil, nil, fmt.Errorf("supported config Kind: ConfigMap - got %s", broker.Spec.Config.Kind)
+		return false, nil, fmt.Errorf("supported config Kind: ConfigMap - got %s", broker.Spec.Config.Kind)
 	}
 
-	namespace := broker.Spec.Config.Namespace
-	if namespace == "" {
-		// Namespace not specified, use broker namespace.
-		namespace = broker.Namespace
-	}
+	namespace := r.brokerNamespace(broker)
 
 	// There might be cases where the ConfigMap is deleted before the Broker.
 	// In these cases, we rebuild the ConfigMap from broker status annotations.
@@ -414,17 +439,30 @@ func (r *Reconciler) topicConfig(logger *zap.Logger, broker *eventing.Broker) (*
 	isRebuilt := false
 	cm, getCmError := r.ConfigMapLister.ConfigMaps(namespace).Get(broker.Spec.Config.Name)
 	if getCmError != nil && !apierrors.IsNotFound(getCmError) {
-		return nil, nil, fmt.Errorf("failed to get configmap %s/%s: %w", namespace, broker.Spec.Config.Name, getCmError)
+		return isRebuilt, cm, fmt.Errorf("failed to get configmap %s/%s: %w", namespace, broker.Spec.Config.Name, getCmError)
 	}
 	if apierrors.IsNotFound(getCmError) {
 		cm = rebuildCMFromAnnotations(broker)
 		isRebuilt = true
 	}
 
+	return isRebuilt, cm, getCmError
+}
+
+// TODO: pass the configmap to this function
+func (r *Reconciler) topicConfig(logger *zap.Logger, broker *eventing.Broker) (*kafka.TopicConfig, *corev1.ConfigMap, error) {
+
+	isRebuilt, cm, getCmError := r.brokerConfigMap(logger, broker)
+	// For generic errors, we return the error, when the ConfigMap wasn't found we try to get topic information from
+	// the rebuilt ConfigMap, if it's still not possible we return the `getCmError` down below.
+	if getCmError != nil && !apierrors.IsNotFound(getCmError) {
+		return nil, nil, getCmError
+	}
+
 	topicConfig, err := kafka.TopicConfigFromConfigMap(logger, cm)
 	if err != nil {
 		if isRebuilt {
-			return nil, cm, fmt.Errorf("failed to get configmap %s/%s: %w", namespace, broker.Spec.Config.Name, getCmError)
+			return nil, cm, fmt.Errorf("failed to get configmap %s/%s: %w", r.brokerNamespace(broker), broker.Spec.Config.Name, getCmError)
 		}
 		return nil, cm, fmt.Errorf("unable to build topic config from configmap: %w - ConfigMap data: %v", err, cm.Data)
 	}
@@ -496,3 +534,51 @@ func isExternalTopic(broker *eventing.Broker) (string, bool) {
 	topicAnnotationValue, ok := broker.Annotations[ExternalTopicAnnotation]
 	return topicAnnotationValue, ok
 }
+
+func (r *Reconciler) addFinalizerSecret(ctx context.Context, finalizer string, secret *corev1.Secret) error {
+	if !containsFinalizerSecret(secret, finalizer) {
+		secret := secret.DeepCopy() // Do not modify informer copy.
+		secret.Finalizers = append(secret.Finalizers, finalizer)
+		_, err := r.KubeClient.CoreV1().Secrets(secret.GetNamespace()).Update(ctx, secret, metav1.UpdateOptions{})
+		if err != nil && !apierrors.IsNotFound(err) {
+			return fmt.Errorf("failed to add finalizer to Secret %s/%s: %w", secret.GetNamespace(), secret.GetName(), err)
+		}
+	}
+	return nil
+}
+
+func (r *Reconciler) removeFinalizerSecret(ctx context.Context, finalizer string, secret *corev1.Secret) error {
+	if secret != nil {
+		newFinalizers := make([]string, 0, len(secret.Finalizers))
+		for _, f := range secret.Finalizers {
+			if f != finalizer {
+				newFinalizers = append(newFinalizers, f)
+			}
+		}
+		if len(newFinalizers) != len(secret.Finalizers) {
+			secret := secret.DeepCopy() // Do not modify informer copy.
+			secret.Finalizers = newFinalizers
+			_, err := r.KubeClient.CoreV1().Secrets(secret.GetNamespace()).Update(ctx, secret, metav1.UpdateOptions{})
+			if err != nil && !apierrors.IsNotFound(err) {
+				return fmt.Errorf("failed to remove finalizer %s from Secret %s/%s: %w", finalizer, secret.GetNamespace(), secret.GetName(), err)
+			}
+		}
+	}
+	return nil
+}
+
+func containsFinalizerSecret(secret *corev1.Secret, finalizer string) bool {
+	if secret == nil {
+		return false
+	}
+	for _, f := range secret.Finalizers {
+		if f == finalizer {
+			return true
+		}
+	}
+	return false
+}
+
+func finalizerSecret(object metav1.Object) string {
+	return fmt.Sprintf("%s/%s", "kafka.eventing", object.GetUID())
+}
diff --git a/control-plane/pkg/reconciler/broker/controller.go b/control-plane/pkg/reconciler/broker/controller.go
index 4a9931de0..e8bdff712 100644
--- a/control-plane/pkg/reconciler/broker/controller.go
+++ b/control-plane/pkg/reconciler/broker/controller.go
@@ -31,7 +31,6 @@ import (
 	"knative.dev/pkg/configmap"
 	"knative.dev/pkg/controller"
 	"knative.dev/pkg/logging"
-	"knative.dev/pkg/network"
 	"knative.dev/pkg/resolver"
 
 	brokerinformer "knative.dev/eventing/pkg/client/injection/informers/eventing/v1/broker"
@@ -89,9 +88,8 @@ func NewController(ctx context.Context, watcher configmap.Watcher, env *config.E
 	})
 
 	reconciler.Resolver = resolver.NewURIResolverFromTracker(ctx, impl.Tracker)
-	IPsLister := prober.IPsListerFromService(types.NamespacedName{Namespace: env.SystemNamespace, Name: env.IngressName})
+	IPsLister := prober.IPsListerFromService(types.NamespacedName{Namespace: reconciler.DataPlaneNamespace, Name: env.IngressName})
 	reconciler.Prober = prober.NewAsync(ctx, http.DefaultClient, env.IngressPodPort, IPsLister, impl.EnqueueKey)
-	reconciler.IngressHost = network.GetServiceHostname(env.IngressName, env.SystemNamespace)
 
 	brokerInformer := brokerinformer.Get(ctx)
 
diff --git a/control-plane/pkg/reconciler/trigger/controller.go b/control-plane/pkg/reconciler/trigger/controller.go
index 824fd6c28..79c3e73a6 100644
--- a/control-plane/pkg/reconciler/trigger/controller.go
+++ b/control-plane/pkg/reconciler/trigger/controller.go
@@ -76,6 +76,7 @@ func NewController(ctx context.Context, watcher configmap.Watcher, configs *conf
 		EventingClient: eventingclient.Get(ctx),
 		Env:            configs,
 		Flags:          feature.Flags{},
+		BrokerClass:    kafka.BrokerClass,
 	}
 
 	impl := triggerreconciler.NewImpl(ctx, reconciler, func(impl *controller.Impl) controller.Options {
@@ -83,7 +84,7 @@ func NewController(ctx context.Context, watcher configmap.Watcher, configs *conf
 			FinalizerName:     FinalizerName,
 			AgentName:         ControllerAgentName,
 			SkipStatusUpdates: false,
-			PromoteFilterFunc: filterTriggers(reconciler.BrokerLister),
+			PromoteFilterFunc: filterTriggers(reconciler.BrokerLister, kafka.BrokerClass),
 		}
 	})
 
@@ -106,7 +107,7 @@ func NewController(ctx context.Context, watcher configmap.Watcher, configs *conf
 	reconciler.Resolver = resolver.NewURIResolverFromTracker(ctx, impl.Tracker)
 
 	triggerInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{
-		FilterFunc: filterTriggers(reconciler.BrokerLister),
+		FilterFunc: filterTriggers(reconciler.BrokerLister, kafka.BrokerClass),
 		Handler:    controller.HandleAll(impl.Enqueue),
 	})
 
@@ -131,7 +132,7 @@ func NewController(ctx context.Context, watcher configmap.Watcher, configs *conf
 	return impl
 }
 
-func filterTriggers(lister eventinglisters.BrokerLister) func(interface{}) bool {
+func filterTriggers(lister eventinglisters.BrokerLister, brokerClass string) func(interface{}) bool {
 	return func(obj interface{}) bool {
 		trigger, ok := obj.(*eventing.Trigger)
 		if !ok {
@@ -148,7 +149,7 @@ func filterTriggers(lister eventinglisters.BrokerLister) func(interface{}) bool
 		}
 
 		value, ok := broker.GetAnnotations()[apiseventing.BrokerClassKey]
-		return ok && value == kafka.BrokerClass
+		return ok && value == brokerClass
 	}
 }
 
diff --git a/control-plane/pkg/reconciler/trigger/trigger.go b/control-plane/pkg/reconciler/trigger/trigger.go
index 009517784..882387daf 100644
--- a/control-plane/pkg/reconciler/trigger/trigger.go
+++ b/control-plane/pkg/reconciler/trigger/trigger.go
@@ -39,7 +39,6 @@ import (
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/config"
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/contract"
 	coreconfig "knative.dev/eventing-kafka-broker/control-plane/pkg/core/config"
-	"knative.dev/eventing-kafka-broker/control-plane/pkg/kafka"
 	kafkalogging "knative.dev/eventing-kafka-broker/control-plane/pkg/logging"
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/reconciler/base"
 )
@@ -58,6 +57,8 @@ type Reconciler struct {
 	Env       *config.Env
 	Flags     feature.Flags
 	FlagsLock sync.RWMutex
+
+	BrokerClass string
 }
 
 func (r *Reconciler) ReconcileKind(ctx context.Context, trigger *eventing.Trigger) reconciler.Event {
@@ -95,7 +96,7 @@ func (r *Reconciler) reconcileKind(ctx context.Context, trigger *eventing.Trigge
 	}
 
 	// Ignore Triggers that are associated with a Broker we don't own.
-	if isKnativeKafkaBroker, brokerClass := isKnativeKafkaBroker(broker); !isKnativeKafkaBroker {
+	if hasRelevantBroker, brokerClass := r.hasRelevantBrokerClass(broker); !hasRelevantBroker {
 		logger.Debug("Ignoring Trigger", zap.String(eventing.BrokerClassAnnotationKey, brokerClass))
 		return nil
 	}
@@ -340,9 +341,9 @@ func deleteTrigger(egresses []*contract.Egress, index int) []*contract.Egress {
 	return egresses[:len(egresses)-1]
 }
 
-func isKnativeKafkaBroker(broker *eventing.Broker) (bool, string) {
+func (r *Reconciler) hasRelevantBrokerClass(broker *eventing.Broker) (bool, string) {
 	brokerClass := broker.GetAnnotations()[eventing.BrokerClassAnnotationKey]
-	return brokerClass == kafka.BrokerClass, brokerClass
+	return brokerClass == r.BrokerClass, brokerClass
 }
 
 func deliveryOrderFromString(val string) (contract.DeliveryOrder, error) {


Test patch:
diff --git a/control-plane/pkg/reconciler/broker/broker_test.go b/control-plane/pkg/reconciler/broker/broker_test.go
index d2622c32c..6ad4eeff1 100644
--- a/control-plane/pkg/reconciler/broker/broker_test.go
+++ b/control-plane/pkg/reconciler/broker/broker_test.go
@@ -22,9 +22,9 @@ import (
 	"net/url"
 	"testing"
 
-	"k8s.io/utils/pointer"
-	"knative.dev/pkg/network"
+	"k8s.io/apimachinery/pkg/runtime/schema"
 
+	"k8s.io/utils/pointer"
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/config"
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/kafka"
 	kafkatesting "knative.dev/eventing-kafka-broker/control-plane/pkg/kafka/testing"
@@ -1219,6 +1219,7 @@ func brokerReconciliation(t *testing.T, format string, env config.Env) {
 				finalizerUpdatedEvent,
 			},
 			WantUpdates: []clientgotesting.UpdateActionImpl{
+				SecretFinalizerUpdate("secret-1", SecretFinalizerName),
 				ConfigMapUpdate(&env, &contract.Contract{
 					Resources: []*contract.Resource{
 						{
@@ -1878,6 +1879,30 @@ func brokerReconciliation(t *testing.T, format string, env config.Env) {
 	useTable(t, table, &env)
 }
 
+func SecretFinalizerUpdate(secretName, finalizerName string) clientgotesting.UpdateActionImpl {
+	return clientgotesting.NewUpdateAction(
+		schema.GroupVersionResource{
+			Group:    "*",
+			Version:  "v1",
+			Resource: "Secret",
+		},
+		ConfigMapNamespace,
+		BrokerSecretWithFinalizer(ConfigMapNamespace, secretName, finalizerName),
+	)
+}
+
+func SecretFinalizerUpdateRemove(secretName string) clientgotesting.UpdateActionImpl {
+	return clientgotesting.NewUpdateAction(
+		schema.GroupVersionResource{
+			Group:    "*",
+			Version:  "v1",
+			Resource: "Secret",
+		},
+		ConfigMapNamespace,
+		NewSSLSecret(ConfigMapNamespace, secretName),
+	)
+}
+
 func TestBrokerFinalizer(t *testing.T) {
 	t.Parallel()
 
@@ -2005,6 +2030,57 @@ func brokerFinalization(t *testing.T, format string, env config.Env) {
 				testProber: probertesting.MockProber(prober.StatusNotReady),
 			},
 		},
+		{
+			Name: "Reconciled normal - with auth config",
+			Objects: []runtime.Object{
+				NewDeletedBroker(
+					WithExternalTopic(ExternalTopicName),
+					WithBrokerConfig(KReference(BrokerConfig(bootstrapServers, 20, 5,
+						BrokerAuthConfig("secret-1"),
+					))),
+					BrokerConfigMapSecretAnnotation("secret-1"),
+				),
+				BrokerSecretWithFinalizer(ConfigMapNamespace, "secret-1", SecretFinalizerName),
+				BrokerConfig(bootstrapServers, 20, 5, BrokerAuthConfig("secret-1")),
+				NewConfigMapFromContract(&contract.Contract{
+					Resources: []*contract.Resource{
+						{
+							Uid:     BrokerUUID,
+							Topics:  []string{BrokerTopic()},
+							Ingress: &contract.Ingress{Path: receiver.Path(BrokerNamespace, BrokerName)},
+						},
+					},
+					Generation: 1,
+				}, &env),
+				NewService(),
+				BrokerReceiverPod(env.SystemNamespace, map[string]string{
+					"annotation_to_preserve": "value_to_preserve",
+				}),
+				BrokerDispatcherPod(env.SystemNamespace, map[string]string{
+					"annotation_to_preserve": "value_to_preserve",
+				}),
+			},
+			Key: testKey,
+			WantUpdates: []clientgotesting.UpdateActionImpl{
+				ConfigMapUpdate(&env, &contract.Contract{
+					Resources:  []*contract.Resource{},
+					Generation: 2,
+				}),
+				BrokerReceiverPodUpdate(env.SystemNamespace, map[string]string{
+					base.VolumeGenerationAnnotationKey: "2",
+					"annotation_to_preserve":           "value_to_preserve",
+				}),
+				BrokerDispatcherPodUpdate(env.SystemNamespace, map[string]string{
+					base.VolumeGenerationAnnotationKey: "2",
+					"annotation_to_preserve":           "value_to_preserve",
+				}),
+				SecretFinalizerUpdateRemove("secret-1"),
+			},
+			OtherTestData: map[string]interface{}{
+				testProber: probertesting.MockProber(prober.StatusNotReady),
+			},
+		},
+
 		{
 			Name: "Failed to delete topic",
 			Objects: []runtime.Object{
@@ -2233,9 +2309,8 @@ func useTable(t *testing.T, table TableTest, env *config.Env) {
 					T:                                      t,
 				}, nil
 			},
-			Env:         env,
-			Prober:      proberMock,
-			IngressHost: network.GetServiceHostname(env.IngressName, env.SystemNamespace),
+			Env:    env,
+			Prober: proberMock,
 		}
 
 		reconciler.ConfigMapTracker = &FakeTracker{}
diff --git a/control-plane/pkg/reconciler/testing/objects_broker.go b/control-plane/pkg/reconciler/testing/objects_broker.go
index 408bf34c4..4827f1ccc 100644
--- a/control-plane/pkg/reconciler/testing/objects_broker.go
+++ b/control-plane/pkg/reconciler/testing/objects_broker.go
@@ -48,6 +48,8 @@ const (
 	BrokerName        = "test-broker"
 	ExternalTopicName = "test-topic"
 
+	SecretFinalizerName = "kafka.eventing/" + BrokerUUID
+
 	TriggerName      = "test-trigger"
 	TriggerNamespace = "test-namespace"
 )
@@ -77,6 +79,12 @@ func NewBroker(options ...reconcilertesting.BrokerOption) runtime.Object {
 	)
 }
 
+func BrokerSecretWithFinalizer(ns, name, finalizerName string) *corev1.Secret {
+	secret := NewSSLSecret(ns, name)
+	secret.Finalizers = append(secret.Finalizers, finalizerName)
+	return secret
+}
+
 func NewDeletedBroker(options ...reconcilertesting.BrokerOption) runtime.Object {
 	return NewBroker(
 		append(
@@ -145,6 +153,7 @@ func WithExternalTopic(topic string) func(*eventing.Broker) {
 }
 
 type CMOption func(cm *corev1.ConfigMap)
+type SecretOption func(secret *corev1.Secret)
 
 func BrokerConfig(bootstrapServers string, numPartitions, replicationFactor int, options ...CMOption) *corev1.ConfigMap {
 	cm := &corev1.ConfigMap{
@@ -164,6 +173,12 @@ func BrokerConfig(bootstrapServers string, numPartitions, replicationFactor int,
 	return cm
 }
 
+func BrokerSecretFinalizer(finalizerName string) SecretOption {
+	return func(secret *corev1.Secret) {
+		secret.Finalizers = append(secret.Finalizers, finalizerName)
+	}
+}
+
 func BrokerAuthConfig(name string) CMOption {
 	return func(cm *corev1.ConfigMap) {
 		if cm.Data == nil {
diff --git a/control-plane/pkg/reconciler/trigger/controller_test.go b/control-plane/pkg/reconciler/trigger/controller_test.go
index 7f7cf4741..7999af969 100644
--- a/control-plane/pkg/reconciler/trigger/controller_test.go
+++ b/control-plane/pkg/reconciler/trigger/controller_test.go
@@ -170,7 +170,7 @@ func TestFilterTriggers(t *testing.T) {
 			for _, obj := range tc.brokers {
 				_ = brokerInformer.Informer().GetStore().Add(obj)
 			}
-			filter := filterTriggers(brokerInformer.Lister())
+			filter := filterTriggers(brokerInformer.Lister(), kafka.BrokerClass)
 			pass := filter(tc.trigger)
 			assert.Equal(t, tc.pass, pass)
 		})
diff --git a/control-plane/pkg/reconciler/trigger/trigger_test.go b/control-plane/pkg/reconciler/trigger/trigger_test.go
index 0adea482e..3d5944bf9 100644
--- a/control-plane/pkg/reconciler/trigger/trigger_test.go
+++ b/control-plane/pkg/reconciler/trigger/trigger_test.go
@@ -48,6 +48,7 @@ import (
 	internals "knative.dev/eventing-kafka-broker/control-plane/pkg/apis/internals/kafka/eventing"
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/config"
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/contract"
+	"knative.dev/eventing-kafka-broker/control-plane/pkg/kafka"
 
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/receiver"
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/reconciler/base"
@@ -2769,6 +2770,7 @@ func useTableWithFlags(t *testing.T, table TableTest, env *config.Env, flags fea
 			Resolver:       nil,
 			Env:            env,
 			Flags:          flags,
+			BrokerClass:    kafka.BrokerClass,
 		}
 
 		reconciler.Resolver = resolver.NewURIResolverFromTracker(ctx, tracker.New(func(name types.NamespacedName) {}, 0))
diff --git a/third_party/eventing-latest/eventing-core.yaml b/third_party/eventing-latest/eventing-core.yaml
index a16c1d5f1..3d3db9c0a 100644
--- a/third_party/eventing-latest/eventing-core.yaml
+++ b/third_party/eventing-latest/eventing-core.yaml
@@ -16,8 +16,8 @@ kind: Namespace
 metadata:
   name: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 
 ---
@@ -41,8 +41,8 @@ metadata:
   name: eventing-controller
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 ---
 apiVersion: rbac.authorization.k8s.io/v1
@@ -50,8 +50,8 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -67,8 +67,8 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller-resolver
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -84,8 +84,8 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller-source-observer
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -101,8 +101,8 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller-sources-controller
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -118,8 +118,8 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-controller-manipulator
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -151,8 +151,8 @@ metadata:
   name: pingsource-mt-adapter
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 ---
 apiVersion: rbac.authorization.k8s.io/v1
@@ -160,8 +160,8 @@ kind: ClusterRoleBinding
 metadata:
   name: knative-eventing-pingsource-mt-adapter
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -193,8 +193,8 @@ metadata:
   name: eventing-webhook
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 ---
 apiVersion: rbac.authorization.k8s.io/v1
@@ -202,8 +202,8 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-webhook
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -220,8 +220,8 @@ metadata:
   namespace: knative-eventing
   name: eventing-webhook
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -237,8 +237,8 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-webhook-resolver
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -254,8 +254,8 @@ kind: ClusterRoleBinding
 metadata:
   name: eventing-webhook-podspecable-binding
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 subjects:
   - kind: ServiceAccount
@@ -287,8 +287,8 @@ metadata:
   name: config-br-default-channel
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 data:
   channel-template-spec: |
@@ -316,8 +316,8 @@ metadata:
   name: config-br-defaults
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 data:
   # Configures the default for any Broker that does not specify a spec.config or Broker class.
@@ -354,8 +354,8 @@ metadata:
   name: default-ch-webhook
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 data:
   # Configuration for defaulting channels that do not specify CRD implementations.
@@ -389,10 +389,10 @@ metadata:
   name: config-ping-defaults
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
   annotations:
     knative.dev/example-checksum: "9185c153"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 data:
   _example: |
@@ -436,10 +436,10 @@ metadata:
   name: config-features
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/config-propagation: original
     knative.dev/config-category: eventing
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 data:
   # ALPHA feature: The kreference-group allows you to use the Group field in KReferences.
@@ -483,7 +483,7 @@ metadata:
   name: config-kreference-mapping
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/config-propagation: original
     knative.dev/config-category: eventing
   annotations:
@@ -532,8 +532,8 @@ metadata:
   name: config-leader-election
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   annotations:
     knative.dev/example-checksum: "f7948630"
@@ -594,10 +594,10 @@ metadata:
   name: config-logging
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/config-propagation: original
     knative.dev/config-category: eventing
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 data:
   # Common configuration for all Knative codebase
@@ -648,10 +648,10 @@ metadata:
   name: config-observability
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/config-propagation: original
     knative.dev/config-category: eventing
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   annotations:
     knative.dev/example-checksum: "f46cf09d"
@@ -725,8 +725,8 @@ metadata:
   name: config-sugar
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   annotations:
     knative.dev/example-checksum: "b05e6e70"
@@ -783,10 +783,10 @@ metadata:
   name: config-tracing
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/config-propagation: original
     knative.dev/config-category: eventing
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   annotations:
     knative.dev/example-checksum: "0492ceb0"
@@ -841,10 +841,10 @@ metadata:
   name: eventing-controller
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/high-availability: "true"
     app.kubernetes.io/component: eventing-controller
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   selector:
@@ -854,9 +854,9 @@ spec:
     metadata:
       labels:
         app: eventing-controller
-        eventing.knative.dev/release: "v20220620-c1b0ea692"
+        eventing.knative.dev/release: "v20220703-f69e18140"
         app.kubernetes.io/component: eventing-controller
-        app.kubernetes.io/version: "20220620-c1b0ea692"
+        app.kubernetes.io/version: "20220703-f69e18140"
         app.kubernetes.io/name: knative-eventing
     spec:
       # To avoid node becoming SPOF, spread our replicas to different nodes.
@@ -874,7 +874,7 @@ spec:
       containers:
         - name: eventing-controller
           terminationMessagePolicy: FallbackToLogsOnError
-          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/controller@sha256:69a91fb17a8a473e91e1be44f1168624f0cbba5d8449fe24ebfb35ac2b4b7931
+          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/controller@sha256:431b39adbfbf399f15505b92b889a5baacfee2c51e67b0266cb47db571822af1
           resources:
             requests:
               cpu: 100m
@@ -892,7 +892,7 @@ spec:
               value: knative.dev/eventing
             # APIServerSource
             - name: APISERVER_RA_IMAGE
-              value: gcr.io/knative-nightly/knative.dev/eventing/cmd/apiserver_receive_adapter@sha256:70bdf5e1ec992f9f63793fbc4b0c632e7f00943ab0a12502b2aba9096d6e9da2
+              value: gcr.io/knative-nightly/knative.dev/eventing/cmd/apiserver_receive_adapter@sha256:1b562305137cb200c4cc274c4ecb489cae04c1b63927787fd3ee0879a9a5d315
             - name: POD_NAME
               valueFrom:
                 fieldRef:
@@ -941,9 +941,9 @@ metadata:
   name: pingsource-mt-adapter
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     app.kubernetes.io/component: pingsource-mt-adapter
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     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.
@@ -956,9 +956,9 @@ spec:
     metadata:
       labels:
         !!merge <<: *labels
-        eventing.knative.dev/release: "v20220620-c1b0ea692"
+        eventing.knative.dev/release: "v20220703-f69e18140"
         app.kubernetes.io/component: pingsource-mt-adapter
-        app.kubernetes.io/version: "20220620-c1b0ea692"
+        app.kubernetes.io/version: "20220703-f69e18140"
         app.kubernetes.io/name: knative-eventing
     spec:
       affinity:
@@ -972,7 +972,7 @@ spec:
       enableServiceLinks: false
       containers:
         - name: dispatcher
-          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/mtping@sha256:470b6825c355f4ce8d3f7488a97451d9e70da01af8f64f06c0219423cd5bb6cc
+          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/mtping@sha256:d7cc787df39071364057593f9b33f7c4a774c95ff3ff3ed029f859f29025f991
           env:
             - name: SYSTEM_NAMESPACE
               value: ''
@@ -1043,9 +1043,9 @@ metadata:
   name: eventing-webhook
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     app.kubernetes.io/component: eventing-webhook
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   scaleTargetRef:
@@ -1063,15 +1063,15 @@ spec:
           averageUtilization: 100
 ---
 # Webhook PDB.
-apiVersion: policy/v1beta1
+apiVersion: policy/v1
 kind: PodDisruptionBudget
 metadata:
   name: eventing-webhook
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     app.kubernetes.io/component: eventing-webhook
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   minAvailable: 80%
@@ -1100,9 +1100,9 @@ metadata:
   name: eventing-webhook
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     app.kubernetes.io/component: eventing-webhook
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   selector:
@@ -1113,9 +1113,9 @@ spec:
     metadata:
       labels:
         !!merge <<: *labels
-        eventing.knative.dev/release: "v20220620-c1b0ea692"
+        eventing.knative.dev/release: "v20220703-f69e18140"
         app.kubernetes.io/component: eventing-webhook
-        app.kubernetes.io/version: "20220620-c1b0ea692"
+        app.kubernetes.io/version: "20220703-f69e18140"
         app.kubernetes.io/name: knative-eventing
     spec:
       # To avoid node becoming SPOF, spread our replicas to different nodes.
@@ -1135,7 +1135,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:c17c694d7da7a544060dfcb7fa95520072fa5602ff0dc7b2c55205782c1125ef
+          image: gcr.io/knative-nightly/knative.dev/eventing/cmd/webhook@sha256:271a9a66858c716da07188583f7d42ee639ec54066774d2d74dc7a1fee8b2522
           resources:
             requests:
               # taken from serving.
@@ -1204,10 +1204,10 @@ apiVersion: v1
 kind: Service
 metadata:
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     role: eventing-webhook
     app.kubernetes.io/component: eventing-webhook
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   name: eventing-webhook
   namespace: knative-eventing
@@ -1239,11 +1239,11 @@ kind: CustomResourceDefinition
 metadata:
   creationTimestamp: null
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   annotations:
     # TODO add schemas and descriptions
@@ -1455,10 +1455,10 @@ kind: CustomResourceDefinition
 metadata:
   name: brokers.eventing.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -1622,11 +1622,11 @@ kind: CustomResourceDefinition
 metadata:
   name: channels.messaging.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
     messaging.knative.dev/subscribable: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: messaging.knative.dev
@@ -1897,11 +1897,11 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   name: containersources.sources.knative.dev
 spec:
@@ -2051,9 +2051,9 @@ kind: CustomResourceDefinition
 metadata:
   name: eventtypes.eventing.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -2180,10 +2180,10 @@ kind: CustomResourceDefinition
 metadata:
   name: parallels.flows.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: flows.knative.dev
@@ -2435,11 +2435,11 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   annotations:
     # TODO add schemas and descriptions
@@ -2626,10 +2626,10 @@ kind: CustomResourceDefinition
 metadata:
   name: sequences.flows.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: flows.knative.dev
@@ -2946,12 +2946,12 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     duck.knative.dev/binding: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   name: sinkbindings.sources.knative.dev
 spec:
@@ -3138,9 +3138,9 @@ kind: CustomResourceDefinition
 metadata:
   name: subscriptions.messaging.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: messaging.knative.dev
@@ -3350,9 +3350,9 @@ kind: CustomResourceDefinition
 metadata:
   name: triggers.eventing.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -3536,8 +3536,8 @@ kind: ClusterRole
 metadata:
   name: addressable-resolver
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 aggregationRule:
   clusterRoleSelectors:
@@ -3550,9 +3550,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: service-addressable-resolver
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3570,9 +3570,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: serving-addressable-resolver
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3593,9 +3593,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: channel-addressable-resolver
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3620,9 +3620,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: broker-addressable-resolver
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3641,9 +3641,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: flows-addressable-resolver
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
 rules:
@@ -3679,8 +3679,8 @@ kind: ClusterRole
 metadata:
   name: eventing-broker-filter
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -3706,8 +3706,8 @@ kind: ClusterRole
 metadata:
   name: eventing-broker-ingress
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -3724,8 +3724,8 @@ kind: ClusterRole
 metadata:
   name: eventing-config-reader
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -3758,8 +3758,8 @@ kind: ClusterRole
 metadata:
   name: channelable-manipulator
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 aggregationRule:
   clusterRoleSelectors:
@@ -3772,9 +3772,9 @@ kind: ClusterRole
 metadata:
   name: meta-channelable-manipulator
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     duck.knative.dev/channelable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "channelable-manipulator" role.
 rules:
@@ -3812,9 +3812,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: knative-eventing-namespaced-admin
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["eventing.knative.dev"]
@@ -3826,9 +3826,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: knative-messaging-namespaced-admin
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["messaging.knative.dev"]
@@ -3840,9 +3840,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: knative-flows-namespaced-admin
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["flows.knative.dev"]
@@ -3854,9 +3854,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: knative-sources-namespaced-admin
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["sources.knative.dev"]
@@ -3868,9 +3868,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: knative-bindings-namespaced-admin
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["bindings.knative.dev"]
@@ -3883,8 +3883,8 @@ metadata:
   name: knative-eventing-namespaced-edit
   labels:
     rbac.authorization.k8s.io/aggregate-to-edit: "true"
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["eventing.knative.dev", "messaging.knative.dev", "sources.knative.dev", "flows.knative.dev", "bindings.knative.dev"]
@@ -3897,8 +3897,8 @@ metadata:
   name: knative-eventing-namespaced-view
   labels:
     rbac.authorization.k8s.io/aggregate-to-view: "true"
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups: ["eventing.knative.dev", "messaging.knative.dev", "sources.knative.dev", "flows.knative.dev", "bindings.knative.dev"]
@@ -3925,8 +3925,8 @@ kind: ClusterRole
 metadata:
   name: knative-eventing-controller
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -4061,8 +4061,8 @@ kind: ClusterRole
 metadata:
   name: knative-eventing-pingsource-mt-adapter
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -4129,8 +4129,8 @@ kind: ClusterRole
 metadata:
   name: podspecable-binding
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 aggregationRule:
   clusterRoleSelectors:
@@ -4143,9 +4143,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: builtin-podspecable-binding
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     duck.knative.dev/podspecable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "podspecable-binding role.
 rules:
@@ -4191,8 +4191,8 @@ kind: ClusterRole
 metadata:
   name: source-observer
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 aggregationRule:
   clusterRoleSelectors:
@@ -4205,9 +4205,9 @@ apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: eventing-sources-source-observer
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     duck.knative.dev/source: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 # Do not use this role directly. These rules will be added to the "source-observer" role.
 rules:
@@ -4243,8 +4243,8 @@ kind: ClusterRole
 metadata:
   name: knative-eventing-sources-controller
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   - apiGroups:
@@ -4330,8 +4330,8 @@ kind: ClusterRole
 metadata:
   name: knative-eventing-webhook
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   # For watching logging configuration and getting certs.
@@ -4430,8 +4430,8 @@ metadata:
   namespace: knative-eventing
   name: knative-eventing-webhook
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 rules:
   # For manipulating certs into secrets.
@@ -4467,8 +4467,8 @@ kind: ValidatingWebhookConfiguration
 metadata:
   name: config.webhook.eventing.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 webhooks:
   - admissionReviewVersions: ["v1", "v1beta1"]
@@ -4505,8 +4505,8 @@ kind: MutatingWebhookConfiguration
 metadata:
   name: webhook.eventing.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 webhooks:
   - admissionReviewVersions: ["v1", "v1beta1"]
@@ -4539,8 +4539,8 @@ kind: ValidatingWebhookConfiguration
 metadata:
   name: validation.webhook.eventing.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 webhooks:
   - admissionReviewVersions: ["v1", "v1beta1"]
@@ -4574,8 +4574,8 @@ metadata:
   name: eventing-webhook-certs
   namespace: knative-eventing
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 # The data is populated at install time.
 
@@ -4599,8 +4599,8 @@ kind: MutatingWebhookConfiguration
 metadata:
   name: sinkbindings.webhook.sources.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
+    app.kubernetes.io/version: "20220703-f69e18140"
     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 3931c08fd..92736ce22 100644
--- a/third_party/eventing-latest/eventing-crds.yaml
+++ b/third_party/eventing-latest/eventing-crds.yaml
@@ -17,11 +17,11 @@ kind: CustomResourceDefinition
 metadata:
   creationTimestamp: null
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   annotations:
     # TODO add schemas and descriptions
@@ -233,10 +233,10 @@ kind: CustomResourceDefinition
 metadata:
   name: brokers.eventing.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -400,11 +400,11 @@ kind: CustomResourceDefinition
 metadata:
   name: channels.messaging.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
     messaging.knative.dev/subscribable: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: messaging.knative.dev
@@ -675,11 +675,11 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   name: containersources.sources.knative.dev
 spec:
@@ -829,9 +829,9 @@ kind: CustomResourceDefinition
 metadata:
   name: eventtypes.eventing.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev
@@ -958,10 +958,10 @@ kind: CustomResourceDefinition
 metadata:
   name: parallels.flows.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: flows.knative.dev
@@ -1213,11 +1213,11 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   annotations:
     # TODO add schemas and descriptions
@@ -1404,10 +1404,10 @@ kind: CustomResourceDefinition
 metadata:
   name: sequences.flows.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
     duck.knative.dev/addressable: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: flows.knative.dev
@@ -1724,12 +1724,12 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     duck.knative.dev/binding: "true"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
   name: sinkbindings.sources.knative.dev
 spec:
@@ -1916,9 +1916,9 @@ kind: CustomResourceDefinition
 metadata:
   name: subscriptions.messaging.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: messaging.knative.dev
@@ -2128,9 +2128,9 @@ kind: CustomResourceDefinition
 metadata:
   name: triggers.eventing.knative.dev
   labels:
-    eventing.knative.dev/release: "v20220620-c1b0ea692"
+    eventing.knative.dev/release: "v20220703-f69e18140"
     knative.dev/crd-install: "true"
-    app.kubernetes.io/version: "20220620-c1b0ea692"
+    app.kubernetes.io/version: "20220703-f69e18140"
     app.kubernetes.io/name: knative-eventing
 spec:
   group: eventing.knative.dev