You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2023/04/26 08:51:32 UTC

[camel-k] 16/18: chore: more replacements

This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit f3815aac612feea0e07d9ebffc09cde307e6f687
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Wed Apr 5 13:02:45 2023 +0200

    chore: more replacements
---
 .../kamel-cleanup/clean-orphan-resources.sh        |  2 +-
 addons/keda/keda.go                                |  2 +-
 addons/keda/keda_test.go                           |  2 +-
 config/crd/kustomization.yaml                      |  2 +-
 .../bases/camel-k.clusterserviceversion.yaml       | 10 ++---
 config/rbac/openshift/operator-role-openshift.yaml |  3 +-
 config/rbac/operator-role.yaml                     |  6 +--
 config/rbac/user-cluster-role.yaml                 |  6 +--
 .../bases/camel_v1_pipe.yaml}                      | 17 ++++++++
 ...ing.yaml => camel_v1alpha1_kameletbinding.yaml} |  2 +-
 config/samples/kustomization.yaml                  |  3 +-
 docs/modules/ROOT/nav.adoc                         |  4 +-
 .../kamelets/kameletbindings-error-handler.adoc    | 12 +++---
 docs/modules/ROOT/pages/kamelets/kamelets-dev.adoc | 26 +++++------
 .../modules/ROOT/pages/kamelets/kamelets-user.adoc | 34 +++++++--------
 docs/modules/ROOT/pages/kamelets/kamelets.adoc     |  2 +-
 docs/modules/ROOT/pages/running/knative-sink.adoc  |  4 +-
 docs/modules/ROOT/pages/scaling/binding.adoc       | 24 +++++------
 .../ROOT/pages/troubleshooting/debugging.adoc      |  4 +-
 e2e/common/misc/kamelet_binding_test.go            | 18 ++++----
 e2e/common/misc/kamelet_binding_with_image_test.go |  2 +-
 e2e/common/misc/scale_binding_test.go              | 50 +++++++++++-----------
 e2e/common/traits/errored_trait_test.go            | 12 +++---
 e2e/common/traits/health_test.go                   |  2 +-
 .../operator_id_filtering_test.go                  |  4 +-
 e2e/knative/kamelet_test.go                        | 28 ++++++------
 e2e/support/test_support.go                        | 46 ++++++++++----------
 .../common/kamelet-binding-broker/yaks-config.yaml |  4 +-
 .../common/kamelet-binding-http/yaks-config.yaml   |  2 +-
 e2e/yaks/common/kamelet-binding/yaks-config.yaml   |  4 +-
 e2e/yaks/common/kamelet-steps/yaks-config.yaml     |  2 +-
 pkg/install/cluster.go                             | 12 +++---
 pkg/resources/resources.go                         | 20 +++------
 pkg/resources/resources_test.go                    |  2 +-
 script/prepare-operators.sh                        |  4 +-
 35 files changed, 194 insertions(+), 183 deletions(-)

diff --git a/.github/actions/kamel-cleanup/clean-orphan-resources.sh b/.github/actions/kamel-cleanup/clean-orphan-resources.sh
index 2b1239990..f0d4bf732 100755
--- a/.github/actions/kamel-cleanup/clean-orphan-resources.sh
+++ b/.github/actions/kamel-cleanup/clean-orphan-resources.sh
@@ -2,7 +2,7 @@
 
 set +e
 
-resourcetypes="integrations integrationkits integrationplatforms camelcatalogs kamelets builds bindings"
+resourcetypes="integrations integrationkits integrationplatforms camelcatalogs kamelets builds pipes kameletbindings"
 
 #
 # Loop through the resource types
diff --git a/addons/keda/keda.go b/addons/keda/keda.go
index f3b270305..b47ee4e89 100644
--- a/addons/keda/keda.go
+++ b/addons/keda/keda.go
@@ -280,7 +280,7 @@ func (t *kedaTrait) hackControllerReplicas(e *trait.Environment) error {
 	}
 	if ctrlRef.Kind == camelv1.PipeKind {
 		scale.ObjectMeta.Name = ctrlRef.Name
-		_, err = scalesClient.Scales(e.Integration.Namespace).Update(e.Ctx, camelv1.SchemeGroupVersion.WithResource("bindings").GroupResource(), &scale, metav1.UpdateOptions{})
+		_, err = scalesClient.Scales(e.Integration.Namespace).Update(e.Ctx, camelv1.SchemeGroupVersion.WithResource("pipes").GroupResource(), &scale, metav1.UpdateOptions{})
 		if err != nil {
 			return err
 		}
diff --git a/addons/keda/keda_test.go b/addons/keda/keda_test.go
index 15503862b..8a5f64c49 100644
--- a/addons/keda/keda_test.go
+++ b/addons/keda/keda_test.go
@@ -391,7 +391,7 @@ func TestHackKLBReplicas(t *testing.T) {
 	assert.NoError(t, keda.Apply(env))
 	scalesClient, err := env.Client.ScalesClient()
 	assert.NoError(t, err)
-	sc, err := scalesClient.Scales("test").Get(env.Ctx, camelv1.SchemeGroupVersion.WithResource("bindings").GroupResource(), "my-klb", metav1.GetOptions{})
+	sc, err := scalesClient.Scales("test").Get(env.Ctx, camelv1.SchemeGroupVersion.WithResource("pipes").GroupResource(), "my-klb", metav1.GetOptions{})
 	assert.NoError(t, err)
 	assert.Equal(t, int32(1), sc.Spec.Replicas)
 }
diff --git a/config/crd/kustomization.yaml b/config/crd/kustomization.yaml
index 0b0099bb8..6941bdbad 100644
--- a/config/crd/kustomization.yaml
+++ b/config/crd/kustomization.yaml
@@ -25,4 +25,4 @@ resources:
 - bases/camel.apache.org_integrations.yaml
 - bases/camel.apache.org_kamelets.yaml
 - bases/camel.apache.org_kameletbindings.yaml
-- bases/camel.apache.org_bindings.yaml
+- bases/camel.apache.org_pipes.yaml
diff --git a/config/manifests/bases/camel-k.clusterserviceversion.yaml b/config/manifests/bases/camel-k.clusterserviceversion.yaml
index 236050ca2..5fe1df99c 100644
--- a/config/manifests/bases/camel-k.clusterserviceversion.yaml
+++ b/config/manifests/bases/camel-k.clusterserviceversion.yaml
@@ -23,7 +23,7 @@ metadata:
     categories: Integration & Delivery
     certified: "false"
     containerImage: docker.io/apache/camel-k:2.0.0-SNAPSHOT
-    createdAt: 2023-03-30T11:22:34Z
+    createdAt: 2023-04-05T11:19:26Z
     description: Apache Camel K is a lightweight integration platform, born on Kubernetes,
       with serverless superpowers.
     operators.operatorframework.io/builder: operator-sdk-v1.16.0
@@ -63,10 +63,10 @@ spec:
       kind: Integration
       name: integrations.camel.apache.org
       version: v1
-    - description: Binding is the Schema for the binding API
-      displayName: Binding
-      kind: Binding
-      name: bindings.camel.apache.org
+    - description: Pipe is the Schema for the pipes API
+      displayName: Pipe
+      kind: BindPipe
+      name: pipes.camel.apache.org
       version: v1alpha1
     - description: Kamelet is the Schema for the kamelets API
       displayName: Kamelet
diff --git a/config/rbac/openshift/operator-role-openshift.yaml b/config/rbac/openshift/operator-role-openshift.yaml
index bf99bf1ad..4eccaee70 100644
--- a/config/rbac/openshift/operator-role-openshift.yaml
+++ b/config/rbac/openshift/operator-role-openshift.yaml
@@ -29,7 +29,8 @@ rules:
   - integrationkits/finalizers
   - integrationplatforms/finalizers
   - integrations/finalizers
-  - bindings/finalizers
+  - pipes/finalizers
+  - kameletbindings/finalizers
   verbs:
   - update
 - apiGroups:
diff --git a/config/rbac/operator-role.yaml b/config/rbac/operator-role.yaml
index 1a5904312..47ac7d44b 100644
--- a/config/rbac/operator-role.yaml
+++ b/config/rbac/operator-role.yaml
@@ -30,7 +30,7 @@ rules:
   - integrationkits
   - integrationplatforms
   - integrations
-  - bindings
+  - pipes
   # Deprecated: kameletbindings CR
   - kameletbindings
   - kamelets
@@ -56,8 +56,8 @@ rules:
   - integrationplatforms/status
   - integrations/scale
   - integrations/status
-  - bindings/status
-  - bindings/scale
+  - pipes/status
+  - pipes/scale
   # Deprecated: kameletbindings CR
   - kameletbindings/status
   - kameletbindings/scale
diff --git a/config/rbac/user-cluster-role.yaml b/config/rbac/user-cluster-role.yaml
index 8942be225..aef6bee1c 100644
--- a/config/rbac/user-cluster-role.yaml
+++ b/config/rbac/user-cluster-role.yaml
@@ -33,7 +33,7 @@ rules:
   - integrationkits
   - integrationplatforms
   - integrations
-  - bindings
+  - pipes
   # Deprecated: kameletbindings CR
   - kameletbindings
   - kamelets
@@ -55,8 +55,8 @@ rules:
   - integrationplatforms/status
   - integrations/scale
   - integrations/status
-  - bindings/scale
-  - bindings/status
+  - pipes/scale
+  - pipes/status
   # Deprecated: kameletbindings CR
   - kameletbindings/scale
   - kameletbindings/status
diff --git a/config/crd/bases/camel.apache.org_bindings.yaml b/config/samples/bases/camel_v1_pipe.yaml
similarity index 74%
rename from config/crd/bases/camel.apache.org_bindings.yaml
rename to config/samples/bases/camel_v1_pipe.yaml
index 658e8dc7e..da8949de6 100644
--- a/config/crd/bases/camel.apache.org_bindings.yaml
+++ b/config/samples/bases/camel_v1_pipe.yaml
@@ -15,3 +15,20 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
+apiVersion: camel.apache.org/v1
+kind: Pipe
+metadata:
+  name: example
+spec:
+  source:
+    ref:
+      apiVersion: camel.apache.org/v1alpha1
+      kind: Kamelet
+      name: example
+    properties:
+      message: Hello world
+  sink:
+    ref:
+      apiVersion: messaging.knative.dev/v1
+      kind: InMemoryChannel
+      name: example
diff --git a/config/samples/bases/camel_v1_binding.yaml b/config/samples/bases/camel_v1alpha1_kameletbinding.yaml
similarity index 98%
rename from config/samples/bases/camel_v1_binding.yaml
rename to config/samples/bases/camel_v1alpha1_kameletbinding.yaml
index 977bc5b4a..2d1424bca 100644
--- a/config/samples/bases/camel_v1_binding.yaml
+++ b/config/samples/bases/camel_v1alpha1_kameletbinding.yaml
@@ -16,7 +16,7 @@
 # ---------------------------------------------------------------------------
 
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: KameletBinding
 metadata:
   name: example
 spec:
diff --git a/config/samples/kustomization.yaml b/config/samples/kustomization.yaml
index 707b358bf..85c8ee6a7 100644
--- a/config/samples/kustomization.yaml
+++ b/config/samples/kustomization.yaml
@@ -27,7 +27,8 @@ resources:
 - bases/camel_v1_camelcatalog.yaml
 - bases/camel_v1_build.yaml
 - bases/camel_v1_kamelet.yaml
-- bases/camel_v1_binding.yaml
+- bases/camel_v1_pipe.yaml
+- bases/camel_v1alpha1_kameletbinding.yaml
 
 patchesStrategicMerge:
 - patch-integration-platform.yaml
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 7786bcdc9..e655589f2 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -51,8 +51,8 @@
 *** xref:observability/monitoring/operator.adoc[Operator]
 *** xref:observability/monitoring/integration.adoc[Integration]
 * Scaling
-** xref:scaling/integration.adoc[Integration]
-** xref:scaling/binding.adoc[Binding]
+** xref:scaling/integration.adoc[Integrations]
+** xref:scaling/binding.adoc[Pipes]
 * xref:traits:traits.adoc[Traits]
 // Start of autogenerated code - DO NOT EDIT! (trait-nav)
 ** xref:traits:3scale.adoc[3Scale]
diff --git a/docs/modules/ROOT/pages/kamelets/kameletbindings-error-handler.adoc b/docs/modules/ROOT/pages/kamelets/kameletbindings-error-handler.adoc
index 48b827e08..4fc59f1bb 100644
--- a/docs/modules/ROOT/pages/kamelets/kameletbindings-error-handler.adoc
+++ b/docs/modules/ROOT/pages/kamelets/kameletbindings-error-handler.adoc
@@ -1,12 +1,12 @@
 [[bindings-error-handler]]
-=Bindings Error Handler
+=Pipes Error Handler
 
-Bindings offer a mechanism to specify an error policy to adopt in case an event produced by a `source` or consumed by a `sink`. Through the definition of an `errorHandler` you will be able to apply certain logic to the failing event, such as simply logging, ignoring the event or posting the event to a `Sink`.
+Pipes offer a mechanism to specify an error policy to adopt in case an event produced by a `source` or consumed by a `sink`. Through the definition of an `errorHandler` you will be able to apply certain logic to the failing event, such as simply logging, ignoring the event or posting the event to a `Sink`.
 
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: my-kamelet-binding
 spec:
@@ -33,7 +33,7 @@ There may be certain cases where you want to just ignore any failure happening o
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: my-kamelet-binding
 spec:
@@ -54,7 +54,7 @@ Apache Camel offers a default behavior for handling any failure: log to standard
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: my-kamelet-binding
 spec:
@@ -78,7 +78,7 @@ The `Sink` is probably the most interesting error handler type as it allows you
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: my-kamelet-binding
 spec:
diff --git a/docs/modules/ROOT/pages/kamelets/kamelets-dev.adoc b/docs/modules/ROOT/pages/kamelets/kamelets-dev.adoc
index d8d221e79..ba70e270b 100644
--- a/docs/modules/ROOT/pages/kamelets/kamelets-dev.adoc
+++ b/docs/modules/ROOT/pages/kamelets/kamelets-dev.adoc
@@ -273,7 +273,7 @@ spec:
       - to: "kamelet:sink"
 ----
 <1> An icon with an appropriate license, better using svg+base64 URL encoding. You can encode icons using services like https://dopiaza.org/tools/datauri/index.php[this one]
-<2> The dataTypes section indicates that the Kamelet is going to produce JSON data as a default. The Kamelet is able to define multiple data types for in/out/error. The user will then be able to choose on of the data types in a Binding when referencing the Kamelet.
+<2> The dataTypes section indicates that the Kamelet is going to produce JSON data as a default. The Kamelet is able to define multiple data types for in/out/error. The user will then be able to choose on of the data types in a Pipe when referencing the Kamelet.
 <3> The previous YAML flow
 
 The Kamelet can be shared on the Catalog and or created on a Kubernetes cluster to let users use it.
@@ -294,7 +294,7 @@ Then you can create a binding like the following one to try it out:
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: twitter-search-source-binding
 spec:
@@ -867,7 +867,7 @@ spec:
 ----
 <1> Add an icon with an appropriate license, better using svg+base64 URL encoding. You can encode icons using services like https://dopiaza.org/tools/datauri/index.php[this one]
 <2> This marks the Kamelet as dependant on Quarkus since we're specifying explicit dependencies on Quarkus artifacts in the `spec` -> `dependencies` section
-<3> The types section indicates that the Kamelet is going to produce JSON data by default. The Kamelet is able to define multiple data types for in/out/error. The user will then be able to choose on of the data types in a Binding when referencing the Kamelet.
+<3> The types section indicates that the Kamelet is going to produce JSON data by default. The Kamelet is able to define multiple data types for in/out/error. The user will then be able to choose on of the data types in a Pipe when referencing the Kamelet.
 <4> Dependencies that we previously specified in the modeline options should be expressed now in the Kamelet spec
 
 The Kamelet is now ready to be used!
@@ -893,7 +893,7 @@ To check if it works, you can create a simple binding:
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: earthquake-source-binding
 spec:
@@ -1217,7 +1217,7 @@ So, for example, to send a text message to a chat, we may create a binding like
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: telegram-text-binding
 spec:
@@ -1261,7 +1261,7 @@ To check if we can also receive pictures using the above Kamelet, we can create
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: telegram-image-binding
 spec:
@@ -1314,8 +1314,8 @@ Feature: Kamelet earthquake-source works
   Scenario: Bind Kamelet to service
     Given create Kubernetes service test-service with target port 8080
     And bind Kamelet earthquake-source to uri http://test-service.${YAKS_NAMESPACE}.svc.cluster.local/test
-    When create Binding earthquake-source-uri
-    Then Binding earthquake-source-uri should be available
+    When create Pipe earthquake-source-uri
+    Then Pipe earthquake-source-uri should be available
     And Camel K integration earthquake-source-uri should be running
 
   Scenario: Verify binding
@@ -1323,7 +1323,7 @@ Feature: Kamelet earthquake-source works
     And HTTP server timeout is 120000 ms
     Then expect HTTP request header: Content-Type="application/json;charset=UTF-8"
     And receive POST /test
-    And delete Binding earthquake-source-uri
+    And delete Pipe earthquake-source-uri
 ----
 
 As you see this is a declarative test that is materialized into something that actually checks that the service generates some data.
@@ -1356,7 +1356,7 @@ send data to it via HTTP. Let's create a parameterized binding like the followin
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: webhook-to-telegram
 spec:
@@ -1406,8 +1406,8 @@ Feature: Kamelet telegram-sink works
 
   Scenario: Bind webhook to Kamelet sink
     Given load variables telegram-credentials.properties
-    And load Binding webhook-to-telegram.yaml
-    Then Binding webhook-to-telegram should be available
+    And load Pipe webhook-to-telegram.yaml
+    Then Pipe webhook-to-telegram should be available
     And Camel K integration webhook-to-telegram should be running
 
 
@@ -1423,7 +1423,7 @@ Feature: Kamelet telegram-sink works
     """
     When send POST /message
     Then receive HTTP 200 OK
-    And delete Binding webhook-to-telegram
+    And delete Pipe webhook-to-telegram
 
 ----
 
diff --git a/docs/modules/ROOT/pages/kamelets/kamelets-user.adoc b/docs/modules/ROOT/pages/kamelets/kamelets-user.adoc
index b179fb29a..217e5b298 100644
--- a/docs/modules/ROOT/pages/kamelets/kamelets-user.adoc
+++ b/docs/modules/ROOT/pages/kamelets/kamelets-user.adoc
@@ -278,11 +278,11 @@ In some contexts (for example **"serverless"**) users often want to leverage the
 doing additional processing (such as tranformations or other enterprise integration patterns).
 
 A common use case is that of **Knative Sources**, for which the Apache Camel developers maintain the https://knative.dev/docs/eventing/samples/apache-camel-source/[Knative CamelSources].
-Kamelets represent an **evolution** of the model proposed in CamelSources, but they allow using the same declarative style of binding, via a resource named **Binding**.
+Kamelets represent an **evolution** of the model proposed in CamelSources, but they allow using the same declarative style of binding, via a resource named **Pipe**.
 
 === Binding to a Knative Destination
 
-A Binding allows to declaratively move data from a system described by a Kamelet towards a Knative destination (or other kind of destinations, in the future), or from
+A Pipe allows to declaratively move data from a system described by a Kamelet towards a Knative destination (or other kind of destinations, in the future), or from
 a Knative channel/broker to another external system described by a Kamelet.
 
 For example, here's an example of binding:
@@ -290,7 +290,7 @@ For example, here's an example of binding:
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: telegram-text-source-to-channel
 spec:
@@ -315,11 +315,11 @@ makes sure that messages produced by the Kamelet are forwarded to the Knative **
 
 Note that source and sink are specified declaratively as standard **Kubernetes object references**.
 
-The example shows how we can reference the "telegram-text-source" resource in a Binding. It's contained in the `source` section
+The example shows how we can reference the "telegram-text-source" resource in a Pipe. It's contained in the `source` section
 because it's a Kamelet of type "source".
-A Kamelet of type "sink", by contrast, can only be used in the `sink` section of a `Binding`.
+A Kamelet of type "sink", by contrast, can only be used in the `sink` section of a `Pipe`.
 
-**Under the covers, a Binding creates an Integration** resource that implements the binding, but this is transparent to the end user.
+**Under the covers, a Pipe creates an Integration** resource that implements the binding, but this is transparent to the end user.
 
 === Binding to a Kafka Topic
 
@@ -338,7 +338,7 @@ The following binding can be created to push data into the `my-topic` topic:
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: telegram-text-source-to-kafka
 spec:
@@ -361,13 +361,13 @@ After creating it, messages will flow from Telegram to Kafka.
 
 === Binding to an explicit URI
 
-An alternative way to use a Binding is to configure the source/sink to be an explicit Camel URI.
+An alternative way to use a Pipe is to configure the source/sink to be an explicit Camel URI.
 For example, the following binding is allowed:
 
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: telegram-text-source-to-channel
 spec:
@@ -381,25 +381,25 @@ spec:
   sink:
     uri: https://mycompany.com/the-service # <1>
 ----
-<1> Binding with explicitly URI
+<1> Pipe with explicitly URI
 
-This Binding explicitly defines an URI where data is going to be pushed.
+This Pipe explicitly defines an URI where data is going to be pushed.
 
 NOTE: the `uri` option is also conventionally used in Knative to specify a non-kubernetes destination.
 To comply with the Knative specifications, in case an "http" or "https" URI is used, Camel will send https://cloudevents.io/[CloudEvents] to the destination.
 
 === Error Handling
 
-You can configure an error handler in order to specify what to do when some event ends up with failure. See xref:kamelets/bindings-error-handler.adoc[Bindings Error Handler User Guide] for more detail.
+You can configure an error handler in order to specify what to do when some event ends up with failure. See xref:kamelets/bindings-error-handler.adoc[Pipes Error Handler User Guide] for more detail.
 
 === Trait via annotations
 
-You can easily tune your `Binding` with xref:traits:traits.adoc[traits] configuration adding `.metadata.annotations`. Let's have a look at the following example:
+You can easily tune your `Pipe` with xref:traits:traits.adoc[traits] configuration adding `.metadata.annotations`. Let's have a look at the following example:
 
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: timer-2-log-annotation
   annotations: # <1>
@@ -578,7 +578,7 @@ Data shapes contain the following information:
 |E.g. `aws2-s3`
 
 |`format`
-|The data shape name used to identify and reference the data type in a Binding when choosing from multiple data type options.
+|The data shape name used to identify and reference the data type in a Pipe when choosing from multiple data type options.
 |`string`
 |E.g. `json`
 
@@ -653,13 +653,13 @@ which is set to the name of a specific KEDA autoscaler.
 A KEDA enabled Kamelet can be used in the same way as any other Kamelet, in a binding or in an integration.
 KEDA autoscalers are not enabled by default: they need to be manually enabled by the user via the `keda` trait.
 
-In a Binding, the KEDA trait can be enabled using annotations:
+In a Pipe, the KEDA trait can be enabled using annotations:
 
 .my-keda-binding.yaml
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: my-keda-binding
   annotations:
diff --git a/docs/modules/ROOT/pages/kamelets/kamelets.adoc b/docs/modules/ROOT/pages/kamelets/kamelets.adoc
index 26f339389..e4ba888da 100644
--- a/docs/modules/ROOT/pages/kamelets/kamelets.adoc
+++ b/docs/modules/ROOT/pages/kamelets/kamelets.adoc
@@ -4,5 +4,5 @@
 This section of the documentation contains information about Kamelets from both a user and a developer point of view:
 
 - The xref:kamelets/kamelets-user.adoc[Kamelets User Guide] is for users that want to use Kamelets for connecting systems with their applications
-- The xref:kamelets/bindings-error-handler.adoc[Bindings Error Handler User Guide] explains how to configure an error handler on a `Binding`
+- The xref:kamelets/bindings-error-handler.adoc[Pipes Error Handler User Guide] explains how to configure an error handler on a `Pipe`
 - The xref:kamelets/kamelets-dev.adoc[Kamelets Developer Guide] is a reference for developers that want to create new Kamelets and share them with users
diff --git a/docs/modules/ROOT/pages/running/knative-sink.adoc b/docs/modules/ROOT/pages/running/knative-sink.adoc
index 890de244f..55da49588 100644
--- a/docs/modules/ROOT/pages/running/knative-sink.adoc
+++ b/docs/modules/ROOT/pages/running/knative-sink.adoc
@@ -10,12 +10,12 @@ from('timer:tick')
   .to('knative:event/broker')
 ----
 
-Or as the value of the `sink` field in a `Binding` resource, e.g.:
+Or as the value of the `sink` field in a `Pipe` resource, e.g.:
 
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: timer-source-binding
 spec:
diff --git a/docs/modules/ROOT/pages/scaling/binding.adoc b/docs/modules/ROOT/pages/scaling/binding.adoc
index 08d7a47bc..294de741a 100644
--- a/docs/modules/ROOT/pages/scaling/binding.adoc
+++ b/docs/modules/ROOT/pages/scaling/binding.adoc
@@ -1,23 +1,23 @@
 [[binding-scaling]]
-= Camel K Binding Scaling
+= Camel K Pipe Scaling
 
 == Manual Scaling
 
-A Binding can be scaled using the `kubectl scale` command, e.g.:
+A Pipe can be scaled using the `kubectl scale` command, e.g.:
 
 [source,console]
 ----
 $ kubectl scale klb <kamelet_binding_name> --replicas <number_of_replicas>
 ----
 
-This can also be achieved by editing the Binding resource directly, e.g.:
+This can also be achieved by editing the Pipe resource directly, e.g.:
 
 [source,console]
 ----
 $ kubectl patch klb <kamelet_binding_name> -p '{"spec":{"replicas":<number_of_replicas>}}'
 ----
 
-The Binding also reports its number of replicas in the `.status.replicas` field, e.g.:
+The Pipe also reports its number of replicas in the `.status.replicas` field, e.g.:
 
 [source,console]
 ----
@@ -26,19 +26,19 @@ $ kubectl get klb <kamelet_binding_name> -o jsonpath='{.status.replicas}'
 
 == Autoscaling with Knative
 
-A Binding that binds an HTTP-based source Kamelet can automatically scale based on _incoming_ traffic when installed on a cluster with _Knative_ enabled, including scaling to zero.
+A Pipe that binds an HTTP-based source Kamelet can automatically scale based on _incoming_ traffic when installed on a cluster with _Knative_ enabled, including scaling to zero.
 
 The _incoming_ traffic measures either as:
 
 * The number of simultaneous requests, that are processed by each replica at any given time;
 * Or the number of requests that are processed per second, per replica.
 
-The `webhook-source` Kamelet is one of the sources that enables auto-scaling when used in a Binding:
+The `webhook-source` Kamelet is one of the sources that enables auto-scaling when used in a Pipe:
 
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: webhook-binding
 spec:
@@ -59,7 +59,7 @@ The Knative https://knative.dev/docs/serving/autoscaling/autoscaling-concepts/#s
 [source,yaml]
 ----
 apiVersion: camel.apache.org/v1alpha1
-kind: Binding
+kind: Pipe
 metadata:
   name: webhook-binding
 spec:
@@ -84,8 +84,8 @@ More information can be found in the Knative https://knative.dev/docs/serving/au
 
 [NOTE]
 ====
-When <<Manual Scaling,manually scaling>> a Binding that deploys as a Knative Service, both https://knative.dev/docs/serving/autoscaling/scale-bounds/[scale bounds], i.e., `minScale` and `maxScale`, are set to the specified number of replicas.
-Scale bounds can be reset by removing the `.spec.replicas` field from the Binding, e.g., with:
+When <<Manual Scaling,manually scaling>> a Pipe that deploys as a Knative Service, both https://knative.dev/docs/serving/autoscaling/scale-bounds/[scale bounds], i.e., `minScale` and `maxScale`, are set to the specified number of replicas.
+Scale bounds can be reset by removing the `.spec.replicas` field from the Pipe, e.g., with:
 
 [source,console]
 ----
@@ -95,9 +95,9 @@ $ kubectl patch klb <kamelet_binding_name> --type=json -p='[{"op": "remove", "pa
 
 == Autoscaling with HPA
 
-A Binding can automatically scale based on its CPU utilization and custom metrics using https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/[horizontal pod autoscaling (HPA)].
+A Pipe can automatically scale based on its CPU utilization and custom metrics using https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/[horizontal pod autoscaling (HPA)].
 
-For example, executing the following command creates an _autoscaler_ for the Binding, with target CPU utilization set to 80%, and the number of replicas between 2 and 5:
+For example, executing the following command creates an _autoscaler_ for the Pipe, with target CPU utilization set to 80%, and the number of replicas between 2 and 5:
 
 [source,console]
 ----
diff --git a/docs/modules/ROOT/pages/troubleshooting/debugging.adoc b/docs/modules/ROOT/pages/troubleshooting/debugging.adoc
index 255a7e747..26f0494b1 100644
--- a/docs/modules/ROOT/pages/troubleshooting/debugging.adoc
+++ b/docs/modules/ROOT/pages/troubleshooting/debugging.adoc
@@ -57,8 +57,8 @@ When the debugging session is done, hitting kbd:[Ctrl+c] on the terminal where t
 [[debugging-kamelets]]
 == Debugging Kamelets
 
-As we've seen in the previous section, all `Integration` created in Camel K are finally bundled as a Java application, hence, the possibility to debug via JVM debugger. Any `Kamelet` you will be using directly in your `Route` definition or in a `Binding` is automatically converted in a `yaml` route and injected in the Camel Context to be executed. That means that you cannot directly debug a `Kamelet` as you would do with a Java or any other JVM language `Route`.
+As we've seen in the previous section, all `Integration` created in Camel K are finally bundled as a Java application, hence, the possibility to debug via JVM debugger. Any `Kamelet` you will be using directly in your `Route` definition or in a `Pipe` is automatically converted in a `yaml` route and injected in the Camel Context to be executed. That means that you cannot directly debug a `Kamelet` as you would do with a Java or any other JVM language `Route`.
 
 However, you can troubleshoot individually each `Kamelet` definition by focusing on the specification xref:kamelets/kamelets-user.adoc#_flow[`Flow`]. As an example, you can create a simple `yaml` test `Route` substituting the `kamelet:source` or `kamelet:sink` with any mock endpoint that can help you in debugging the single `Kamelet` flow. Even using a `timer` and a `log` component may be enough for a basic check.
 
-NOTE: the same idea applies for a `Binding` which translates to an `Integration` type under the hood. If you need to debug a `Binding` just apply the same troubleshooting technique that you would apply on an `Integration`.
+NOTE: the same idea applies for a `Pipe` which translates to an `Integration` type under the hood. If you need to debug a `Pipe` just apply the same troubleshooting technique that you would apply on an `Integration`.
diff --git a/e2e/common/misc/kamelet_binding_test.go b/e2e/common/misc/kamelet_binding_test.go
index 825e6a8ae..7c0e10847 100644
--- a/e2e/common/misc/kamelet_binding_test.go
+++ b/e2e/common/misc/kamelet_binding_test.go
@@ -34,7 +34,7 @@ import (
 	"github.com/apache/camel-k/v2/pkg/util/kubernetes"
 )
 
-func TestBinding(t *testing.T) {
+func TestPipe(t *testing.T) {
 	RegisterTestingT(t)
 
 	// Error Handler testing
@@ -91,8 +91,8 @@ func TestBinding(t *testing.T) {
 		})
 	})
 
-	//Binding with traits testing
-	t.Run("testBinding with trait", func(t *testing.T) {
+	//Pipe with traits testing
+	t.Run("test Pipe with trait", func(t *testing.T) {
 		Expect(CreateTimerKamelet(ns, "my-own-timer-source")()).To(Succeed())
 		// Log sink kamelet exists from previous test
 
@@ -119,17 +119,17 @@ func TestBinding(t *testing.T) {
 		Eventually(IntegrationLogs(ns, "kb-with-traits"), TestTimeoutShort).Should(ContainSubstring("integrationLogger"))
 	})
 
-	// Binding with wrong spec
-	t.Run("test Binding with wrong spec", func(t *testing.T) {
+	// Pipe with wrong spec
+	t.Run("test Pipe with wrong spec", func(t *testing.T) {
 		name := "bad-klb"
 		kb := v1.NewPipe(ns, name)
 		kb.Spec = v1.PipeSpec{}
 		_, err := kubernetes.ReplaceResource(TestContext, TestClient(), &kb)
 		Eventually(err).Should(BeNil())
-		Eventually(BindingPhase(ns, name), TestTimeoutShort).Should(Equal(v1.PipePhaseError))
-		Eventually(BindingConditionStatus(ns, name, v1.PipeConditionReady), TestTimeoutShort).ShouldNot(Equal(corev1.ConditionTrue))
-		Eventually(BindingCondition(ns, name, v1.PipeIntegrationConditionError), TestTimeoutShort).Should(
-			WithTransform(BindingConditionMessage, And(
+		Eventually(PipePhase(ns, name), TestTimeoutShort).Should(Equal(v1.PipePhaseError))
+		Eventually(PipeConditionStatus(ns, name, v1.PipeConditionReady), TestTimeoutShort).ShouldNot(Equal(corev1.ConditionTrue))
+		Eventually(PipeCondition(ns, name, v1.PipeIntegrationConditionError), TestTimeoutShort).Should(
+			WithTransform(PipeConditionMessage, And(
 				ContainSubstring("could not determine source URI"),
 				ContainSubstring("no ref or URI specified in endpoint"),
 			)))
diff --git a/e2e/common/misc/kamelet_binding_with_image_test.go b/e2e/common/misc/kamelet_binding_with_image_test.go
index beea78c97..ab2ad549a 100644
--- a/e2e/common/misc/kamelet_binding_with_image_test.go
+++ b/e2e/common/misc/kamelet_binding_with_image_test.go
@@ -34,7 +34,7 @@ import (
 	"github.com/apache/camel-k/v2/pkg/apis/camel/v1"
 )
 
-func TestBindingWithImage(t *testing.T) {
+func TestPipeWithImage(t *testing.T) {
 	RegisterTestingT(t)
 
 	from := corev1.ObjectReference{
diff --git a/e2e/common/misc/scale_binding_test.go b/e2e/common/misc/scale_binding_test.go
index 663c3ee01..59557496b 100644
--- a/e2e/common/misc/scale_binding_test.go
+++ b/e2e/common/misc/scale_binding_test.go
@@ -39,7 +39,7 @@ import (
 	"github.com/apache/camel-k/v2/pkg/util/openshift"
 )
 
-func TestBindingScale(t *testing.T) {
+func TestPipeScale(t *testing.T) {
 	RegisterTestingT(t)
 
 	ocp, err := openshift.IsOpenShift(TestClient())
@@ -50,39 +50,39 @@ func TestBindingScale(t *testing.T) {
 	}
 
 	name := "timer2log"
-	Expect(KamelBindWithID(operatorID, ns, "timer-source?message=HelloBinding", "log-sink", "--name", name).Execute()).To(Succeed())
+	Expect(KamelBindWithID(operatorID, ns, "timer-source?message=HelloPipe", "log-sink", "--name", name).Execute()).To(Succeed())
 	Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
 	Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
-	Eventually(BindingConditionStatus(ns, name, v1.PipeConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
-	Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("HelloBinding"))
+	Eventually(PipeConditionStatus(ns, name, v1.PipeConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
+	Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("HelloPipe"))
 
-	t.Run("Update binding scale spec", func(t *testing.T) {
-		Expect(ScaleBinding(ns, name, 3)).To(Succeed())
+	t.Run("Update Pipe scale spec", func(t *testing.T) {
+		Expect(ScalePipe(ns, name, 3)).To(Succeed())
 		// Check the scale cascades into the Deployment scale
 		Eventually(IntegrationPods(ns, name), TestTimeoutShort).Should(HaveLen(3))
 		// Check it also cascades into the Integration scale subresource Status field
 		Eventually(IntegrationStatusReplicas(ns, name), TestTimeoutShort).
 			Should(gstruct.PointTo(BeNumerically("==", 3)))
-		// Check it also cascades into the Binding scale subresource Status field
-		Eventually(BindingStatusReplicas(ns, name), TestTimeoutShort).
+		// Check it also cascades into the Pipe scale subresource Status field
+		Eventually(PipeStatusReplicas(ns, name), TestTimeoutShort).
 			Should(gstruct.PointTo(BeNumerically("==", 3)))
 		// Check the readiness condition becomes truthy back
 		Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue))
-		// Finally check the readiness condition becomes truthy back onBinding
-		Eventually(BindingConditionStatus(ns, name, v1.PipeConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue))
+		// Finally check the readiness condition becomes truthy back onPipe
+		Eventually(PipeConditionStatus(ns, name, v1.PipeConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue))
 	})
 
-	t.Run("ScaleBinding with polymorphic client", func(t *testing.T) {
+	t.Run("ScalePipe with polymorphic client", func(t *testing.T) {
 		scaleClient, err := TestClient().ScalesClient()
 		Expect(err).To(BeNil())
 
 		// Patch the integration scale subresource
 		patch := "{\"spec\":{\"replicas\":2}}"
-		_, err = scaleClient.Scales(ns).Patch(TestContext, v1.SchemeGroupVersion.WithResource("bindings"), name, types.MergePatchType, []byte(patch), metav1.PatchOptions{})
+		_, err = scaleClient.Scales(ns).Patch(TestContext, v1.SchemeGroupVersion.WithResource("Pipes"), name, types.MergePatchType, []byte(patch), metav1.PatchOptions{})
 		Expect(err).To(BeNil())
 
 		// Check the readiness condition is still truthy as down-scaling
-		Expect(BindingConditionStatus(ns, name, v1.PipeConditionReady)()).To(Equal(corev1.ConditionTrue))
+		Expect(PipeConditionStatus(ns, name, v1.PipeConditionReady)()).To(Equal(corev1.ConditionTrue))
 		// Check the Integration scale subresource Spec field
 		Eventually(IntegrationSpecReplicas(ns, name), TestTimeoutShort).
 			Should(gstruct.PointTo(BeNumerically("==", 2)))
@@ -91,30 +91,30 @@ func TestBindingScale(t *testing.T) {
 		// Check it cascades into the Integration scale subresource Status field
 		Eventually(IntegrationStatusReplicas(ns, name), TestTimeoutShort).
 			Should(gstruct.PointTo(BeNumerically("==", 2)))
-		// Finally check it cascades into the Binding scale subresource Status field
-		Eventually(BindingStatusReplicas(ns, name), TestTimeoutShort).
+		// Finally check it cascades into the Pipe scale subresource Status field
+		Eventually(PipeStatusReplicas(ns, name), TestTimeoutShort).
 			Should(gstruct.PointTo(BeNumerically("==", 2)))
 	})
 
-	t.Run("ScaleBinding with Camel K client", func(t *testing.T) {
+	t.Run("ScalePipe with Camel K client", func(t *testing.T) {
 		camel, err := versioned.NewForConfig(TestClient().GetConfig())
 		Expect(err).To(BeNil())
 
 		// Getter
-		bindingScale, err := camel.CamelV1().Pipes(ns).GetScale(TestContext, name, metav1.GetOptions{})
+		PipeScale, err := camel.CamelV1().Pipes(ns).GetScale(TestContext, name, metav1.GetOptions{})
 		Expect(err).To(BeNil())
-		Expect(bindingScale.Spec.Replicas).To(BeNumerically("==", 2))
-		Expect(bindingScale.Status.Replicas).To(BeNumerically("==", 2))
+		Expect(PipeScale.Spec.Replicas).To(BeNumerically("==", 2))
+		Expect(PipeScale.Status.Replicas).To(BeNumerically("==", 2))
 
 		// Setter
-		bindingScale.Spec.Replicas = 1
-		_, err = camel.CamelV1().Pipes(ns).UpdateScale(TestContext, name, bindingScale, metav1.UpdateOptions{})
+		PipeScale.Spec.Replicas = 1
+		_, err = camel.CamelV1().Pipes(ns).UpdateScale(TestContext, name, PipeScale, metav1.UpdateOptions{})
 		Expect(err).To(BeNil())
 
-		// Check the readiness condition is still truthy as down-scaling inBinding
-		Expect(BindingConditionStatus(ns, name, v1.PipeConditionReady)()).To(Equal(corev1.ConditionTrue))
-		// Check the Binding scale subresource Spec field
-		Eventually(BindingSpecReplicas(ns, name), TestTimeoutShort).
+		// Check the readiness condition is still truthy as down-scaling inPipe
+		Expect(PipeConditionStatus(ns, name, v1.PipeConditionReady)()).To(Equal(corev1.ConditionTrue))
+		// Check the Pipe scale subresource Spec field
+		Eventually(PipeSpecReplicas(ns, name), TestTimeoutShort).
 			Should(gstruct.PointTo(BeNumerically("==", 1)))
 		// Check the readiness condition is still truthy as down-scaling
 		Expect(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady)()).To(Equal(corev1.ConditionTrue))
diff --git a/e2e/common/traits/errored_trait_test.go b/e2e/common/traits/errored_trait_test.go
index 5c55ba56e..b74d0bccb 100644
--- a/e2e/common/traits/errored_trait_test.go
+++ b/e2e/common/traits/errored_trait_test.go
@@ -50,17 +50,17 @@ func TestErroredTrait(t *testing.T) {
 		))
 	})
 
-	t.Run("Binding trait should fail", func(t *testing.T) {
+	t.Run("Pipe trait should fail", func(t *testing.T) {
 		name := "kb-errored"
 		Expect(KamelBindWithID(operatorID, ns, "timer:foo", "log:bar",
 			"--name", name,
 			"-t", "kamelets.list=missing",
 		).Execute()).To(Succeed())
-		// Binding
-		Eventually(BindingPhase(ns, name), TestTimeoutShort).Should(Equal(v1.PipePhaseError))
-		Eventually(BindingConditionStatus(ns, name, v1.PipeConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse))
-		Eventually(BindingCondition(ns, name, v1.PipeConditionReady), TestTimeoutShort).Should(
-			WithTransform(BindingConditionMessage, And(
+		// Pipe
+		Eventually(PipePhase(ns, name), TestTimeoutShort).Should(Equal(v1.PipePhaseError))
+		Eventually(PipeConditionStatus(ns, name, v1.PipeConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse))
+		Eventually(PipeCondition(ns, name, v1.PipeConditionReady), TestTimeoutShort).Should(
+			WithTransform(PipeConditionMessage, And(
 				ContainSubstring("error during trait customization"),
 				ContainSubstring("[missing] not found"),
 			)))
diff --git a/e2e/common/traits/health_test.go b/e2e/common/traits/health_test.go
index 34147f9b2..4523f6989 100644
--- a/e2e/common/traits/health_test.go
+++ b/e2e/common/traits/health_test.go
@@ -239,7 +239,7 @@ func TestHealthTrait(t *testing.T) {
 				return data["check.kind"].(string) == "READINESS" && data["route.status"].(string) == "Stopped" && data["route.id"].(string) == "binding"
 			}))
 
-		Eventually(BindingCondition(ns, name, camelv1.PipeConditionReady), TestTimeoutLong).Should(
+		Eventually(PipeCondition(ns, name, camelv1.PipeConditionReady), TestTimeoutLong).Should(
 			Satisfy(func(c *camelv1.PipeCondition) bool {
 				if c.Status != corev1.ConditionFalse {
 					return false
diff --git a/e2e/commonwithcustominstall/operator_id_filtering_test.go b/e2e/commonwithcustominstall/operator_id_filtering_test.go
index 0ac5b6231..373b2e37c 100644
--- a/e2e/commonwithcustominstall/operator_id_filtering_test.go
+++ b/e2e/commonwithcustominstall/operator_id_filtering_test.go
@@ -120,12 +120,12 @@ func TestOperatorIDFiltering(t *testing.T) {
 					Expect(Kamel("delete", "pre-built", "-n", ns).Execute()).To(Succeed())
 				})
 
-				t.Run("Operators can run scopedBindings", func(t *testing.T) {
+				t.Run("Operators can run scoped Pipes", func(t *testing.T) {
 					Expect(KamelBind(ns, "timer-source?message=Hello", "log-sink",
 						"--name", "klb", "--force").Execute()).To(Succeed())
 					Consistently(Integration(ns, "klb"), 10*time.Second).Should(BeNil())
 
-					Expect(AssignBindingToOperator(ns, "klb", operator1)).To(Succeed())
+					Expect(AssignPipeToOperator(ns, "klb", operator1)).To(Succeed())
 					Eventually(Integration(ns, "klb"), TestTimeoutShort).ShouldNot(BeNil())
 					Eventually(IntegrationPhase(ns, "klb"), TestTimeoutMedium).Should(Equal(v1.IntegrationPhaseRunning))
 					Eventually(IntegrationPodPhase(ns, "klb"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
diff --git a/e2e/knative/kamelet_test.go b/e2e/knative/kamelet_test.go
index 56d039751..e2598b8a3 100644
--- a/e2e/knative/kamelet_test.go
+++ b/e2e/knative/kamelet_test.go
@@ -36,7 +36,7 @@ import (
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
 )
 
-// Test that a Binding can be changed and the changes are propagated to the Integration
+// Test that a Pipe can be changed and the changes are propagated to the Integration
 func TestKameletChange(t *testing.T) {
 	RegisterTestingT(t)
 
@@ -58,37 +58,37 @@ func TestKameletChange(t *testing.T) {
 		APIVersion: messaging.SchemeGroupVersion.String(),
 	}
 
-	timerBinding := "timer-binding"
+	timerPipe := "timer-binding"
 	annotations := map[string]string{
 		"trait.camel.apache.org/health.enabled":                 "true",
 		"trait.camel.apache.org/health.readiness-initial-delay": "10",
 	}
 
-	// Create the Binding
-	Expect(BindKameletTo(ns, timerBinding, annotations, from, to, map[string]string{"message": "message is Hello"}, map[string]string{})()).To(Succeed())
+	// Create the Pipe
+	Expect(BindKameletTo(ns, timerPipe, annotations, from, to, map[string]string{"message": "message is Hello"}, map[string]string{})()).To(Succeed())
 
-	Eventually(IntegrationPodPhase(ns, timerBinding), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+	Eventually(IntegrationPodPhase(ns, timerPipe), TestTimeoutLong).Should(Equal(corev1.PodRunning))
 	Eventually(IntegrationConditionStatus(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
 	Eventually(IntegrationLogs(ns, "test-kamelet-display"), TestTimeoutShort).Should(ContainSubstring("message is Hello"))
 
-	Eventually(BindingCondition(ns, timerBinding, v1.PipeConditionReady), TestTimeoutMedium).Should(And(
-		WithTransform(BindingConditionStatusExtract, Equal(corev1.ConditionTrue)),
-		WithTransform(BindingConditionReason, Equal(v1.IntegrationConditionDeploymentReadyReason)),
-		WithTransform(BindingConditionMessage, Equal(fmt.Sprintf("1/1 ready replicas"))),
+	Eventually(PipeCondition(ns, timerPipe, v1.PipeConditionReady), TestTimeoutMedium).Should(And(
+		WithTransform(PipeConditionStatusExtract, Equal(corev1.ConditionTrue)),
+		WithTransform(PipeConditionReason, Equal(v1.IntegrationConditionDeploymentReadyReason)),
+		WithTransform(PipeConditionMessage, Equal(fmt.Sprintf("1/1 ready replicas"))),
 	))
 
-	// Update the Binding
+	// Update the Pipe
 	Expect(BindKameletTo(ns, "timer-binding", annotations, from, to, map[string]string{"message": "message is Hi"}, map[string]string{})()).To(Succeed())
 
 	Eventually(IntegrationPodPhase(ns, "timer-binding"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
 	Eventually(IntegrationConditionStatus(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
 	Eventually(IntegrationLogs(ns, "test-kamelet-display"), TestTimeoutShort).Should(ContainSubstring("message is Hi"))
 
-	Eventually(BindingCondition(ns, timerBinding, v1.PipeConditionReady), TestTimeoutMedium).
+	Eventually(PipeCondition(ns, timerPipe, v1.PipeConditionReady), TestTimeoutMedium).
 		Should(And(
-			WithTransform(BindingConditionStatusExtract, Equal(corev1.ConditionTrue)),
-			WithTransform(BindingConditionReason, Equal(v1.IntegrationConditionDeploymentReadyReason)),
-			WithTransform(BindingConditionMessage, Equal("1/1 ready replicas")),
+			WithTransform(PipeConditionStatusExtract, Equal(corev1.ConditionTrue)),
+			WithTransform(PipeConditionReason, Equal(v1.IntegrationConditionDeploymentReadyReason)),
+			WithTransform(PipeConditionMessage, Equal("1/1 ready replicas")),
 		))
 
 	Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
diff --git a/e2e/support/test_support.go b/e2e/support/test_support.go
index b85605c59..57697449c 100644
--- a/e2e/support/test_support.go
+++ b/e2e/support/test_support.go
@@ -1068,7 +1068,7 @@ func ScaleIntegration(ns string, name string, replicas int32) error {
 	})
 }
 
-func Binding(ns string, name string) func() *v1.Pipe {
+func Pipe(ns string, name string) func() *v1.Pipe {
 	return func() *v1.Pipe {
 		klb := v1.NewPipe(ns, name)
 		key := ctrl.ObjectKey{
@@ -1084,9 +1084,9 @@ func Binding(ns string, name string) func() *v1.Pipe {
 	}
 }
 
-func BindingPhase(ns string, name string) func() v1.PipePhase {
+func PipePhase(ns string, name string) func() v1.PipePhase {
 	return func() v1.PipePhase {
-		klb := Binding(ns, name)()
+		klb := Pipe(ns, name)()
 		if klb == nil {
 			return ""
 		}
@@ -1094,9 +1094,9 @@ func BindingPhase(ns string, name string) func() v1.PipePhase {
 	}
 }
 
-func BindingSpecReplicas(ns string, name string) func() *int32 {
+func PipeSpecReplicas(ns string, name string) func() *int32 {
 	return func() *int32 {
-		klb := Binding(ns, name)()
+		klb := Pipe(ns, name)()
 		if klb == nil {
 			return nil
 		}
@@ -1104,9 +1104,9 @@ func BindingSpecReplicas(ns string, name string) func() *int32 {
 	}
 }
 
-func BindingStatusReplicas(ns string, name string) func() *int32 {
+func PipeStatusReplicas(ns string, name string) func() *int32 {
 	return func() *int32 {
-		klb := Binding(ns, name)()
+		klb := Pipe(ns, name)()
 		if klb == nil {
 			return nil
 		}
@@ -1114,9 +1114,9 @@ func BindingStatusReplicas(ns string, name string) func() *int32 {
 	}
 }
 
-func BindingCondition(ns string, name string, conditionType v1.PipeConditionType) func() *v1.PipeCondition {
+func PipeCondition(ns string, name string, conditionType v1.PipeConditionType) func() *v1.PipeCondition {
 	return func() *v1.PipeCondition {
-		kb := Binding(ns, name)()
+		kb := Pipe(ns, name)()
 		if kb == nil {
 			return nil
 		}
@@ -1128,32 +1128,32 @@ func BindingCondition(ns string, name string, conditionType v1.PipeConditionType
 	}
 }
 
-func BindingConditionStatusExtract(c *v1.PipeCondition) corev1.ConditionStatus {
+func PipeConditionStatusExtract(c *v1.PipeCondition) corev1.ConditionStatus {
 	if c == nil {
 		return ""
 	}
 	return c.Status
 }
 
-func BindingConditionReason(c *v1.PipeCondition) string {
+func PipeConditionReason(c *v1.PipeCondition) string {
 	if c == nil {
 		return ""
 	}
 	return c.Reason
 }
 
-func BindingConditionMessage(c *v1.PipeCondition) string {
+func PipeConditionMessage(c *v1.PipeCondition) string {
 	if c == nil {
 		return ""
 	}
 	return c.Message
 }
 
-func BindingConditionStatus(ns string, name string, conditionType v1.PipeConditionType) func() corev1.ConditionStatus {
+func PipeConditionStatus(ns string, name string, conditionType v1.PipeConditionType) func() corev1.ConditionStatus {
 	return func() corev1.ConditionStatus {
-		klb := Binding(ns, name)()
+		klb := Pipe(ns, name)()
 		if klb == nil {
-			return "BindingMissing"
+			return "PipeMissing"
 		}
 		c := klb.Status.GetCondition(conditionType)
 		if c == nil {
@@ -1163,10 +1163,10 @@ func BindingConditionStatus(ns string, name string, conditionType v1.PipeConditi
 	}
 }
 
-func UpdateBinding(ns string, name string, upd func(it *v1.Pipe)) error {
-	klb := Binding(ns, name)()
+func UpdatePipe(ns string, name string, upd func(it *v1.Pipe)) error {
+	klb := Pipe(ns, name)()
 	if klb == nil {
-		return fmt.Errorf("noBinding named %s found", name)
+		return fmt.Errorf("no Pipe named %s found", name)
 	}
 	target := klb.DeepCopy()
 	upd(target)
@@ -1180,16 +1180,16 @@ func UpdateBinding(ns string, name string, upd func(it *v1.Pipe)) error {
 	return TestClient().Patch(TestContext, target, ctrl.RawPatch(types.MergePatchType, p))
 }
 
-func ScaleBinding(ns string, name string, replicas int32) error {
-	return UpdateBinding(ns, name, func(klb *v1.Pipe) {
+func ScalePipe(ns string, name string, replicas int32) error {
+	return UpdatePipe(ns, name, func(klb *v1.Pipe) {
 		klb.Spec.Replicas = &replicas
 	})
 }
 
-func AssignBindingToOperator(ns, name, operator string) error {
-	klb := Binding(ns, name)()
+func AssignPipeToOperator(ns, name, operator string) error {
+	klb := Pipe(ns, name)()
 	if klb == nil {
-		return fmt.Errorf("cannot assignBinding %q to operator:Binding not found", name)
+		return fmt.Errorf("cannot assign Pipe %q to operator:Pipe not found", name)
 	}
 
 	klb.SetOperatorID(operator)
diff --git a/e2e/yaks/common/kamelet-binding-broker/yaks-config.yaml b/e2e/yaks/common/kamelet-binding-broker/yaks-config.yaml
index ff595de99..3369a0076 100644
--- a/e2e/yaks/common/kamelet-binding-broker/yaks-config.yaml
+++ b/e2e/yaks/common/kamelet-binding-broker/yaks-config.yaml
@@ -27,8 +27,8 @@ pre:
 
     kubectl apply -f timer-source-binding.yaml -n $YAKS_NAMESPACE
     kubectl apply -f logger-sink-binding.yaml -n $YAKS_NAMESPACE
-    kubectl wait binding timer-source-binding --for=condition=Ready --timeout=15m -n $YAKS_NAMESPACE
-    kubectl wait binding logger-sink-binding --for=condition=Ready --timeout=15m -n $YAKS_NAMESPACE
+    kubectl wait kameletbinding timer-source-binding --for=condition=Ready --timeout=15m -n $YAKS_NAMESPACE
+    kubectl wait kameletbinding logger-sink-binding --for=condition=Ready --timeout=15m -n $YAKS_NAMESPACE
 post:
   - name: print dump
     if: env:CI=true && failure()
diff --git a/e2e/yaks/common/kamelet-binding-http/yaks-config.yaml b/e2e/yaks/common/kamelet-binding-http/yaks-config.yaml
index c292a9a11..1922bf7bb 100644
--- a/e2e/yaks/common/kamelet-binding-http/yaks-config.yaml
+++ b/e2e/yaks/common/kamelet-binding-http/yaks-config.yaml
@@ -25,7 +25,7 @@ pre:
 
     kamel run display.groovy -w -n $YAKS_NAMESPACE
     cat timer-source-binding-display.yaml | sed  's/{namespace}/'"${YAKS_NAMESPACE}"'/' | kubectl apply -n $YAKS_NAMESPACE -f -
-    kubectl wait binding timer-source-binding-display --for=condition=Ready --timeout=15m -n $YAKS_NAMESPACE
+    kubectl wait kameletbinding timer-source-binding-display --for=condition=Ready --timeout=15m -n $YAKS_NAMESPACE
 post:
   - name: print dump
     if: env:CI=true && failure()
diff --git a/e2e/yaks/common/kamelet-binding/yaks-config.yaml b/e2e/yaks/common/kamelet-binding/yaks-config.yaml
index 0c95cc4d0..b236c3435 100644
--- a/e2e/yaks/common/kamelet-binding/yaks-config.yaml
+++ b/e2e/yaks/common/kamelet-binding/yaks-config.yaml
@@ -29,8 +29,8 @@ pre:
     kubectl apply -f timer-source-binding.yaml -n $YAKS_NAMESPACE
     kubectl apply -f logger-sink-binding.yaml -n $YAKS_NAMESPACE
 
-    kubectl wait binding timer-source-binding --for=condition=Ready --timeout=10m -n $YAKS_NAMESPACE
-    kubectl wait binding logger-sink-binding --for=condition=Ready --timeout=10m -n $YAKS_NAMESPACE
+    kubectl wait kameletbinding timer-source-binding --for=condition=Ready --timeout=10m -n $YAKS_NAMESPACE
+    kubectl wait kameletbinding logger-sink-binding --for=condition=Ready --timeout=10m -n $YAKS_NAMESPACE
 post:
   - name: print dump
     if: env:CI=true && failure()
diff --git a/e2e/yaks/common/kamelet-steps/yaks-config.yaml b/e2e/yaks/common/kamelet-steps/yaks-config.yaml
index 1b4d1a6fa..2314a59fb 100644
--- a/e2e/yaks/common/kamelet-steps/yaks-config.yaml
+++ b/e2e/yaks/common/kamelet-steps/yaks-config.yaml
@@ -25,7 +25,7 @@ pre:
     kubectl apply -f prefix-action.kamelet.yaml -n $YAKS_NAMESPACE
     kubectl apply -f steps-binding.yaml -n $YAKS_NAMESPACE
 
-    kubectl wait binding steps-binding --for=condition=Ready --timeout=10m -n $YAKS_NAMESPACE
+    kubectl wait kameletbinding steps-binding --for=condition=Ready --timeout=10m -n $YAKS_NAMESPACE
 post:
   - name: print dump
     if: env:CI=true && failure()
diff --git a/pkg/install/cluster.go b/pkg/install/cluster.go
index da4d44b57..2d2b3858d 100644
--- a/pkg/install/cluster.go
+++ b/pkg/install/cluster.go
@@ -206,8 +206,8 @@ func installCRDs(ctx context.Context, c client.Client, collection *kubernetes.Co
 		return err
 	}
 
-	// Install CRD for Binding (if needed)
-	if err := installCRD(ctx, c, "Binding", "v1", "camel.apache.org_bindings.yaml",
+	// Install CRD for Pipe (if needed)
+	if err := installCRD(ctx, c, "Pipe", "v1", "camel.apache.org_pipes.yaml",
 		v1beta1Customizer, collection, force); err != nil {
 		return err
 	}
@@ -217,7 +217,7 @@ func installCRDs(ctx context.Context, c client.Client, collection *kubernetes.Co
 
 func downgradeToCRDv1beta1(isAPIExtensionsV1 bool) ResourceCustomizer {
 	return func(object ctrl.Object) ctrl.Object {
-		// Remove default values in v1beta1 Integration and Binding CRDs,
+		// Remove default values in v1beta1 Integration and Pipe CRDs,
 		removeDefaultFromCrd := func(crd *apiextensionsv1beta1.CustomResourceDefinition, property string) {
 			defaultValue := apiextensionsv1beta1.JSONSchemaProps{
 				Default: nil,
@@ -227,7 +227,7 @@ func downgradeToCRDv1beta1(isAPIExtensionsV1 bool) ResourceCustomizer {
 					Properties["spec"].Properties["template"].Properties["spec"].Properties[property].Items.Schema.
 					Properties["ports"].Items.Schema.Properties["protocol"] = defaultValue
 			}
-			if crd.Name == "bindings.camel.apache.org" {
+			if crd.Name == "pipes.camel.apache.org" {
 				crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"].Properties["integration"].Properties["template"].
 					Properties["spec"].Properties[property].Items.Schema.Properties["ports"].Items.Schema.
 					Properties["protocol"] = defaultValue
@@ -325,8 +325,8 @@ func areAllCrdInstalled(c client.Client) (int, error) {
 	} else if !ok {
 		return 7, nil
 	}
-	if ok, err := isCrdInstalled(c, "Binding", "v1"); err != nil {
-		return 8, pkgerr.Wrap(err, "Error installing Binding CRDs")
+	if ok, err := isCrdInstalled(c, "Pipe", "v1"); err != nil {
+		return 8, pkgerr.Wrap(err, "Error installing Pipe CRDs")
 	} else if !ok {
 		return 8, nil
 	}
diff --git a/pkg/resources/resources.go b/pkg/resources/resources.go
index edd5c11f9..87b3e101b 100644
--- a/pkg/resources/resources.go
+++ b/pkg/resources/resources.go
@@ -114,13 +114,6 @@ var assets = func() http.FileSystem {
 			name:    "bases",
 			modTime: time.Time{},
 		},
-		"/crd/bases/camel.apache.org_bindings.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "camel.apache.org_bindings.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 939,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x6f\x9b\x40\x10\xbd\xf3\x2b\x9e\xbc\x97\x44\x72\xec\xaa\xc7\xf6\x44\x13\x5b\x45\x8d\xb0\x14\x9c\x46\x39\xae\x61\x80\x51\x61\x87\xce\x2e\x25\xfe\xf7\xd5\x62\xbb\x49\xd4\x6b\xe6\x86\x18\xde\xc7\xbc\x87\xc1\xcd\xc7\x4d\x62\x70\xcf\x25\x39\x4f\x15\x82\x20\xb4\x84\x74\xb0\x65\x4b\x28\xa4\x0e\x93\x55\xc2\x56\x46\x57\xd9\xc0\xe2\x70\x95\x16\xdb\x6b\x8c\xae\x22\x85\x38\x82\x28\x7a\x51\x4a\x0c\x4a\x71\x41\xf9\x30\x [...]
-		},
 		"/crd/bases/camel.apache.org_builds.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel.apache.org_builds.yaml",
 			modTime:          time.Time{},
@@ -327,9 +320,9 @@ var assets = func() http.FileSystem {
 		"/rbac/openshift/operator-role-openshift.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "operator-role-openshift.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 2183,
+			uncompressedSize: 2211,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x53\x41\x8f\xdb\x46\x0f\xbd\xeb\x57\x10\xd6\x25\x01\xd6\xd2\xf7\xf5\x54\xb8\x27\x77\xb3\xdb\x1a\x0d\x6c\x60\xe5\x34\xc8\x91\x1a\xd1\x12\xe1\xd1\x50\xe5\x8c\x56\xd9\xfc\xfa\x62\xc6\x76\xe2\x5d\xd7\x9b\x4b\x80\xe8\x22\x9a\x7c\x26\xdf\xe3\xa3\x72\x98\xff\xb8\x27\xcb\xe1\x3d\x1b\x72\x9e\x1a\x08\x02\xa1\x23\x58\x0e\x68\x3a\x82\x4a\x76\x61\x42\x25\xb8\x97\xd1\x35\x18\x58\x1c\xbc\x59\x56\xf7\x6f\x61\x74\x0d\x29\x88\x23\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x53\x41\x8f\xdb\x46\x0f\xbd\xeb\x57\x10\xd6\x25\x01\xd6\xf2\xf7\xf5\x54\xb8\x27\x37\xd9\x6d\x8d\x06\x36\xb0\x72\x1a\xe4\x48\x8d\x68\x89\xf0\x68\x38\xe5\x8c\x56\xd9\xfc\xfa\x62\xc6\x76\xe2\xac\xbb\x9b\x4b\x80\xf8\x22\x2e\xf9\x96\x7c\x8f\x8f\x53\xc2\xfc\xc7\xfd\x8a\x12\xde\xb1\x21\x17\xa8\x85\x28\x10\x7b\x82\x95\x47\xd3\x13\xd4\xb2\x8f\x13\x2a\xc1\x9d\x8c\xae\xc5\xc8\xe2\xe0\xd5\xaa\xbe\x7b\x0d\xa3\x6b\x49\x41\x1c\x [...]
 		},
 		"/rbac/operator-cluster-role-addressable-resolver.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "operator-cluster-role-addressable-resolver.yaml",
@@ -467,9 +460,9 @@ var assets = func() http.FileSystem {
 		"/rbac/operator-role.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "operator-role.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 3164,
+			uncompressedSize: 3155,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x56\x4d\x8f\xe2\x46\x10\xbd\xfb\x57\x94\xf0\x65\x57\x1a\x20\xc9\x29\x22\x27\x32\x1f\x09\xca\x0a\xa4\x31\x9b\xd5\x1e\xcb\xed\xc2\x54\x68\x77\x75\xba\xdb\xc3\x90\x5f\x1f\xb5\xb1\x07\x0f\x86\x55\xb4\xbb\xd2\x84\x0b\xed\xaa\xa2\xea\xd5\x7b\xaf\x91\x53\x18\x7f\xbf\x4f\x92\xc2\x07\x56\x64\x3c\x15\x10\x04\xc2\x96\x60\x6e\x51\x6d\x09\x32\xd9\x84\x3d\x3a\x82\x07\xa9\x4d\x81\x81\xc5\xc0\xbb\x79\xf6\xf0\x1e\x6a\x53\x90\x03\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x56\x51\x8f\xda\x46\x10\x7e\xf7\xaf\x18\xe1\x97\x44\x3a\xa0\xed\x53\x45\x9f\xe8\xe5\xae\x45\x8d\x40\x3a\x48\xa3\x3c\x8e\xd7\x83\x99\xb2\xde\xd9\xce\xae\x8f\xa3\xbf\xbe\x5a\x63\x02\x77\x86\xa8\x4a\x22\x5d\x79\x61\x3d\x33\xcc\x7c\xf3\x7d\xdf\x22\xe7\x30\xfc\x7e\x9f\x2c\x87\xf7\x6c\xc8\x05\x2a\x21\x0a\xc4\x0d\xc1\xd4\xa3\xd9\x10\x2c\x65\x1d\x77\xa8\x04\xf7\xd2\xb8\x12\x23\x8b\x83\x37\xd3\xe5\xfd\x5b\x68\x5c\x49\x0a\x [...]
 		},
 		"/rbac/patch-role-to-clusterrole.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "patch-role-to-clusterrole.yaml",
@@ -488,9 +481,9 @@ var assets = func() http.FileSystem {
 		"/rbac/user-cluster-role.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "user-cluster-role.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 1947,
+			uncompressedSize: 1938,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4d\x8f\xdb\x36\x10\xbd\xeb\x57\x3c\x48\x97\x04\x58\xdb\x6d\x4f\x85\x7b\x72\xf7\xa3\x35\x1a\xd8\xc0\xca\x69\x90\xe3\x58\x1c\x4b\x84\x29\x52\x25\x47\xab\x6c\x7f\x7d\x41\xda\x5a\x6b\xe3\xec\xa1\x41\x7c\x31\xf5\x66\x34\xf3\xde\xbc\xa1\x0a\xcc\x7e\xdc\x2f\x2b\xf0\x41\x57\x6c\x03\x2b\x88\x83\x34\x8c\x55\x47\x55\xc3\x28\xdd\x41\x06\xf2\x8c\x07\xd7\x5b\x45\xa2\x9d\xc5\xbb\x55\xf9\xf0\x1e\xbd\x55\xec\xe1\x2c\xc3\x79\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4d\x8f\x22\x47\x0c\xbd\xf7\xaf\x78\xea\xbe\xec\x4a\x03\x24\x39\x45\xe4\x44\xe6\x23\x41\x59\x81\x34\xcd\x66\xb5\x47\xd3\x65\x1a\x8b\xea\xaa\x4e\x95\x7b\xd8\xc9\xaf\x8f\xaa\x80\x81\x59\x76\x0e\x59\x2d\x17\x5c\xb6\xcb\x7e\xcf\xcf\xd5\x15\x46\x3f\xee\x57\x54\xf8\x20\x0d\xbb\xc8\x06\xea\xa1\x5b\xc6\xac\xa7\x66\xcb\xa8\xfd\x46\xf7\x14\x18\x0f\x7e\x70\x86\x54\xbc\xc3\xbb\x59\xfd\xf0\x1e\x83\x33\x1c\xe0\x1d\xc3\x07\x [...]
 		},
 		"/samples": &vfsgen۰DirInfo{
 			name:    "samples",
@@ -688,7 +681,6 @@ var assets = func() http.FileSystem {
 		fs["/crd/bases"].(os.FileInfo),
 	}
 	fs["/crd/bases"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
-		fs["/crd/bases/camel.apache.org_bindings.yaml"].(os.FileInfo),
 		fs["/crd/bases/camel.apache.org_builds.yaml"].(os.FileInfo),
 		fs["/crd/bases/camel.apache.org_camelcatalogs.yaml"].(os.FileInfo),
 		fs["/crd/bases/camel.apache.org_integrationkits.yaml"].(os.FileInfo),
diff --git a/pkg/resources/resources_test.go b/pkg/resources/resources_test.go
index 9b4921895..869a36a23 100644
--- a/pkg/resources/resources_test.go
+++ b/pkg/resources/resources_test.go
@@ -171,5 +171,5 @@ func TestCRDResources(t *testing.T) {
 	NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_integrations.yaml", Resource)
 	NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_kamelets.yaml", Resource)
 	NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_kameletbindings.yaml", Resource)
-	NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_bindings.yaml", Resource)
+	NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_pipes.yaml", Resource)
 }
diff --git a/script/prepare-operators.sh b/script/prepare-operators.sh
index 57ad22950..bfbd1cc4d 100755
--- a/script/prepare-operators.sh
+++ b/script/prepare-operators.sh
@@ -41,7 +41,7 @@ cp ./manifests/camel.apache.org_integrationplatforms.yaml k8s-operatorhub/$1/man
 cp ./manifests/camel.apache.org_integrations.yaml k8s-operatorhub/$1/manifests/integrations.camel.apache.org.crd.yaml
 cp ./manifests/camel.apache.org_kamelets.yaml k8s-operatorhub/$1/manifests/kamelets.camel.apache.org.crd.yaml
 cp ./manifests/camel.apache.org_kameletbindings.yaml k8s-operatorhub/$1/manifests/kameletbindings.camel.apache.org.crd.yaml
-cp ./manifests/camel.apache.org_bindings.yaml k8s-operatorhub/$1/manifests/bindings.camel.apache.org.crd.yaml
+cp ./manifests/camel.apache.org_pipes.yaml k8s-operatorhub/$1/manifests/pipes.camel.apache.org.crd.yaml
 cp ./manifests/camel-k.clusterserviceversion.yaml k8s-operatorhub/$1/manifests/camel-k.v$1.clusterserviceversion.yaml
 cp ./metadata/annotations.yaml k8s-operatorhub/$1/metadata/annotations.yaml
 cp ./tests/scorecard/config.yaml k8s-operatorhub/$1/tests/scorecard/config.yaml
@@ -53,7 +53,7 @@ cp ./manifests/camel.apache.org_integrationplatforms.yaml openshift-ecosystem/$1
 cp ./manifests/camel.apache.org_integrations.yaml openshift-ecosystem/$1/manifests/integrations.camel.apache.org.crd.yaml
 cp ./manifests/camel.apache.org_kamelets.yaml openshift-ecosystem/$1/manifests/kamelets.camel.apache.org.crd.yaml
 cp ./manifests/camel.apache.org_kameletbindings.yaml openshift-ecosystem/$1/manifests/kameletbindings.camel.apache.org.crd.yaml
-cp ./manifests/camel.apache.org_bindings.yaml openshift-ecosystem/$1/manifests/bindings.camel.apache.org.crd.yaml
+cp ./manifests/camel.apache.org_pipes.yaml openshift-ecosystem/$1/manifests/pipes.camel.apache.org.crd.yaml
 cp ./manifests/camel-k.clusterserviceversion.yaml openshift-ecosystem/$1/manifests/camel-k.v$1.clusterserviceversion.yaml
 cp ./metadata/annotations.yaml openshift-ecosystem/$1/metadata/annotations.yaml
 cp ./tests/scorecard/config.yaml openshift-ecosystem/$1/tests/scorecard/config.yaml