You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2021/08/23 10:10:39 UTC

[camel-k] branch main updated (07336a1 -> eac1eea)

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

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


    from 07336a1  Updated CHANGELOG.md
     new 7a8d103  Fix #2486: make kamelet binding scalable
     new a16d5fc  Fix #2486: add kind to kamelet binding type
     new fa83e3b  Fix #2486: add doc for scaling klb
     new eac1eea  Fix #2486: use merge patch in tests

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../bases/camel.apache.org_kameletbindings.yaml    |   19 +
 docs/modules/ROOT/nav.adoc                         |    1 +
 docs/modules/ROOT/pages/apis/crds-html.adoc        | 5210 ++++++++++----------
 docs/modules/ROOT/pages/scaling/binding.adoc       |  109 +
 docs/modules/ROOT/pages/scaling/integration.adoc   |    2 +-
 e2e/common/scale_test.go                           |   97 +
 e2e/support/test_support.go                        |   75 +
 helm/camel-k/crds/crd-kamelet-binding.yaml         |   19 +
 pkg/apis/camel/v1alpha1/kamelet_binding_types.go   |   10 +
 pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go   |   10 +
 .../camel/v1alpha1/fake/fake_kameletbinding.go     |   23 +
 .../typed/camel/v1alpha1/kameletbinding.go         |   33 +
 pkg/controller/kameletbinding/common.go            |    6 +
 pkg/controller/kameletbinding/monitor.go           |    5 +
 pkg/resources/resources.go                         |    4 +-
 15 files changed, 3037 insertions(+), 2586 deletions(-)
 create mode 100644 docs/modules/ROOT/pages/scaling/binding.adoc

[camel-k] 03/04: Fix #2486: add doc for scaling klb

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit fa83e3b6ca5f6991554c0009966f9ae3c4c3eac5
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Thu Aug 19 16:41:01 2021 +0200

    Fix #2486: add doc for scaling klb
---
 docs/modules/ROOT/nav.adoc                       |   1 +
 docs/modules/ROOT/pages/scaling/binding.adoc     | 109 +++++++++++++++++++++++
 docs/modules/ROOT/pages/scaling/integration.adoc |   2 +-
 3 files changed, 111 insertions(+), 1 deletion(-)

diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 1c721f9..375ad93 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -38,6 +38,7 @@
 *** xref:observability/monitoring/integration.adoc[Integration]
 * Scaling
 ** xref:scaling/integration.adoc[Integration]
+** xref:scaling/binding.adoc[Binding]
 * 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/scaling/binding.adoc b/docs/modules/ROOT/pages/scaling/binding.adoc
new file mode 100644
index 0000000..60d1b78
--- /dev/null
+++ b/docs/modules/ROOT/pages/scaling/binding.adoc
@@ -0,0 +1,109 @@
+[[binding-scaling]]
+= Camel K KameletBinding Scaling
+
+== Manual Scaling
+
+A KameletBinding 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 KameletBinding resource directly, e.g.:
+
+[source,console]
+----
+$ kubectl patch klb <kamelet_binding_name> -p '{"spec":{"replicas":<number_of_replicas>}}'
+----
+
+The KameletBinding also reports its number of replicas in the `.status.replicas` field, e.g.:
+
+[source,console]
+----
+$ kubectl get klb <kamelet_binding_name> -o jsonpath='{.status.replicas}'
+----
+
+== Autoscaling with Knative
+
+A KameletBinding 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 KameletBinding:
+
+[source,yaml]
+----
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: webhook-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: webhook-source
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: log-sink
+----
+
+The Knative https://knative.dev/docs/serving/autoscaling/autoscaling-concepts/#supported-autoscaler-types[_Autoscaler_] can be configured using the xref:traits:knative-service.adoc[Knative Service] trait, e.g., to set the scaling upper bound (the maximum number of replicas):
+
+[source,yaml]
+----
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: webhook-binding
+spec:
+  integration:
+      traits:
+        knative-service:
+          configuration:
+            maxScale: 10
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: webhook-source
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: log-sink
+----
+
+More information can be found in the Knative https://knative.dev/docs/serving/autoscaling/[Autoscaling] documentation.
+
+[NOTE]
+====
+When <<Manual Scaling,manually scaling>> a KameletBinding 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 KameletBinding, e.g., with:
+
+[source,console]
+----
+$ kubectl patch klb <kamelet_binding_name> --type=json -p='[{"op": "remove", "path": "/spec/replicas"}]'
+----
+====
+
+== Autoscaling with HPA
+
+A KameletBinding 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 KameletBinding, with target CPU utilization set to 80%, and the number of replicas between 2 and 5:
+
+[source,console]
+----
+$ kubectl autoscale klb <kamelet_binding_name> --min=2 --max=5 --cpu-percent=80
+----
+
+Refer to the xref:scaling/integration.adoc[Integration scaling] guide for information about using custom metrics.
+
+NOTE: HPA can also be used with Knative, by installing the https://knative.dev/docs/install/install-extensions/#install-optional-serving-extensions[HPA autoscaling Serving extension].
diff --git a/docs/modules/ROOT/pages/scaling/integration.adoc b/docs/modules/ROOT/pages/scaling/integration.adoc
index 9fbbd3f..a6cab7d 100644
--- a/docs/modules/ROOT/pages/scaling/integration.adoc
+++ b/docs/modules/ROOT/pages/scaling/integration.adoc
@@ -21,7 +21,7 @@ The Integration also reports its number of replicas in the `.status.replicas` fi
 
 [source,console]
 ----
-$ kubectl get it <integration_name> -o jsonpath='{.spec.replicas}'
+$ kubectl get it <integration_name> -o jsonpath='{.status.replicas}'
 ----
 
 == Autoscaling with Knative

[camel-k] 02/04: Fix #2486: add kind to kamelet binding type

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit a16d5fc8c7ebf20c048872d9fb52b8909e8121d1
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Wed Aug 18 16:17:43 2021 +0200

    Fix #2486: add kind to kamelet binding type
---
 e2e/common/scale_test.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/e2e/common/scale_test.go b/e2e/common/scale_test.go
index 0334f17..a19f2a2 100644
--- a/e2e/common/scale_test.go
+++ b/e2e/common/scale_test.go
@@ -128,7 +128,7 @@ func TestIntegrationScale(t *testing.T) {
 func TestKameletBindingScale(t *testing.T) {
 	WithNewTestNamespace(t, func(ns string) {
 		name := "binding"
-		Expect(Kamel("install", "-n", ns).Execute()).To(Succeed())
+		Expect(Kamel("install", "-n", ns, "-w").Execute()).To(Succeed())
 		Expect(Kamel("bind", "timer-source?message=HelloBinding", "log-sink", "-n", ns, "--name", name).Execute()).To(Succeed())
 		Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(v1.PodRunning))
 		Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue))

[camel-k] 01/04: Fix #2486: make kamelet binding scalable

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 7a8d103d50cd32bce8de816aed8ea1825b98b62c
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Wed Aug 18 15:21:12 2021 +0200

    Fix #2486: make kamelet binding scalable
---
 .../bases/camel.apache.org_kameletbindings.yaml    |   19 +
 docs/modules/ROOT/pages/apis/crds-html.adoc        | 5210 ++++++++++----------
 e2e/common/scale_test.go                           |   97 +
 e2e/support/test_support.go                        |   65 +
 helm/camel-k/crds/crd-kamelet-binding.yaml         |   19 +
 pkg/apis/camel/v1alpha1/kamelet_binding_types.go   |   10 +
 pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go   |   10 +
 .../camel/v1alpha1/fake/fake_kameletbinding.go     |   23 +
 .../typed/camel/v1alpha1/kameletbinding.go         |   33 +
 pkg/controller/kameletbinding/common.go            |    6 +
 pkg/controller/kameletbinding/monitor.go           |    5 +
 pkg/resources/resources.go                         |    4 +-
 12 files changed, 2916 insertions(+), 2585 deletions(-)

diff --git a/config/crd/bases/camel.apache.org_kameletbindings.yaml b/config/crd/bases/camel.apache.org_kameletbindings.yaml
index c577cc6..5da3ec1 100644
--- a/config/crd/bases/camel.apache.org_kameletbindings.yaml
+++ b/config/crd/bases/camel.apache.org_kameletbindings.yaml
@@ -43,6 +43,10 @@ spec:
       jsonPath: .status.phase
       name: Phase
       type: string
+    - description: The number of pods
+      jsonPath: .status.replicas
+      name: Replicas
+      type: integer
     name: v1alpha1
     schema:
       openAPIV3Schema:
@@ -5643,6 +5647,10 @@ spec:
                       type: object
                     type: object
                 type: object
+              replicas:
+                description: Replicas is the number of desired replicas for the binding
+                format: int32
+                type: integer
               sink:
                 description: Sink is the destination of the integration defined by
                   this binding
@@ -6331,9 +6339,20 @@ spec:
               phase:
                 description: Phase --
                 type: string
+              replicas:
+                description: Replicas is the number of actual replicas of the binding
+                format: int32
+                type: integer
+              selector:
+                description: Selector allows to identify pods belonging to the binding
+                type: string
             type: object
         type: object
     served: true
     storage: true
     subresources:
+      scale:
+        labelSelectorPath: .status.selector
+        specReplicasPath: .spec.replicas
+        statusReplicasPath: .status.replicas
       status: {}
diff --git a/docs/modules/ROOT/pages/apis/crds-html.adoc b/docs/modules/ROOT/pages/apis/crds-html.adoc
index 44526b4..fe51e82 100644
--- a/docs/modules/ROOT/pages/apis/crds-html.adoc
+++ b/docs/modules/ROOT/pages/apis/crds-html.adoc
@@ -1,26 +1,32 @@
 <p>Packages:</p>
 <ul>
 <li>
-<a href="#camel.apache.org/v1alpha1">camel.apache.org/v1alpha1</a>
+<a href="#camel.apache.org/v1">camel.apache.org/v1</a>
 </li>
 <li>
-<a href="#camel.apache.org/v1">camel.apache.org/v1</a>
+<a href="#camel.apache.org/v1alpha1">camel.apache.org/v1alpha1</a>
 </li>
 </ul>
-<h2 id="camel.apache.org/v1alpha1">camel.apache.org/v1alpha1</h2>
+<h2 id="camel.apache.org/v1">camel.apache.org/v1</h2>
 <div>
-<p>Package v1alpha1 contains API Schema definitions for the camel v1alpha1 API group</p>
+<p>Package v1 contains API Schema definitions for the camel v1 API group</p>
 </div>
 Resource Types:
 <ul><li>
-<a href="#camel.apache.org/v1alpha1.Kamelet">Kamelet</a>
+<a href="#camel.apache.org/v1.Build">Build</a>
 </li><li>
-<a href="#camel.apache.org/v1alpha1.KameletBinding">KameletBinding</a>
+<a href="#camel.apache.org/v1.CamelCatalog">CamelCatalog</a>
+</li><li>
+<a href="#camel.apache.org/v1.Integration">Integration</a>
+</li><li>
+<a href="#camel.apache.org/v1.IntegrationKit">IntegrationKit</a>
+</li><li>
+<a href="#camel.apache.org/v1.IntegrationPlatform">IntegrationPlatform</a>
 </li></ul>
-<h3 id="camel.apache.org/v1alpha1.Kamelet">Kamelet
+<h3 id="camel.apache.org/v1.Build">Build
 </h3>
 <div>
-<p>Kamelet is the Schema for the kamelets API</p>
+<p>Build is the Schema for the builds API</p>
 </div>
 <table>
 <thead>
@@ -36,7 +42,7 @@ Resource Types:
 string</td>
 <td>
 <code>
-camel.apache.org/v1alpha1
+camel.apache.org/v1
 </code>
 </td>
 </tr>
@@ -45,7 +51,7 @@ camel.apache.org/v1alpha1
 <code>kind</code></br>
 string
 </td>
-<td><code>Kamelet</code></td>
+<td><code>Build</code></td>
 </tr>
 <tr>
 <td>
@@ -65,8 +71,8 @@ Refer to the Kubernetes API documentation for the fields of the
 <td>
 <code>spec</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletSpec">
-KameletSpec
+<a href="#camel.apache.org/v1.BuildSpec">
+BuildSpec
 </a>
 </em>
 </td>
@@ -76,10 +82,10 @@ KameletSpec
 <table>
 <tr>
 <td>
-<code>definition</code><br/>
+<code>tasks</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">
-JSONSchemaProps
+<a href="#camel.apache.org/v1.Task">
+[]Task
 </a>
 </em>
 </td>
@@ -88,47 +94,87 @@ JSONSchemaProps
 </tr>
 <tr>
 <td>
-<code>sources</code><br/>
+<code>timeout</code><br/>
 <em>
-<a href="#camel.apache.org/v1.SourceSpec">
-[]SourceSpec
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#duration-v1-meta">
+Kubernetes meta/v1.Duration
 </a>
 </em>
 </td>
 <td>
+<p>Timeout defines the Build maximum execution duration.
+The Build deadline is set to the Build start time plus the Timeout duration.
+If the Build deadline is exceeded, the Build context is canceled,
+and its phase set to BuildPhaseFailed.</p>
+</td>
+</tr>
+</table>
 </td>
 </tr>
 <tr>
 <td>
-<code>template</code><br/>
+<code>status</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Template">
-Template
+<a href="#camel.apache.org/v1.BuildStatus">
+BuildStatus
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.CamelCatalog">CamelCatalog
+</h3>
+<div>
+<p>CamelCatalog is the Schema for the camelcatalogs API</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>
+<code>apiVersion</code></br>
+string</td>
+<td>
+<code>
+camel.apache.org/v1
+</code>
+</td>
+</tr>
+<tr>
+<td>
+<code>kind</code></br>
+string
+</td>
+<td><code>CamelCatalog</code></td>
+</tr>
 <tr>
 <td>
-<code>flow</code><br/>
+<code>metadata</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Flow">
-Flow
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
+Kubernetes meta/v1.ObjectMeta
 </a>
 </em>
 </td>
 <td>
-<p>Deprecated: use template</p>
+Refer to the Kubernetes API documentation for the fields of the
+<code>metadata</code> field.
 </td>
 </tr>
 <tr>
 <td>
-<code>authorization</code><br/>
+<code>status</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.AuthorizationSpec">
-AuthorizationSpec
+<a href="#camel.apache.org/v1.CamelCatalogStatus">
+CamelCatalogStatus
 </a>
 </em>
 </td>
@@ -137,47 +183,62 @@ AuthorizationSpec
 </tr>
 <tr>
 <td>
-<code>types</code><br/>
+<code>spec</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.EventTypeSpec">
-map[github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventSlot]github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventTypeSpec
+<a href="#camel.apache.org/v1.CamelCatalogSpec">
+CamelCatalogSpec
 </a>
 </em>
 </td>
 <td>
-</td>
-</tr>
+<br/>
+<br/>
+<table>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>runtime</code><br/>
 <em>
-[]string
+<a href="#camel.apache.org/v1.RuntimeSpec">
+RuntimeSpec
+</a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</table>
+<tr>
+<td>
+<code>artifacts</code><br/>
+<em>
+<a href="#camel.apache.org/v1.CamelArtifact">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelArtifact
+</a>
+</em>
+</td>
+<td>
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>loaders</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletStatus">
-KameletStatus
+<a href="#camel.apache.org/v1.CamelLoader">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelLoader
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
+</table>
+</td>
+</tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.KameletBinding">KameletBinding
+<h3 id="camel.apache.org/v1.Integration">Integration
 </h3>
 <div>
-<p>KameletBinding is the Schema for the kamelets binding API</p>
+<p>Integration is the Schema for the integrations API</p>
 </div>
 <table>
 <thead>
@@ -193,7 +254,7 @@ KameletStatus
 string</td>
 <td>
 <code>
-camel.apache.org/v1alpha1
+camel.apache.org/v1
 </code>
 </td>
 </tr>
@@ -202,7 +263,7 @@ camel.apache.org/v1alpha1
 <code>kind</code></br>
 string
 </td>
-<td><code>KameletBinding</code></td>
+<td><code>Integration</code></td>
 </tr>
 <tr>
 <td>
@@ -222,8 +283,8 @@ Refer to the Kubernetes API documentation for the fields of the
 <td>
 <code>spec</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletBindingSpec">
-KameletBindingSpec
+<a href="#camel.apache.org/v1.IntegrationSpec">
+IntegrationSpec
 </a>
 </em>
 </td>
@@ -233,243 +294,172 @@ KameletBindingSpec
 <table>
 <tr>
 <td>
-<code>integration</code><br/>
+<code>replicas</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationSpec">
-IntegrationSpec
-</a>
+int32
 </em>
 </td>
 <td>
-<p>Integration is an optional integration used to specify custom parameters</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>source</code><br/>
+<code>sources</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.Endpoint">
-Endpoint
+<a href="#camel.apache.org/v1.SourceSpec">
+[]SourceSpec
 </a>
 </em>
 </td>
 <td>
-<p>Source is the starting point of the integration defined by this binding</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>sink</code><br/>
+<code>flows</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.Endpoint">
-Endpoint
+<a href="#camel.apache.org/v1.Flow">
+[]Flow
 </a>
 </em>
 </td>
 <td>
-<p>Sink is the destination of the integration defined by this binding</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>errorHandler</code><br/>
+<code>resources</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerSpec">
-ErrorHandlerSpec
+<a href="#camel.apache.org/v1.ResourceSpec">
+[]ResourceSpec
 </a>
 </em>
 </td>
 <td>
-<p>ErrorHandler is an optional handler called upon an error occuring in the integration</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>steps</code><br/>
+<code>kit</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.Endpoint">
-[]Endpoint
-</a>
+string
 </em>
 </td>
 <td>
-<p>Steps contains an optional list of intermediate steps that are executed between the Source and the Sink</p>
-</td>
-</tr>
-</table>
+<p>Deprecated: use the IntegrationKit field</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>integrationKit</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletBindingStatus">
-KameletBindingStatus
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectreference-v1-core">
+Kubernetes core/v1.ObjectReference
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.AuthorizationSpec">AuthorizationSpec
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
-</p>
-<div>
-<p>AuthorizationSpec is TODO (oauth information)</p>
-</div>
-<h3 id="camel.apache.org/v1alpha1.BeanProperties">BeanProperties
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerBean">ErrorHandlerBean</a>)
-</p>
-<div>
-<p>BeanProperties represent an unstructured object properties to be set on a bean</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>RawMessage</code><br/>
+<code>dependencies</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RawMessage">
-RawMessage
-</a>
+[]string
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.Endpoint">Endpoint
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerDeadLetterChannel">ErrorHandlerDeadLetterChannel</a>, 
-<a href="#camel.apache.org/v1alpha1.KameletBindingSpec">KameletBindingSpec</a>)
-</p>
-<div>
-<p>Endpoint represents a source/sink external entity</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>ref</code><br/>
+<code>profile</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectreference-v1-core">
-Kubernetes core/v1.ObjectReference
+<a href="#camel.apache.org/v1.TraitProfile">
+TraitProfile
 </a>
 </em>
 </td>
 <td>
-<p>Ref can be used to declare a Kubernetes resource as source/sink endpoint</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>uri</code><br/>
+<code>traits</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.TraitSpec">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
+</a>
 </em>
 </td>
 <td>
-<p>URI can alternatively be used to specify the (Camel) endpoint explicitly</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>properties</code><br/>
+<code>template</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.EndpointProperties">
-EndpointProperties
+<a href="#camel.apache.org/v1.PodSpecTemplate">
+PodSpecTemplate
 </a>
 </em>
 </td>
 <td>
-<p>Properties are a key value representation of endpoint properties</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>types</code><br/>
+<code>configuration</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.EventTypeSpec">
-map[github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventSlot]github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventTypeSpec
+<a href="#camel.apache.org/v1.ConfigurationSpec">
+[]ConfigurationSpec
 </a>
 </em>
 </td>
 <td>
-<p>Types defines the schema of the data produced/consumed by the endpoint</p>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.EndpointProperties">EndpointProperties
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.Endpoint">Endpoint</a>)
-</p>
-<div>
-<p>EndpointProperties is a key/value struct represented as JSON raw to allow numeric/boolean values</p>
-</div>
-<table>
-<thead>
 <tr>
-<th>Field</th>
-<th>Description</th>
+<td>
+<code>repositories</code><br/>
+<em>
+[]string
+</em>
+</td>
+<td>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>RawMessage</code><br/>
+<code>serviceAccountName</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RawMessage">
-RawMessage
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+</table>
+</td>
+</tr>
+<tr>
+<td>
+<code>status</code><br/>
+<em>
+<a href="#camel.apache.org/v1.IntegrationStatus">
+IntegrationStatus
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>RawMessage</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.EndpointType">EndpointType
-(<code>string</code> alias)</h3>
-<div>
-</div>
-<h3 id="camel.apache.org/v1alpha1.ErrorHandler">ErrorHandler
-</h3>
-<div>
-<p>ErrorHandler is a generic interface that represent any type of error handler specification</p>
-</div>
-<h3 id="camel.apache.org/v1alpha1.ErrorHandlerBean">ErrorHandlerBean
+<h3 id="camel.apache.org/v1.IntegrationKit">IntegrationKit
 </h3>
 <div>
-<p>ErrorHandlerBean represents a bean error handler type</p>
+<p>IntegrationKit is the Schema for the integrationkits API</p>
 </div>
 <table>
 <thead>
@@ -481,60 +471,63 @@ RawMessage
 <tbody>
 <tr>
 <td>
-<code>ErrorHandlerNone</code><br/>
-<em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerNone">
-ErrorHandlerNone
-</a>
-</em>
+<code>apiVersion</code></br>
+string</td>
+<td>
+<code>
+camel.apache.org/v1
+</code>
 </td>
+</tr>
+<tr>
 <td>
+<code>kind</code></br>
+string
 </td>
+<td><code>IntegrationKit</code></td>
 </tr>
 <tr>
 <td>
-<code>type</code><br/>
+<code>metadata</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
+Kubernetes meta/v1.ObjectMeta
+</a>
 </em>
 </td>
 <td>
+Refer to the Kubernetes API documentation for the fields of the
+<code>metadata</code> field.
 </td>
 </tr>
 <tr>
 <td>
-<code>properties</code><br/>
+<code>spec</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.BeanProperties">
-BeanProperties
+<a href="#camel.apache.org/v1.IntegrationKitSpec">
+IntegrationKitSpec
 </a>
 </em>
 </td>
 <td>
-</td>
-</tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.ErrorHandlerDeadLetterChannel">ErrorHandlerDeadLetterChannel
-</h3>
-<div>
-<p>ErrorHandlerDeadLetterChannel represents a dead letter channel error handler type</p>
-</div>
+<br/>
+<br/>
 <table>
-<thead>
 <tr>
-<th>Field</th>
-<th>Description</th>
+<td>
+<code>image</code><br/>
+<em>
+string
+</em>
+</td>
+<td>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>ErrorHandlerLog</code><br/>
+<code>dependencies</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerLog">
-ErrorHandlerLog
-</a>
+[]string
 </em>
 </td>
 <td>
@@ -542,41 +535,22 @@ ErrorHandlerLog
 </tr>
 <tr>
 <td>
-<code>endpoint</code><br/>
+<code>profile</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.Endpoint">
-Endpoint
+<a href="#camel.apache.org/v1.TraitProfile">
+TraitProfile
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.ErrorHandlerLog">ErrorHandlerLog
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerDeadLetterChannel">ErrorHandlerDeadLetterChannel</a>)
-</p>
-<div>
-<p>ErrorHandlerLog represent a default (log) error handler type</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>ErrorHandlerNone</code><br/>
+<code>traits</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerNone">
-ErrorHandlerNone
+<a href="#camel.apache.org/v1.TraitSpec">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 </a>
 </em>
 </td>
@@ -585,61 +559,35 @@ ErrorHandlerNone
 </tr>
 <tr>
 <td>
-<code>parameters</code><br/>
+<code>configuration</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerParameters">
-ErrorHandlerParameters
+<a href="#camel.apache.org/v1.ConfigurationSpec">
+[]ConfigurationSpec
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.ErrorHandlerNone">ErrorHandlerNone
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerBean">ErrorHandlerBean</a>, 
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerLog">ErrorHandlerLog</a>)
-</p>
-<div>
-<p>ErrorHandlerNone &ndash;</p>
-</div>
-<table>
-<thead>
 <tr>
-<th>Field</th>
-<th>Description</th>
+<td>
+<code>repositories</code><br/>
+<em>
+[]string
+</em>
+</td>
+<td>
+</td>
 </tr>
-</thead>
-<tbody>
-</tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.ErrorHandlerParameters">ErrorHandlerParameters
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerLog">ErrorHandlerLog</a>)
-</p>
-<div>
-<p>ErrorHandlerParameters represent an unstructured object for error handler parameters</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>RawMessage</code><br/>
+<code>status</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RawMessage">
-RawMessage
+<a href="#camel.apache.org/v1.IntegrationKitStatus">
+IntegrationKitStatus
 </a>
 </em>
 </td>
@@ -648,10 +596,10 @@ RawMessage
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.ErrorHandlerRef">ErrorHandlerRef
+<h3 id="camel.apache.org/v1.IntegrationPlatform">IntegrationPlatform
 </h3>
 <div>
-<p>ErrorHandlerRef represents a reference to an error handler builder available in the registry</p>
+<p>IntegrationPlatform is the Schema for the integrationplatforms API</p>
 </div>
 <table>
 <thead>
@@ -663,80 +611,91 @@ RawMessage
 <tbody>
 <tr>
 <td>
-<code>RawMessage</code><br/>
+<code>apiVersion</code></br>
+string</td>
+<td>
+<code>
+camel.apache.org/v1
+</code>
+</td>
+</tr>
+<tr>
+<td>
+<code>kind</code></br>
+string
+</td>
+<td><code>IntegrationPlatform</code></td>
+</tr>
+<tr>
+<td>
+<code>metadata</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RawMessage">
-RawMessage
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
+Kubernetes meta/v1.ObjectMeta
 </a>
 </em>
 </td>
 <td>
+Refer to the Kubernetes API documentation for the fields of the
+<code>metadata</code> field.
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.ErrorHandlerSpec">ErrorHandlerSpec
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletBindingSpec">KameletBindingSpec</a>)
-</p>
-<div>
-<p>ErrorHandlerSpec represents an unstructured object for an error handler</p>
-</div>
+<tr>
+<td>
+<code>spec</code><br/>
+<em>
+<a href="#camel.apache.org/v1.IntegrationPlatformSpec">
+IntegrationPlatformSpec
+</a>
+</em>
+</td>
+<td>
+<br/>
+<br/>
 <table>
-<thead>
 <tr>
-<th>Field</th>
-<th>Description</th>
+<td>
+<code>cluster</code><br/>
+<em>
+<a href="#camel.apache.org/v1.IntegrationPlatformCluster">
+IntegrationPlatformCluster
+</a>
+</em>
+</td>
+<td>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>RawMessage</code><br/>
+<code>profile</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RawMessage">
-RawMessage
+<a href="#camel.apache.org/v1.TraitProfile">
+TraitProfile
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.ErrorHandlerType">ErrorHandlerType
-(<code>string</code> alias)</h3>
-<div>
-<p>ErrorHandlerType &ndash;</p>
-</div>
-<h3 id="camel.apache.org/v1alpha1.EventSlot">EventSlot
-(<code>string</code> alias)</h3>
-<div>
-</div>
-<h3 id="camel.apache.org/v1alpha1.EventTypeSpec">EventTypeSpec
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.Endpoint">Endpoint</a>, 
-<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
-</p>
-<div>
-</div>
-<table>
-<thead>
 <tr>
-<th>Field</th>
-<th>Description</th>
+<td>
+<code>build</code><br/>
+<em>
+<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">
+IntegrationPlatformBuildSpec
+</a>
+</em>
+</td>
+<td>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>mediaType</code><br/>
+<code>resources</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.IntegrationPlatformResourcesSpec">
+IntegrationPlatformResourcesSpec
+</a>
 </em>
 </td>
 <td>
@@ -744,40 +703,23 @@ string
 </tr>
 <tr>
 <td>
-<code>schema</code><br/>
+<code>traits</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">
-JSONSchemaProps
+<a href="#camel.apache.org/v1.TraitSpec">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.ExternalDocumentation">ExternalDocumentation
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps</a>)
-</p>
-<div>
-<p>ExternalDocumentation allows referencing an external resource for extended documentation.</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>description</code><br/>
+<code>configuration</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.ConfigurationSpec">
+[]ConfigurationSpec
+</a>
 </em>
 </td>
 <td>
@@ -785,59 +727,42 @@ string
 </tr>
 <tr>
 <td>
-<code>url</code><br/>
+<code>kamelet</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.IntegrationPlatformKameletSpec">
+IntegrationPlatformKameletSpec
+</a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.JSON">JSON
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.JSONSchemaProp">JSONSchemaProp</a>, 
-<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps</a>)
-</p>
-<div>
-<p>JSON represents any valid JSON value.
-These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>RawMessage</code><br/>
+<code>status</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.RawMessage">
-RawMessage
+<a href="#camel.apache.org/v1.IntegrationPlatformStatus">
+IntegrationPlatformStatus
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>RawMessage</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.JSONSchemaProp">JSONSchemaProp
+<h3 id="camel.apache.org/v1.Artifact">Artifact
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps</a>)
+<a href="#camel.apache.org/v1.BuildStatus">BuildStatus</a>, 
+<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>)
 </p>
 <div>
+<p>Artifact &ndash;</p>
 </div>
 <table>
 <thead>
@@ -859,17 +784,7 @@ string
 </tr>
 <tr>
 <td>
-<code>description</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>type</code><br/>
+<code>location</code><br/>
 <em>
 string
 </em>
@@ -879,44 +794,17 @@ string
 </tr>
 <tr>
 <td>
-<code>format</code><br/>
+<code>target</code><br/>
 <em>
 string
 </em>
 </td>
 <td>
-<p>format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:</p>
-<ul>
-<li>bsonobjectid: a bson object ID, i.e. a 24 characters hex string</li>
-<li>uri: an URI as parsed by Golang net/url.ParseRequestURI</li>
-<li>email: an email address as parsed by Golang net/mail.ParseAddress</li>
-<li>hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034].</li>
-<li>ipv4: an IPv4 IP as parsed by Golang net.ParseIP</li>
-<li>ipv6: an IPv6 IP as parsed by Golang net.ParseIP</li>
-<li>cidr: a CIDR as parsed by Golang net.ParseCIDR</li>
-<li>mac: a MAC address as parsed by Golang net.ParseMAC</li>
-<li>uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$</li>
-<li>uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$</li>
-<li>uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$</li>
-<li>uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$</li>
-<li>isbn: an ISBN10 or ISBN13 number string like &ldquo;0321751043&rdquo; or &ldquo;978-0321751041&rdquo;</li>
-<li>isbn10: an ISBN10 number string like &ldquo;0321751043&rdquo;</li>
-<li>isbn13: an ISBN13 number string like &ldquo;978-0321751041&rdquo;</li>
-<li>creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$ with any non digit characters mixed in</li>
-<li>ssn: a U.S. social security number following the regex ^\d{3}[- ]?\d{2}[- ]?\d{4}$</li>
-<li>hexcolor: an hexadecimal color code like &ldquo;#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$</li>
-<li>rgbcolor: an RGB color code like rgb like &ldquo;rgb(255,255,2559&rdquo;</li>
-<li>byte: base64 encoded binary data</li>
-<li>password: any kind of string</li>
-<li>date: a date string like &ldquo;2006-01-02&rdquo; as defined by full-date in RFC3339</li>
-<li>duration: a duration string like &ldquo;22 ns&rdquo; as parsed by Golang time.ParseDuration or compatible with Scala duration format</li>
-<li>datetime: a date time string like &ldquo;2014-12-15T19:30:20.000Z&rdquo; as defined by date-time in RFC3339.</li>
-</ul>
 </td>
 </tr>
 <tr>
 <td>
-<code>title</code><br/>
+<code>checksum</code><br/>
 <em>
 string
 </em>
@@ -924,114 +812,176 @@ string
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.BaseTask">BaseTask
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.BuildahTask">BuildahTask</a>, 
+<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
+<a href="#camel.apache.org/v1.KanikoTask">KanikoTask</a>, 
+<a href="#camel.apache.org/v1.S2iTask">S2iTask</a>, 
+<a href="#camel.apache.org/v1.SpectrumTask">SpectrumTask</a>)
+</p>
+<div>
+<p>BaseTask &ndash;</p>
+</div>
+<table>
+<thead>
 <tr>
-<td>
-<code>default</code><br/>
-<em>
-<a href="#camel.apache.org/v1alpha1.JSON">
-JSON
-</a>
-</em>
-</td>
-<td>
-<p>default is a default value for undefined object fields.</p>
-</td>
+<th>Field</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>maximum</code><br/>
+<code>name</code><br/>
 <em>
-encoding/json.Number
+string
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.BuildCondition">BuildCondition
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.BuildStatus">BuildStatus</a>)
+</p>
+<div>
+<p>BuildCondition describes the state of a resource at a certain point.</p>
+</div>
+<table>
+<thead>
 <tr>
-<td>
-<code>exclusiveMaximum</code><br/>
-<em>
-bool
-</em>
-</td>
-<td>
-</td>
+<th>Field</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>minimum</code><br/>
+<code>type</code><br/>
 <em>
-encoding/json.Number
+<a href="#camel.apache.org/v1.BuildConditionType">
+BuildConditionType
+</a>
 </em>
 </td>
 <td>
+<p>Type of integration condition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>exclusiveMinimum</code><br/>
+<code>status</code><br/>
 <em>
-bool
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
+Kubernetes core/v1.ConditionStatus
+</a>
 </em>
 </td>
 <td>
+<p>Status of the condition, one of True, False, Unknown.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>maxLength</code><br/>
+<code>lastUpdateTime</code><br/>
 <em>
-int64
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
 </em>
 </td>
 <td>
+<p>The last time this condition was updated.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>minLength</code><br/>
+<code>lastTransitionTime</code><br/>
 <em>
-int64
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
 </em>
 </td>
 <td>
+<p>Last time the condition transitioned from one status to another.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>pattern</code><br/>
+<code>reason</code><br/>
 <em>
 string
 </em>
 </td>
 <td>
+<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>maxItems</code><br/>
+<code>message</code><br/>
 <em>
-int64
+string
 </em>
 </td>
 <td>
+<p>A human readable message indicating details about the transition.</p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.BuildConditionType">BuildConditionType
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.BuildCondition">BuildCondition</a>)
+</p>
+<div>
+<p>BuildConditionType &ndash;</p>
+</div>
+<h3 id="camel.apache.org/v1.BuildPhase">BuildPhase
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.BuildStatus">BuildStatus</a>)
+</p>
+<div>
+<p>BuildPhase &ndash;</p>
+</div>
+<h3 id="camel.apache.org/v1.BuildSpec">BuildSpec
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.Build">Build</a>)
+</p>
+<div>
+<p>BuildSpec defines the Build to be executed</p>
+</div>
+<table>
+<thead>
 <tr>
-<td>
-<code>minItems</code><br/>
-<em>
-int64
-</em>
-</td>
-<td>
-</td>
+<th>Field</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>uniqueItems</code><br/>
+<code>tasks</code><br/>
 <em>
-bool
+<a href="#camel.apache.org/v1.Task">
+[]Task
+</a>
 </em>
 </td>
 <td>
@@ -1039,19 +989,46 @@ bool
 </tr>
 <tr>
 <td>
-<code>maxProperties</code><br/>
+<code>timeout</code><br/>
 <em>
-int64
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#duration-v1-meta">
+Kubernetes meta/v1.Duration
+</a>
 </em>
 </td>
 <td>
+<p>Timeout defines the Build maximum execution duration.
+The Build deadline is set to the Build start time plus the Timeout duration.
+If the Build deadline is exceeded, the Build context is canceled,
+and its phase set to BuildPhaseFailed.</p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.BuildStatus">BuildStatus
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.Build">Build</a>)
+</p>
+<div>
+<p>BuildStatus defines the observed state of Build</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>minProperties</code><br/>
+<code>phase</code><br/>
 <em>
-int64
+<a href="#camel.apache.org/v1.BuildPhase">
+BuildPhase
+</a>
 </em>
 </td>
 <td>
@@ -1059,9 +1036,9 @@ int64
 </tr>
 <tr>
 <td>
-<code>multipleOf</code><br/>
+<code>image</code><br/>
 <em>
-encoding/json.Number
+string
 </em>
 </td>
 <td>
@@ -1069,11 +1046,9 @@ encoding/json.Number
 </tr>
 <tr>
 <td>
-<code>enum</code><br/>
+<code>digest</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.JSON">
-[]JSON
-</a>
+string
 </em>
 </td>
 <td>
@@ -1081,11 +1056,9 @@ encoding/json.Number
 </tr>
 <tr>
 <td>
-<code>example</code><br/>
+<code>baseImage</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.JSON">
-JSON
-</a>
+string
 </em>
 </td>
 <td>
@@ -1093,9 +1066,11 @@ JSON
 </tr>
 <tr>
 <td>
-<code>nullable</code><br/>
+<code>artifacts</code><br/>
 <em>
-bool
+<a href="#camel.apache.org/v1.Artifact">
+[]Artifact
+</a>
 </em>
 </td>
 <td>
@@ -1103,40 +1078,21 @@ bool
 </tr>
 <tr>
 <td>
-<code>x-descriptors</code><br/>
+<code>error</code><br/>
 <em>
-[]string
+string
 </em>
 </td>
 <td>
-<p>The list of descriptors that determine which UI components to use on different views</p>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.EventTypeSpec">EventTypeSpec</a>, 
-<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
-</p>
-<div>
-<p>JSONSchemaProps is a JSON-Schema following Specification Draft 4 (<a href="http://json-schema.org/">http://json-schema.org/</a>).</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>id</code><br/>
+<code>failure</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.Failure">
+Failure
+</a>
 </em>
 </td>
 <td>
@@ -1144,9 +1100,11 @@ string
 </tr>
 <tr>
 <td>
-<code>description</code><br/>
+<code>startedAt</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
 </em>
 </td>
 <td>
@@ -1154,7 +1112,7 @@ string
 </tr>
 <tr>
 <td>
-<code>title</code><br/>
+<code>platform</code><br/>
 <em>
 string
 </em>
@@ -1164,10 +1122,10 @@ string
 </tr>
 <tr>
 <td>
-<code>properties</code><br/>
+<code>conditions</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.JSONSchemaProp">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1alpha1.JSONSchemaProp
+<a href="#camel.apache.org/v1.BuildCondition">
+[]BuildCondition
 </a>
 </em>
 </td>
@@ -1176,45 +1134,70 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1alpha1.JSONSchemaProp
 </tr>
 <tr>
 <td>
-<code>required</code><br/>
+<code>duration</code><br/>
 <em>
-[]string
+string
 </em>
 </td>
 <td>
+<p>Change to Duration / ISO 8601 when CRD uses OpenAPI spec v3
+<a href="https://github.com/OAI/OpenAPI-Specification/issues/845">https://github.com/OAI/OpenAPI-Specification/issues/845</a></p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.BuildahTask">BuildahTask
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.Task">Task</a>)
+</p>
+<div>
+<p>BuildahTask &ndash;</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>example</code><br/>
+<code>BaseTask</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.JSON">
-JSON
+<a href="#camel.apache.org/v1.BaseTask">
+BaseTask
 </a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>BaseTask</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>externalDocs</code><br/>
+<code>PublishTask</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.ExternalDocumentation">
-ExternalDocumentation
+<a href="#camel.apache.org/v1.PublishTask">
+PublishTask
 </a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>PublishTask</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>$schema</code><br/>
+<code>verbose</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.JSONSchemaURL">
-JSONSchemaURL
-</a>
+bool
 </em>
 </td>
 <td>
@@ -1222,7 +1205,7 @@ JSONSchemaURL
 </tr>
 <tr>
 <td>
-<code>type</code><br/>
+<code>httpProxySecret</code><br/>
 <em>
 string
 </em>
@@ -1232,23 +1215,14 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.JSONSchemaURL">JSONSchemaURL
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps</a>)
-</p>
-<div>
-<p>JSONSchemaURL represents a schema url.</p>
-</div>
-<h3 id="camel.apache.org/v1alpha1.KameletBindingCondition">KameletBindingCondition
+<h3 id="camel.apache.org/v1.BuilderTask">BuilderTask
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletBindingStatus">KameletBindingStatus</a>)
+<a href="#camel.apache.org/v1.Task">Task</a>)
 </p>
 <div>
-<p>KameletBindingCondition describes the state of a resource at a certain point.</p>
+<p>BuilderTask &ndash;</p>
 </div>
 <table>
 <thead>
@@ -1260,104 +1234,117 @@ string
 <tbody>
 <tr>
 <td>
-<code>type</code><br/>
+<code>BaseTask</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletBindingConditionType">
-KameletBindingConditionType
+<a href="#camel.apache.org/v1.BaseTask">
+BaseTask
 </a>
 </em>
 </td>
 <td>
-<p>Type of kameletBinding condition.</p>
+<p>
+(Members of <code>BaseTask</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>baseImage</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
-Kubernetes core/v1.ConditionStatus
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>runtime</code><br/>
+<em>
+<a href="#camel.apache.org/v1.RuntimeSpec">
+RuntimeSpec
 </a>
 </em>
 </td>
 <td>
-<p>Status of the condition, one of True, False, Unknown.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>lastUpdateTime</code><br/>
+<code>sources</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+<a href="#camel.apache.org/v1.SourceSpec">
+[]SourceSpec
 </a>
 </em>
 </td>
 <td>
-<p>The last time this condition was updated.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>lastTransitionTime</code><br/>
+<code>resources</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+<a href="#camel.apache.org/v1.ResourceSpec">
+[]ResourceSpec
 </a>
 </em>
 </td>
 <td>
-<p>Last time the condition transitioned from one status to another.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>reason</code><br/>
+<code>dependencies</code><br/>
 <em>
-string
+[]string
 </em>
 </td>
 <td>
-<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>message</code><br/>
+<code>steps</code><br/>
 <em>
-string
+[]string
 </em>
 </td>
 <td>
-<p>A human readable message indicating details about the transition.</p>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1alpha1.KameletBindingConditionType">KameletBindingConditionType
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletBindingCondition">KameletBindingCondition</a>)
-</p>
-<div>
-</div>
-<h3 id="camel.apache.org/v1alpha1.KameletBindingPhase">KameletBindingPhase
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletBindingStatus">KameletBindingStatus</a>)
-</p>
-<div>
-</div>
-<h3 id="camel.apache.org/v1alpha1.KameletBindingSpec">KameletBindingSpec
+<tr>
+<td>
+<code>maven</code><br/>
+<em>
+<a href="#camel.apache.org/v1.MavenSpec">
+MavenSpec
+</a>
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>buildDir</code><br/>
+<em>
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.CamelArtifact">CamelArtifact
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletBinding">KameletBinding</a>)
+<a href="#camel.apache.org/v1.CamelCatalogSpec">CamelCatalogSpec</a>)
 </p>
 <div>
-<p>KameletBindingSpec &ndash;</p>
+<p>CamelArtifact &ndash;</p>
 </div>
 <table>
 <thead>
@@ -1369,79 +1356,84 @@ string
 <tbody>
 <tr>
 <td>
-<code>integration</code><br/>
+<code>CamelArtifactDependency</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationSpec">
-IntegrationSpec
+<a href="#camel.apache.org/v1.CamelArtifactDependency">
+CamelArtifactDependency
 </a>
 </em>
 </td>
 <td>
-<p>Integration is an optional integration used to specify custom parameters</p>
+<p>
+(Members of <code>CamelArtifactDependency</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>source</code><br/>
+<code>schemes</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.Endpoint">
-Endpoint
+<a href="#camel.apache.org/v1.CamelScheme">
+[]CamelScheme
 </a>
 </em>
 </td>
 <td>
-<p>Source is the starting point of the integration defined by this binding</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>sink</code><br/>
+<code>languages</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.Endpoint">
-Endpoint
-</a>
+[]string
 </em>
 </td>
 <td>
-<p>Sink is the destination of the integration defined by this binding</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>errorHandler</code><br/>
+<code>dataformats</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerSpec">
-ErrorHandlerSpec
-</a>
+[]string
 </em>
 </td>
 <td>
-<p>ErrorHandler is an optional handler called upon an error occuring in the integration</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>steps</code><br/>
+<code>dependencies</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.Endpoint">
-[]Endpoint
+<a href="#camel.apache.org/v1.CamelArtifactDependency">
+[]CamelArtifactDependency
 </a>
 </em>
 </td>
 <td>
-<p>Steps contains an optional list of intermediate steps that are executed between the Source and the Sink</p>
+</td>
+</tr>
+<tr>
+<td>
+<code>javaTypes</code><br/>
+<em>
+[]string
+</em>
+</td>
+<td>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.KameletBindingStatus">KameletBindingStatus
+<h3 id="camel.apache.org/v1.CamelArtifactDependency">CamelArtifactDependency
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletBinding">KameletBinding</a>)
+<a href="#camel.apache.org/v1.CamelArtifact">CamelArtifact</a>, 
+<a href="#camel.apache.org/v1.CamelSchemeScope">CamelSchemeScope</a>)
 </p>
 <div>
-<p>KameletBindingStatus &ndash;</p>
+<p>CamelArtifactDependency represent a maven&rsquo;s dependency</p>
 </div>
 <table>
 <thead>
@@ -1453,40 +1445,41 @@ ErrorHandlerSpec
 <tbody>
 <tr>
 <td>
-<code>phase</code><br/>
+<code>MavenArtifact</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletBindingPhase">
-KameletBindingPhase
+<a href="#camel.apache.org/v1.MavenArtifact">
+MavenArtifact
 </a>
 </em>
 </td>
 <td>
-<p>Phase &ndash;</p>
+<p>
+(Members of <code>MavenArtifact</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>conditions</code><br/>
+<code>exclusions</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletBindingCondition">
-[]KameletBindingCondition
+<a href="#camel.apache.org/v1.CamelArtifactExclusion">
+[]CamelArtifactExclusion
 </a>
 </em>
 </td>
 <td>
-<p>Conditions &ndash;</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.KameletCondition">KameletCondition
+<h3 id="camel.apache.org/v1.CamelArtifactExclusion">CamelArtifactExclusion
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletStatus">KameletStatus</a>)
+<a href="#camel.apache.org/v1.CamelArtifactDependency">CamelArtifactDependency</a>)
 </p>
 <div>
-<p>KameletCondition describes the state of a resource at a certain point.</p>
+<p>CamelArtifactExclusion &ndash;</p>
 </div>
 <table>
 <thead>
@@ -1498,103 +1491,98 @@ KameletBindingPhase
 <tbody>
 <tr>
 <td>
-<code>type</code><br/>
+<code>groupId</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletConditionType">
-KameletConditionType
-</a>
+string
 </em>
 </td>
 <td>
-<p>Type of kamelet condition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>artifactId</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
-Kubernetes core/v1.ConditionStatus
-</a>
+string
 </em>
 </td>
 <td>
-<p>Status of the condition, one of True, False, Unknown.</p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.CamelCatalogSpec">CamelCatalogSpec
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.CamelCatalog">CamelCatalog</a>)
+</p>
+<div>
+<p>CamelCatalogSpec defines the desired state of CamelCatalog</p>
+</div>
+<table>
+<thead>
 <tr>
-<td>
-<code>lastUpdateTime</code><br/>
-<em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
-</a>
-</em>
-</td>
-<td>
-<p>The last time this condition was updated.</p>
-</td>
+<th>Field</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>lastTransitionTime</code><br/>
+<code>runtime</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+<a href="#camel.apache.org/v1.RuntimeSpec">
+RuntimeSpec
 </a>
 </em>
 </td>
 <td>
-<p>Last time the condition transitioned from one status to another.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>reason</code><br/>
+<code>artifacts</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.CamelArtifact">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelArtifact
+</a>
 </em>
 </td>
 <td>
-<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>message</code><br/>
+<code>loaders</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.CamelLoader">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelLoader
+</a>
 </em>
 </td>
 <td>
-<p>A human readable message indicating details about the transition.</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.KameletConditionType">KameletConditionType
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletCondition">KameletCondition</a>)
-</p>
-<div>
-</div>
-<h3 id="camel.apache.org/v1alpha1.KameletPhase">KameletPhase
-(<code>string</code> alias)</h3>
+<h3 id="camel.apache.org/v1.CamelCatalogStatus">CamelCatalogStatus
+</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletStatus">KameletStatus</a>)
+<a href="#camel.apache.org/v1.CamelCatalog">CamelCatalog</a>)
 </p>
 <div>
+<p>CamelCatalogStatus defines the observed state of CamelCatalog</p>
 </div>
-<h3 id="camel.apache.org/v1alpha1.KameletProperty">KameletProperty
+<h3 id="camel.apache.org/v1.CamelLoader">CamelLoader
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletStatus">KameletStatus</a>)
+<a href="#camel.apache.org/v1.CamelCatalogSpec">CamelCatalogSpec</a>)
 </p>
 <div>
+<p>CamelLoader &ndash;</p>
 </div>
 <table>
 <thead>
@@ -1606,19 +1594,36 @@ string
 <tbody>
 <tr>
 <td>
-<code>name</code><br/>
+<code>MavenArtifact</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.MavenArtifact">
+MavenArtifact
+</a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>MavenArtifact</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>default</code><br/>
+<code>languages</code><br/>
 <em>
-string
+[]string
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>dependencies</code><br/>
+<em>
+<a href="#camel.apache.org/v1.MavenArtifact">
+[]MavenArtifact
+</a>
 </em>
 </td>
 <td>
@@ -1626,14 +1631,14 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.KameletSpec">KameletSpec
+<h3 id="camel.apache.org/v1.CamelScheme">CamelScheme
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.Kamelet">Kamelet</a>)
+<a href="#camel.apache.org/v1.CamelArtifact">CamelArtifact</a>)
 </p>
 <div>
-<p>KameletSpec defines the desired state of Kamelet</p>
+<p>CamelScheme &ndash;</p>
 </div>
 <table>
 <thead>
@@ -1645,35 +1650,9 @@ string
 <tbody>
 <tr>
 <td>
-<code>definition</code><br/>
-<em>
-<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">
-JSONSchemaProps
-</a>
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>sources</code><br/>
-<em>
-<a href="#camel.apache.org/v1.SourceSpec">
-[]SourceSpec
-</a>
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>template</code><br/>
+<code>id</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Template">
-Template
-</a>
+string
 </em>
 </td>
 <td>
@@ -1681,24 +1660,19 @@ Template
 </tr>
 <tr>
 <td>
-<code>flow</code><br/>
+<code>passive</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Flow">
-Flow
-</a>
+bool
 </em>
 </td>
 <td>
-<p>Deprecated: use template</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>authorization</code><br/>
+<code>http</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.AuthorizationSpec">
-AuthorizationSpec
-</a>
+bool
 </em>
 </td>
 <td>
@@ -1706,10 +1680,10 @@ AuthorizationSpec
 </tr>
 <tr>
 <td>
-<code>types</code><br/>
+<code>consumer</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.EventTypeSpec">
-map[github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventSlot]github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventTypeSpec
+<a href="#camel.apache.org/v1.CamelSchemeScope">
+CamelSchemeScope
 </a>
 </em>
 </td>
@@ -1718,9 +1692,11 @@ map[github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventSlot]github.com/apach
 </tr>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>producer</code><br/>
 <em>
-[]string
+<a href="#camel.apache.org/v1.CamelSchemeScope">
+CamelSchemeScope
+</a>
 </em>
 </td>
 <td>
@@ -1728,14 +1704,14 @@ map[github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventSlot]github.com/apach
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.KameletStatus">KameletStatus
+<h3 id="camel.apache.org/v1.CamelSchemeScope">CamelSchemeScope
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.Kamelet">Kamelet</a>)
+<a href="#camel.apache.org/v1.CamelScheme">CamelScheme</a>)
 </p>
 <div>
-<p>KameletStatus defines the observed state of Kamelet</p>
+<p>CamelSchemeScope contains scoped information about a scheme</p>
 </div>
 <table>
 <thead>
@@ -1747,22 +1723,41 @@ map[github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventSlot]github.com/apach
 <tbody>
 <tr>
 <td>
-<code>phase</code><br/>
+<code>dependencies</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletPhase">
-KameletPhase
+<a href="#camel.apache.org/v1.CamelArtifactDependency">
+[]CamelArtifactDependency
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.Capability">Capability
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.RuntimeSpec">RuntimeSpec</a>)
+</p>
+<div>
+<p>Capability &ndash;</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>conditions</code><br/>
+<code>dependencies</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletCondition">
-[]KameletCondition
+<a href="#camel.apache.org/v1.MavenArtifact">
+[]MavenArtifact
 </a>
 </em>
 </td>
@@ -1771,11 +1766,9 @@ KameletPhase
 </tr>
 <tr>
 <td>
-<code>properties</code><br/>
+<code>metadata</code><br/>
 <em>
-<a href="#camel.apache.org/v1alpha1.KameletProperty">
-[]KameletProperty
-</a>
+map[string]string
 </em>
 </td>
 <td>
@@ -1783,37 +1776,22 @@ KameletPhase
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1alpha1.RawMessage">RawMessage
-(<code>[]byte</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.JSON">JSON</a>)
-</p>
-<div>
-<p>RawMessage is a raw encoded JSON value.
-It implements Marshaler and Unmarshaler and can
-be used to delay JSON decoding or precompute a JSON encoding.</p>
-</div>
-<h2 id="camel.apache.org/v1">camel.apache.org/v1</h2>
+<h3 id="camel.apache.org/v1.Configurable">Configurable
+</h3>
 <div>
-<p>Package v1 contains API Schema definitions for the camel v1 API group</p>
+<p>Configurable &ndash;</p>
 </div>
-Resource Types:
-<ul><li>
-<a href="#camel.apache.org/v1.Build">Build</a>
-</li><li>
-<a href="#camel.apache.org/v1.CamelCatalog">CamelCatalog</a>
-</li><li>
-<a href="#camel.apache.org/v1.Integration">Integration</a>
-</li><li>
-<a href="#camel.apache.org/v1.IntegrationKit">IntegrationKit</a>
-</li><li>
-<a href="#camel.apache.org/v1.IntegrationPlatform">IntegrationPlatform</a>
-</li></ul>
-<h3 id="camel.apache.org/v1.Build">Build
+<h3 id="camel.apache.org/v1.ConfigurationSpec">ConfigurationSpec
 </h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationKitSpec">IntegrationKitSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
+</p>
 <div>
-<p>Build is the Schema for the builds API</p>
+<p>ConfigurationSpec &ndash;</p>
 </div>
 <table>
 <thead>
@@ -1825,55 +1803,29 @@ Resource Types:
 <tbody>
 <tr>
 <td>
-<code>apiVersion</code></br>
-string</td>
-<td>
-<code>
-camel.apache.org/v1
-</code>
-</td>
-</tr>
-<tr>
-<td>
-<code>kind</code></br>
-string
-</td>
-<td><code>Build</code></td>
-</tr>
-<tr>
-<td>
-<code>metadata</code><br/>
+<code>type</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
-Kubernetes meta/v1.ObjectMeta
-</a>
+string
 </em>
 </td>
 <td>
-Refer to the Kubernetes API documentation for the fields of the
-<code>metadata</code> field.
 </td>
 </tr>
 <tr>
 <td>
-<code>spec</code><br/>
+<code>value</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BuildSpec">
-BuildSpec
-</a>
+string
 </em>
 </td>
 <td>
-<br/>
-<br/>
-<table>
+</td>
+</tr>
 <tr>
 <td>
-<code>tasks</code><br/>
+<code>resourceType</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Task">
-[]Task
-</a>
+string
 </em>
 </td>
 <td>
@@ -1881,30 +1833,19 @@ BuildSpec
 </tr>
 <tr>
 <td>
-<code>timeout</code><br/>
+<code>resourceMountPoint</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#duration-v1-meta">
-Kubernetes meta/v1.Duration
-</a>
+string
 </em>
 </td>
 <td>
-<p>Timeout defines the Build maximum execution duration.
-The Build deadline is set to the Build start time plus the Timeout duration.
-If the Build deadline is exceeded, the Build context is canceled,
-and its phase set to BuildPhaseFailed.</p>
-</td>
-</tr>
-</table>
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>resourceKey</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BuildStatus">
-BuildStatus
-</a>
+string
 </em>
 </td>
 <td>
@@ -1912,10 +1853,15 @@ BuildStatus
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.CamelCatalog">CamelCatalog
+<h3 id="camel.apache.org/v1.DataSpec">DataSpec
 </h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.ResourceSpec">ResourceSpec</a>, 
+<a href="#camel.apache.org/v1.SourceSpec">SourceSpec</a>)
+</p>
 <div>
-<p>CamelCatalog is the Schema for the camelcatalogs API</p>
+<p>DataSpec &ndash;</p>
 </div>
 <table>
 <thead>
@@ -1927,42 +1873,19 @@ BuildStatus
 <tbody>
 <tr>
 <td>
-<code>apiVersion</code></br>
-string</td>
-<td>
-<code>
-camel.apache.org/v1
-</code>
-</td>
-</tr>
-<tr>
-<td>
-<code>kind</code></br>
-string
-</td>
-<td><code>CamelCatalog</code></td>
-</tr>
-<tr>
-<td>
-<code>metadata</code><br/>
+<code>name</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
-Kubernetes meta/v1.ObjectMeta
-</a>
+string
 </em>
 </td>
 <td>
-Refer to the Kubernetes API documentation for the fields of the
-<code>metadata</code> field.
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>path</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelCatalogStatus">
-CamelCatalogStatus
-</a>
+string
 </em>
 </td>
 <td>
@@ -1970,24 +1893,9 @@ CamelCatalogStatus
 </tr>
 <tr>
 <td>
-<code>spec</code><br/>
-<em>
-<a href="#camel.apache.org/v1.CamelCatalogSpec">
-CamelCatalogSpec
-</a>
-</em>
-</td>
-<td>
-<br/>
-<br/>
-<table>
-<tr>
-<td>
-<code>runtime</code><br/>
+<code>content</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RuntimeSpec">
-RuntimeSpec
-</a>
+string
 </em>
 </td>
 <td>
@@ -1995,11 +1903,9 @@ RuntimeSpec
 </tr>
 <tr>
 <td>
-<code>artifacts</code><br/>
+<code>rawContent</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelArtifact">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelArtifact
-</a>
+[]byte
 </em>
 </td>
 <td>
@@ -2007,83 +1913,69 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelArtifact
 </tr>
 <tr>
 <td>
-<code>loaders</code><br/>
+<code>contentRef</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelLoader">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelLoader
-</a>
+string
 </em>
 </td>
 <td>
 </td>
 </tr>
-</table>
-</td>
-</tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.Integration">Integration
-</h3>
-<div>
-<p>Integration is the Schema for the integrations API</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>apiVersion</code></br>
-string</td>
-<td>
-<code>
-camel.apache.org/v1
-</code>
+<code>contentKey</code><br/>
+<em>
+string
+</em>
 </td>
-</tr>
-<tr>
 <td>
-<code>kind</code></br>
-string
 </td>
-<td><code>Integration</code></td>
 </tr>
 <tr>
 <td>
-<code>metadata</code><br/>
+<code>contentType</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
-Kubernetes meta/v1.ObjectMeta
-</a>
+string
 </em>
 </td>
 <td>
-Refer to the Kubernetes API documentation for the fields of the
-<code>metadata</code> field.
 </td>
 </tr>
 <tr>
 <td>
-<code>spec</code><br/>
+<code>compression</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationSpec">
-IntegrationSpec
-</a>
+bool
 </em>
 </td>
 <td>
-<br/>
-<br/>
+</td>
+</tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.Failure">Failure
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.BuildStatus">BuildStatus</a>, 
+<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>)
+</p>
+<div>
+<p>Failure &ndash;</p>
+</div>
 <table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>replicas</code><br/>
+<code>reason</code><br/>
 <em>
-int32
+string
 </em>
 </td>
 <td>
@@ -2091,10 +1983,10 @@ int32
 </tr>
 <tr>
 <td>
-<code>sources</code><br/>
+<code>time</code><br/>
 <em>
-<a href="#camel.apache.org/v1.SourceSpec">
-[]SourceSpec
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
 </a>
 </em>
 </td>
@@ -2103,23 +1995,40 @@ int32
 </tr>
 <tr>
 <td>
-<code>flows</code><br/>
+<code>recovery</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Flow">
-[]Flow
+<a href="#camel.apache.org/v1.FailureRecovery">
+FailureRecovery
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.FailureRecovery">FailureRecovery
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.Failure">Failure</a>)
+</p>
+<div>
+<p>FailureRecovery &ndash;</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>resources</code><br/>
+<code>attempt</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ResourceSpec">
-[]ResourceSpec
-</a>
+int
 </em>
 </td>
 <td>
@@ -2127,126 +2036,187 @@ int32
 </tr>
 <tr>
 <td>
-<code>kit</code><br/>
+<code>attemptMax</code><br/>
 <em>
-string
+int
 </em>
 </td>
 <td>
-<p>Deprecated: use the IntegrationKit field</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>integrationKit</code><br/>
+<code>attemptTime</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectreference-v1-core">
-Kubernetes core/v1.ObjectReference
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
 </a>
 </em>
 </td>
 <td>
+<em>(Optional)</em>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.Flow">Flow
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
+<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
+</p>
+<div>
+<p>Flow is an unstructured object representing a Camel Flow in YAML/JSON DSL</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>RawMessage</code><br/>
 <em>
-[]string
+<a href="#camel.apache.org/v1.RawMessage">
+RawMessage
+</a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>RawMessage</code> are embedded into this type.)
+</p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.IntegrationCondition">IntegrationCondition
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
+</p>
+<div>
+<p>IntegrationCondition describes the state of a resource at a certain point.</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>profile</code><br/>
+<code>type</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitProfile">
-TraitProfile
+<a href="#camel.apache.org/v1.IntegrationConditionType">
+IntegrationConditionType
 </a>
 </em>
 </td>
 <td>
+<p>Type of integration condition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>traits</code><br/>
+<code>status</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitSpec">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
+Kubernetes core/v1.ConditionStatus
 </a>
 </em>
 </td>
 <td>
+<p>Status of the condition, one of True, False, Unknown.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>template</code><br/>
+<code>lastUpdateTime</code><br/>
 <em>
-<a href="#camel.apache.org/v1.PodSpecTemplate">
-PodSpecTemplate
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
 </a>
 </em>
 </td>
 <td>
+<p>The last time this condition was updated.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>configuration</code><br/>
+<code>lastTransitionTime</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ConfigurationSpec">
-[]ConfigurationSpec
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
 </a>
 </em>
 </td>
 <td>
+<p>Last time the condition transitioned from one status to another.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>repositories</code><br/>
+<code>firstTruthyTime</code><br/>
 <em>
-[]string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
 </em>
 </td>
 <td>
+<p>First time the condition status transitioned to True.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>serviceAccountName</code><br/>
+<code>reason</code><br/>
 <em>
 string
 </em>
 </td>
 <td>
-</td>
-</tr>
-</table>
+<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>message</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationStatus">
-IntegrationStatus
-</a>
+string
 </em>
 </td>
 <td>
+<p>A human readable message indicating details about the transition.</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationKit">IntegrationKit
+<h3 id="camel.apache.org/v1.IntegrationConditionType">IntegrationConditionType
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationCondition">IntegrationCondition</a>)
+</p>
+<div>
+<p>IntegrationConditionType &ndash;</p>
+</div>
+<h3 id="camel.apache.org/v1.IntegrationKitCondition">IntegrationKitCondition
 </h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>)
+</p>
 <div>
-<p>IntegrationKit is the Schema for the integrationkits API</p>
+<p>IntegrationKitCondition describes the state of a resource at a certain point.</p>
 </div>
 <table>
 <thead>
@@ -2258,48 +2228,115 @@ IntegrationStatus
 <tbody>
 <tr>
 <td>
-<code>apiVersion</code></br>
-string</td>
+<code>type</code><br/>
+<em>
+<a href="#camel.apache.org/v1.IntegrationKitConditionType">
+IntegrationKitConditionType
+</a>
+</em>
+</td>
 <td>
-<code>
-camel.apache.org/v1
-</code>
+<p>Type of integration condition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>kind</code></br>
-string
+<code>status</code><br/>
+<em>
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
+Kubernetes core/v1.ConditionStatus
+</a>
+</em>
+</td>
+<td>
+<p>Status of the condition, one of True, False, Unknown.</p>
 </td>
-<td><code>IntegrationKit</code></td>
 </tr>
 <tr>
 <td>
-<code>metadata</code><br/>
+<code>lastUpdateTime</code><br/>
+<em>
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
+</em>
+</td>
+<td>
+<p>The last time this condition was updated.</p>
+</td>
+</tr>
+<tr>
+<td>
+<code>lastTransitionTime</code><br/>
+<em>
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
+</em>
+</td>
+<td>
+<p>Last time the condition transitioned from one status to another.</p>
+</td>
+</tr>
+<tr>
+<td>
+<code>reason</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
-Kubernetes meta/v1.ObjectMeta
-</a>
+string
 </em>
 </td>
 <td>
-Refer to the Kubernetes API documentation for the fields of the
-<code>metadata</code> field.
+<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>spec</code><br/>
+<code>message</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationKitSpec">
-IntegrationKitSpec
-</a>
+string
 </em>
 </td>
 <td>
-<br/>
-<br/>
+<p>A human readable message indicating details about the transition.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.IntegrationKitConditionType">IntegrationKitConditionType
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationKitCondition">IntegrationKitCondition</a>)
+</p>
+<div>
+<p>IntegrationKitConditionType &ndash;</p>
+</div>
+<h3 id="camel.apache.org/v1.IntegrationKitPhase">IntegrationKitPhase
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>)
+</p>
+<div>
+<p>IntegrationKitPhase &ndash;</p>
+</div>
+<h3 id="camel.apache.org/v1.IntegrationKitSpec">IntegrationKitSpec
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationKit">IntegrationKit</a>)
+</p>
+<div>
+<p>IntegrationKitSpec defines the desired state of IntegrationKit</p>
+</div>
 <table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
 <code>image</code><br/>
@@ -2366,27 +2403,16 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 <td>
 </td>
 </tr>
-</table>
-</td>
-</tr>
-<tr>
-<td>
-<code>status</code><br/>
-<em>
-<a href="#camel.apache.org/v1.IntegrationKitStatus">
-IntegrationKitStatus
-</a>
-</em>
-</td>
-<td>
-</td>
-</tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationPlatform">IntegrationPlatform
+<h3 id="camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus
 </h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationKit">IntegrationKit</a>)
+</p>
 <div>
-<p>IntegrationPlatform is the Schema for the integrationplatforms API</p>
+<p>IntegrationKitStatus defines the observed state of IntegrationKit</p>
 </div>
 <table>
 <thead>
@@ -2398,55 +2424,41 @@ IntegrationKitStatus
 <tbody>
 <tr>
 <td>
-<code>apiVersion</code></br>
-string</td>
-<td>
-<code>
-camel.apache.org/v1
-</code>
+<code>phase</code><br/>
+<em>
+<a href="#camel.apache.org/v1.IntegrationKitPhase">
+IntegrationKitPhase
+</a>
+</em>
 </td>
-</tr>
-<tr>
 <td>
-<code>kind</code></br>
-string
 </td>
-<td><code>IntegrationPlatform</code></td>
 </tr>
 <tr>
 <td>
-<code>metadata</code><br/>
+<code>baseImage</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
-Kubernetes meta/v1.ObjectMeta
-</a>
+string
 </em>
 </td>
 <td>
-Refer to the Kubernetes API documentation for the fields of the
-<code>metadata</code> field.
 </td>
 </tr>
 <tr>
 <td>
-<code>spec</code><br/>
+<code>image</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformSpec">
-IntegrationPlatformSpec
-</a>
+string
 </em>
 </td>
 <td>
-<br/>
-<br/>
-<table>
+</td>
+</tr>
 <tr>
 <td>
-<code>cluster</code><br/>
+<code>digest</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformCluster">
-IntegrationPlatformCluster
-</a>
+string
 </em>
 </td>
 <td>
@@ -2454,10 +2466,10 @@ IntegrationPlatformCluster
 </tr>
 <tr>
 <td>
-<code>profile</code><br/>
+<code>artifacts</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitProfile">
-TraitProfile
+<a href="#camel.apache.org/v1.Artifact">
+[]Artifact
 </a>
 </em>
 </td>
@@ -2466,10 +2478,10 @@ TraitProfile
 </tr>
 <tr>
 <td>
-<code>build</code><br/>
+<code>failure</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">
-IntegrationPlatformBuildSpec
+<a href="#camel.apache.org/v1.Failure">
+Failure
 </a>
 </em>
 </td>
@@ -2478,11 +2490,9 @@ IntegrationPlatformBuildSpec
 </tr>
 <tr>
 <td>
-<code>resources</code><br/>
+<code>runtimeVersion</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformResourcesSpec">
-IntegrationPlatformResourcesSpec
-</a>
+string
 </em>
 </td>
 <td>
@@ -2490,10 +2500,10 @@ IntegrationPlatformResourcesSpec
 </tr>
 <tr>
 <td>
-<code>traits</code><br/>
+<code>runtimeProvider</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitSpec">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
+<a href="#camel.apache.org/v1.RuntimeProvider">
+RuntimeProvider
 </a>
 </em>
 </td>
@@ -2502,11 +2512,9 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 </tr>
 <tr>
 <td>
-<code>configuration</code><br/>
+<code>platform</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ConfigurationSpec">
-[]ConfigurationSpec
-</a>
+string
 </em>
 </td>
 <td>
@@ -2514,26 +2522,21 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 </tr>
 <tr>
 <td>
-<code>kamelet</code><br/>
+<code>conditions</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformKameletSpec">
-IntegrationPlatformKameletSpec
+<a href="#camel.apache.org/v1.IntegrationKitCondition">
+[]IntegrationKitCondition
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</table>
-</td>
-</tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>version</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformStatus">
-IntegrationPlatformStatus
-</a>
+string
 </em>
 </td>
 <td>
@@ -2541,15 +2544,32 @@ IntegrationPlatformStatus
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.Artifact">Artifact
+<h3 id="camel.apache.org/v1.IntegrationPhase">IntegrationPhase
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
+</p>
+<div>
+<p>IntegrationPhase &ndash;</p>
+</div>
+<h3 id="camel.apache.org/v1.IntegrationPlatformBuildPublishStrategy">IntegrationPlatformBuildPublishStrategy
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>)
+</p>
+<div>
+<p>IntegrationPlatformBuildPublishStrategy enumerates all implemented publish strategies</p>
+</div>
+<h3 id="camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuildStatus">BuildStatus</a>, 
-<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>)
+<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>)
 </p>
 <div>
-<p>Artifact &ndash;</p>
+<p>IntegrationPlatformBuildSpec contains platform related build information</p>
 </div>
 <table>
 <thead>
@@ -2557,13 +2577,83 @@ IntegrationPlatformStatus
 <th>Field</th>
 <th>Description</th>
 </tr>
-</thead>
-<tbody>
+</thead>
+<tbody>
+<tr>
+<td>
+<code>buildStrategy</code><br/>
+<em>
+<a href="#camel.apache.org/v1.IntegrationPlatformBuildStrategy">
+IntegrationPlatformBuildStrategy
+</a>
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>publishStrategy</code><br/>
+<em>
+<a href="#camel.apache.org/v1.IntegrationPlatformBuildPublishStrategy">
+IntegrationPlatformBuildPublishStrategy
+</a>
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>runtimeVersion</code><br/>
+<em>
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>runtimeProvider</code><br/>
+<em>
+<a href="#camel.apache.org/v1.RuntimeProvider">
+RuntimeProvider
+</a>
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>baseImage</code><br/>
+<em>
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>registry</code><br/>
+<em>
+<a href="#camel.apache.org/v1.IntegrationPlatformRegistrySpec">
+IntegrationPlatformRegistrySpec
+</a>
+</em>
+</td>
+<td>
+</td>
+</tr>
 <tr>
 <td>
-<code>id</code><br/>
+<code>timeout</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#duration-v1-meta">
+Kubernetes meta/v1.Duration
+</a>
 </em>
 </td>
 <td>
@@ -2571,7 +2661,7 @@ string
 </tr>
 <tr>
 <td>
-<code>location</code><br/>
+<code>persistentVolumeClaim</code><br/>
 <em>
 string
 </em>
@@ -2581,9 +2671,11 @@ string
 </tr>
 <tr>
 <td>
-<code>target</code><br/>
+<code>maven</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.MavenSpec">
+MavenSpec
+</a>
 </em>
 </td>
 <td>
@@ -2591,7 +2683,7 @@ string
 </tr>
 <tr>
 <td>
-<code>checksum</code><br/>
+<code>httpProxySecret</code><br/>
 <em>
 string
 </em>
@@ -2599,34 +2691,11 @@ string
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.BaseTask">BaseTask
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuildahTask">BuildahTask</a>, 
-<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
-<a href="#camel.apache.org/v1.KanikoTask">KanikoTask</a>, 
-<a href="#camel.apache.org/v1.S2iTask">S2iTask</a>, 
-<a href="#camel.apache.org/v1.SpectrumTask">SpectrumTask</a>)
-</p>
-<div>
-<p>BaseTask &ndash;</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>name</code><br/>
+<code>kanikoBuildCache</code><br/>
 <em>
-string
+bool
 </em>
 </td>
 <td>
@@ -2634,14 +2703,32 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.BuildCondition">BuildCondition
+<h3 id="camel.apache.org/v1.IntegrationPlatformBuildStrategy">IntegrationPlatformBuildStrategy
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>)
+</p>
+<div>
+<p>IntegrationPlatformBuildStrategy enumerates all implemented build strategies</p>
+</div>
+<h3 id="camel.apache.org/v1.IntegrationPlatformCluster">IntegrationPlatformCluster
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>)
+</p>
+<div>
+<p>IntegrationPlatformCluster is the kind of orchestration cluster the platform is installed into</p>
+</div>
+<h3 id="camel.apache.org/v1.IntegrationPlatformCondition">IntegrationPlatformCondition
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuildStatus">BuildStatus</a>)
+<a href="#camel.apache.org/v1.IntegrationPlatformStatus">IntegrationPlatformStatus</a>)
 </p>
 <div>
-<p>BuildCondition describes the state of a resource at a certain point.</p>
+<p>IntegrationPlatformCondition describes the state of a resource at a certain point.</p>
 </div>
 <table>
 <thead>
@@ -2655,8 +2742,8 @@ string
 <td>
 <code>type</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BuildConditionType">
-BuildConditionType
+<a href="#camel.apache.org/v1.IntegrationPlatformConditionType">
+IntegrationPlatformConditionType
 </a>
 </em>
 </td>
@@ -2727,32 +2814,23 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.BuildConditionType">BuildConditionType
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuildCondition">BuildCondition</a>)
-</p>
-<div>
-<p>BuildConditionType &ndash;</p>
-</div>
-<h3 id="camel.apache.org/v1.BuildPhase">BuildPhase
+<h3 id="camel.apache.org/v1.IntegrationPlatformConditionType">IntegrationPlatformConditionType
 (<code>string</code> alias)</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuildStatus">BuildStatus</a>)
+<a href="#camel.apache.org/v1.IntegrationPlatformCondition">IntegrationPlatformCondition</a>)
 </p>
 <div>
-<p>BuildPhase &ndash;</p>
+<p>IntegrationPlatformConditionType &ndash;</p>
 </div>
-<h3 id="camel.apache.org/v1.BuildSpec">BuildSpec
+<h3 id="camel.apache.org/v1.IntegrationPlatformKameletRepositorySpec">IntegrationPlatformKameletRepositorySpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Build">Build</a>)
+<a href="#camel.apache.org/v1.IntegrationPlatformKameletSpec">IntegrationPlatformKameletSpec</a>)
 </p>
 <div>
-<p>BuildSpec defines the Build to be executed</p>
+<p>IntegrationPlatformKameletRepositorySpec &ndash;</p>
 </div>
 <table>
 <thead>
@@ -2764,42 +2842,24 @@ string
 <tbody>
 <tr>
 <td>
-<code>tasks</code><br/>
-<em>
-<a href="#camel.apache.org/v1.Task">
-[]Task
-</a>
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>timeout</code><br/>
+<code>uri</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#duration-v1-meta">
-Kubernetes meta/v1.Duration
-</a>
+string
 </em>
 </td>
 <td>
-<p>Timeout defines the Build maximum execution duration.
-The Build deadline is set to the Build start time plus the Timeout duration.
-If the Build deadline is exceeded, the Build context is canceled,
-and its phase set to BuildPhaseFailed.</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.BuildStatus">BuildStatus
+<h3 id="camel.apache.org/v1.IntegrationPlatformKameletSpec">IntegrationPlatformKameletSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Build">Build</a>)
+<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>)
 </p>
 <div>
-<p>BuildStatus defines the observed state of Build</p>
+<p>IntegrationPlatformKameletSpec &ndash;</p>
 </div>
 <table>
 <thead>
@@ -2811,136 +2871,36 @@ and its phase set to BuildPhaseFailed.</p>
 <tbody>
 <tr>
 <td>
-<code>phase</code><br/>
-<em>
-<a href="#camel.apache.org/v1.BuildPhase">
-BuildPhase
-</a>
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>image</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>digest</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>baseImage</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>artifacts</code><br/>
-<em>
-<a href="#camel.apache.org/v1.Artifact">
-[]Artifact
-</a>
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>error</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>failure</code><br/>
-<em>
-<a href="#camel.apache.org/v1.Failure">
-Failure
-</a>
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>startedAt</code><br/>
-<em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
-</a>
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>platform</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>conditions</code><br/>
+<code>repositories</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BuildCondition">
-[]BuildCondition
+<a href="#camel.apache.org/v1.IntegrationPlatformKameletRepositorySpec">
+[]IntegrationPlatformKameletRepositorySpec
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-<tr>
-<td>
-<code>duration</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-<p>Change to Duration / ISO 8601 when CRD uses OpenAPI spec v3
-<a href="https://github.com/OAI/OpenAPI-Specification/issues/845">https://github.com/OAI/OpenAPI-Specification/issues/845</a></p>
-</td>
-</tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.BuildahTask">BuildahTask
+<h3 id="camel.apache.org/v1.IntegrationPlatformPhase">IntegrationPlatformPhase
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationPlatformStatus">IntegrationPlatformStatus</a>)
+</p>
+<div>
+<p>IntegrationPlatformPhase &ndash;</p>
+</div>
+<h3 id="camel.apache.org/v1.IntegrationPlatformRegistrySpec">IntegrationPlatformRegistrySpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Task">Task</a>)
+<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>, 
+<a href="#camel.apache.org/v1.PublishTask">PublishTask</a>)
 </p>
 <div>
-<p>BuildahTask &ndash;</p>
+<p>IntegrationPlatformRegistrySpec &ndash;</p>
 </div>
 <table>
 <thead>
@@ -2952,39 +2912,29 @@ string
 <tbody>
 <tr>
 <td>
-<code>BaseTask</code><br/>
+<code>insecure</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BaseTask">
-BaseTask
-</a>
+bool
 </em>
 </td>
 <td>
-<p>
-(Members of <code>BaseTask</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>PublishTask</code><br/>
+<code>address</code><br/>
 <em>
-<a href="#camel.apache.org/v1.PublishTask">
-PublishTask
-</a>
+string
 </em>
 </td>
 <td>
-<p>
-(Members of <code>PublishTask</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>verbose</code><br/>
+<code>secret</code><br/>
 <em>
-bool
+string
 </em>
 </td>
 <td>
@@ -2992,7 +2942,17 @@ bool
 </tr>
 <tr>
 <td>
-<code>httpProxySecret</code><br/>
+<code>ca</code><br/>
+<em>
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>organization</code><br/>
 <em>
 string
 </em>
@@ -3002,14 +2962,24 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.BuilderTask">BuilderTask
+<h3 id="camel.apache.org/v1.IntegrationPlatformResourcesSpec">IntegrationPlatformResourcesSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Task">Task</a>)
+<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>)
 </p>
 <div>
-<p>BuilderTask &ndash;</p>
+<p>IntegrationPlatformResourcesSpec contains platform related resources</p>
+</div>
+<h3 id="camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationPlatform">IntegrationPlatform</a>, 
+<a href="#camel.apache.org/v1.IntegrationPlatformStatus">IntegrationPlatformStatus</a>)
+</p>
+<div>
+<p>IntegrationPlatformSpec defines the desired state of IntegrationPlatform</p>
 </div>
 <table>
 <thead>
@@ -3021,35 +2991,22 @@ string
 <tbody>
 <tr>
 <td>
-<code>BaseTask</code><br/>
+<code>cluster</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BaseTask">
-BaseTask
+<a href="#camel.apache.org/v1.IntegrationPlatformCluster">
+IntegrationPlatformCluster
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>BaseTask</code> are embedded into this type.)
-</p>
-</td>
-</tr>
-<tr>
-<td>
-<code>baseImage</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
 </td>
 </tr>
 <tr>
 <td>
-<code>runtime</code><br/>
+<code>profile</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RuntimeSpec">
-RuntimeSpec
+<a href="#camel.apache.org/v1.TraitProfile">
+TraitProfile
 </a>
 </em>
 </td>
@@ -3058,10 +3015,10 @@ RuntimeSpec
 </tr>
 <tr>
 <td>
-<code>sources</code><br/>
+<code>build</code><br/>
 <em>
-<a href="#camel.apache.org/v1.SourceSpec">
-[]SourceSpec
+<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">
+IntegrationPlatformBuildSpec
 </a>
 </em>
 </td>
@@ -3072,8 +3029,8 @@ RuntimeSpec
 <td>
 <code>resources</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ResourceSpec">
-[]ResourceSpec
+<a href="#camel.apache.org/v1.IntegrationPlatformResourcesSpec">
+IntegrationPlatformResourcesSpec
 </a>
 </em>
 </td>
@@ -3082,19 +3039,11 @@ RuntimeSpec
 </tr>
 <tr>
 <td>
-<code>dependencies</code><br/>
-<em>
-[]string
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>steps</code><br/>
+<code>traits</code><br/>
 <em>
-[]string
+<a href="#camel.apache.org/v1.TraitSpec">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
+</a>
 </em>
 </td>
 <td>
@@ -3102,10 +3051,10 @@ RuntimeSpec
 </tr>
 <tr>
 <td>
-<code>maven</code><br/>
+<code>configuration</code><br/>
 <em>
-<a href="#camel.apache.org/v1.MavenSpec">
-MavenSpec
+<a href="#camel.apache.org/v1.ConfigurationSpec">
+[]ConfigurationSpec
 </a>
 </em>
 </td>
@@ -3114,9 +3063,11 @@ MavenSpec
 </tr>
 <tr>
 <td>
-<code>buildDir</code><br/>
+<code>kamelet</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.IntegrationPlatformKameletSpec">
+IntegrationPlatformKameletSpec
+</a>
 </em>
 </td>
 <td>
@@ -3124,14 +3075,14 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.CamelArtifact">CamelArtifact
+<h3 id="camel.apache.org/v1.IntegrationPlatformStatus">IntegrationPlatformStatus
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.CamelCatalogSpec">CamelCatalogSpec</a>)
+<a href="#camel.apache.org/v1.IntegrationPlatform">IntegrationPlatform</a>)
 </p>
 <div>
-<p>CamelArtifact &ndash;</p>
+<p>IntegrationPlatformStatus defines the observed state of IntegrationPlatform</p>
 </div>
 <table>
 <thead>
@@ -3143,25 +3094,25 @@ string
 <tbody>
 <tr>
 <td>
-<code>CamelArtifactDependency</code><br/>
+<code>IntegrationPlatformSpec</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelArtifactDependency">
-CamelArtifactDependency
+<a href="#camel.apache.org/v1.IntegrationPlatformSpec">
+IntegrationPlatformSpec
 </a>
 </em>
 </td>
 <td>
 <p>
-(Members of <code>CamelArtifactDependency</code> are embedded into this type.)
+(Members of <code>IntegrationPlatformSpec</code> are embedded into this type.)
 </p>
 </td>
 </tr>
 <tr>
 <td>
-<code>schemes</code><br/>
+<code>phase</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelScheme">
-[]CamelScheme
+<a href="#camel.apache.org/v1.IntegrationPlatformPhase">
+IntegrationPlatformPhase
 </a>
 </em>
 </td>
@@ -3170,30 +3121,10 @@ CamelArtifactDependency
 </tr>
 <tr>
 <td>
-<code>languages</code><br/>
-<em>
-[]string
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>dataformats</code><br/>
-<em>
-[]string
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>dependencies</code><br/>
+<code>conditions</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelArtifactDependency">
-[]CamelArtifactDependency
+<a href="#camel.apache.org/v1.IntegrationPlatformCondition">
+[]IntegrationPlatformCondition
 </a>
 </em>
 </td>
@@ -3202,9 +3133,9 @@ CamelArtifactDependency
 </tr>
 <tr>
 <td>
-<code>javaTypes</code><br/>
+<code>version</code><br/>
 <em>
-[]string
+string
 </em>
 </td>
 <td>
@@ -3212,15 +3143,15 @@ CamelArtifactDependency
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.CamelArtifactDependency">CamelArtifactDependency
+<h3 id="camel.apache.org/v1.IntegrationSpec">IntegrationSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.CamelArtifact">CamelArtifact</a>, 
-<a href="#camel.apache.org/v1.CamelSchemeScope">CamelSchemeScope</a>)
+<a href="#camel.apache.org/v1.Integration">Integration</a>, 
+<a href="#camel.apache.org/v1alpha1.KameletBindingSpec">KameletBindingSpec</a>)
 </p>
 <div>
-<p>CamelArtifactDependency represent a maven&rsquo;s dependency</p>
+<p>IntegrationSpec defines the desired state of Integration</p>
 </div>
 <table>
 <thead>
@@ -3232,95 +3163,89 @@ CamelArtifactDependency
 <tbody>
 <tr>
 <td>
-<code>MavenArtifact</code><br/>
+<code>replicas</code><br/>
 <em>
-<a href="#camel.apache.org/v1.MavenArtifact">
-MavenArtifact
+int32
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>sources</code><br/>
+<em>
+<a href="#camel.apache.org/v1.SourceSpec">
+[]SourceSpec
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>MavenArtifact</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>exclusions</code><br/>
+<code>flows</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelArtifactExclusion">
-[]CamelArtifactExclusion
+<a href="#camel.apache.org/v1.Flow">
+[]Flow
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.CamelArtifactExclusion">CamelArtifactExclusion
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.CamelArtifactDependency">CamelArtifactDependency</a>)
-</p>
-<div>
-<p>CamelArtifactExclusion &ndash;</p>
-</div>
-<table>
-<thead>
 <tr>
-<th>Field</th>
-<th>Description</th>
+<td>
+<code>resources</code><br/>
+<em>
+<a href="#camel.apache.org/v1.ResourceSpec">
+[]ResourceSpec
+</a>
+</em>
+</td>
+<td>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>groupId</code><br/>
+<code>kit</code><br/>
 <em>
 string
 </em>
 </td>
 <td>
+<p>Deprecated: use the IntegrationKit field</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>artifactId</code><br/>
+<code>integrationKit</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectreference-v1-core">
+Kubernetes core/v1.ObjectReference
+</a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.CamelCatalogSpec">CamelCatalogSpec
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.CamelCatalog">CamelCatalog</a>)
-</p>
-<div>
-<p>CamelCatalogSpec defines the desired state of CamelCatalog</p>
-</div>
-<table>
-<thead>
 <tr>
-<th>Field</th>
-<th>Description</th>
+<td>
+<code>dependencies</code><br/>
+<em>
+[]string
+</em>
+</td>
+<td>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>runtime</code><br/>
+<code>profile</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RuntimeSpec">
-RuntimeSpec
+<a href="#camel.apache.org/v1.TraitProfile">
+TraitProfile
 </a>
 </em>
 </td>
@@ -3329,10 +3254,10 @@ RuntimeSpec
 </tr>
 <tr>
 <td>
-<code>artifacts</code><br/>
+<code>traits</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelArtifact">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelArtifact
+<a href="#camel.apache.org/v1.TraitSpec">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 </a>
 </em>
 </td>
@@ -3341,62 +3266,31 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelArtifact
 </tr>
 <tr>
 <td>
-<code>loaders</code><br/>
+<code>template</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelLoader">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.CamelLoader
+<a href="#camel.apache.org/v1.PodSpecTemplate">
+PodSpecTemplate
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.CamelCatalogStatus">CamelCatalogStatus
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.CamelCatalog">CamelCatalog</a>)
-</p>
-<div>
-<p>CamelCatalogStatus defines the observed state of CamelCatalog</p>
-</div>
-<h3 id="camel.apache.org/v1.CamelLoader">CamelLoader
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.CamelCatalogSpec">CamelCatalogSpec</a>)
-</p>
-<div>
-<p>CamelLoader &ndash;</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>MavenArtifact</code><br/>
+<code>configuration</code><br/>
 <em>
-<a href="#camel.apache.org/v1.MavenArtifact">
-MavenArtifact
+<a href="#camel.apache.org/v1.ConfigurationSpec">
+[]ConfigurationSpec
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>MavenArtifact</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>languages</code><br/>
+<code>repositories</code><br/>
 <em>
 []string
 </em>
@@ -3406,11 +3300,9 @@ MavenArtifact
 </tr>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>serviceAccountName</code><br/>
 <em>
-<a href="#camel.apache.org/v1.MavenArtifact">
-[]MavenArtifact
-</a>
+string
 </em>
 </td>
 <td>
@@ -3418,14 +3310,14 @@ MavenArtifact
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.CamelScheme">CamelScheme
+<h3 id="camel.apache.org/v1.IntegrationStatus">IntegrationStatus
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.CamelArtifact">CamelArtifact</a>)
+<a href="#camel.apache.org/v1.Integration">Integration</a>)
 </p>
 <div>
-<p>CamelScheme &ndash;</p>
+<p>IntegrationStatus defines the observed state of Integration</p>
 </div>
 <table>
 <thead>
@@ -3437,9 +3329,11 @@ MavenArtifact
 <tbody>
 <tr>
 <td>
-<code>id</code><br/>
+<code>phase</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.IntegrationPhase">
+IntegrationPhase
+</a>
 </em>
 </td>
 <td>
@@ -3447,9 +3341,9 @@ string
 </tr>
 <tr>
 <td>
-<code>passive</code><br/>
+<code>digest</code><br/>
 <em>
-bool
+string
 </em>
 </td>
 <td>
@@ -3457,9 +3351,9 @@ bool
 </tr>
 <tr>
 <td>
-<code>http</code><br/>
+<code>image</code><br/>
 <em>
-bool
+string
 </em>
 </td>
 <td>
@@ -3467,11 +3361,9 @@ bool
 </tr>
 <tr>
 <td>
-<code>consumer</code><br/>
+<code>dependencies</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelSchemeScope">
-CamelSchemeScope
-</a>
+[]string
 </em>
 </td>
 <td>
@@ -3479,72 +3371,33 @@ CamelSchemeScope
 </tr>
 <tr>
 <td>
-<code>producer</code><br/>
+<code>profile</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelSchemeScope">
-CamelSchemeScope
+<a href="#camel.apache.org/v1.TraitProfile">
+TraitProfile
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.CamelSchemeScope">CamelSchemeScope
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.CamelScheme">CamelScheme</a>)
-</p>
-<div>
-<p>CamelSchemeScope contains scoped information about a scheme</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>kit</code><br/>
 <em>
-<a href="#camel.apache.org/v1.CamelArtifactDependency">
-[]CamelArtifactDependency
-</a>
+string
 </em>
 </td>
 <td>
+<p>Deprecated: use the IntegrationKit field</p>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.Capability">Capability
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.RuntimeSpec">RuntimeSpec</a>)
-</p>
-<div>
-<p>Capability &ndash;</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>integrationKit</code><br/>
 <em>
-<a href="#camel.apache.org/v1.MavenArtifact">
-[]MavenArtifact
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectreference-v1-core">
+Kubernetes core/v1.ObjectReference
 </a>
 </em>
 </td>
@@ -3553,44 +3406,7 @@ CamelSchemeScope
 </tr>
 <tr>
 <td>
-<code>metadata</code><br/>
-<em>
-map[string]string
-</em>
-</td>
-<td>
-</td>
-</tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.Configurable">Configurable
-</h3>
-<div>
-<p>Configurable &ndash;</p>
-</div>
-<h3 id="camel.apache.org/v1.ConfigurationSpec">ConfigurationSpec
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationKitSpec">IntegrationKitSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
-</p>
-<div>
-<p>ConfigurationSpec &ndash;</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>
-<code>type</code><br/>
+<code>platform</code><br/>
 <em>
 string
 </em>
@@ -3600,9 +3416,11 @@ string
 </tr>
 <tr>
 <td>
-<code>value</code><br/>
+<code>generatedSources</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.SourceSpec">
+[]SourceSpec
+</a>
 </em>
 </td>
 <td>
@@ -3610,9 +3428,11 @@ string
 </tr>
 <tr>
 <td>
-<code>resourceType</code><br/>
+<code>generatedResources</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.ResourceSpec">
+[]ResourceSpec
+</a>
 </em>
 </td>
 <td>
@@ -3620,7 +3440,7 @@ string
 </tr>
 <tr>
 <td>
-<code>resourceMountPoint</code><br/>
+<code>runtimeVersion</code><br/>
 <em>
 string
 </em>
@@ -3630,39 +3450,23 @@ string
 </tr>
 <tr>
 <td>
-<code>resourceKey</code><br/>
+<code>runtimeProvider</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.RuntimeProvider">
+RuntimeProvider
+</a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.DataSpec">DataSpec
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.ResourceSpec">ResourceSpec</a>, 
-<a href="#camel.apache.org/v1.SourceSpec">SourceSpec</a>)
-</p>
-<div>
-<p>DataSpec &ndash;</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>name</code><br/>
+<code>configuration</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.ConfigurationSpec">
+[]ConfigurationSpec
+</a>
 </em>
 </td>
 <td>
@@ -3670,9 +3474,11 @@ string
 </tr>
 <tr>
 <td>
-<code>path</code><br/>
+<code>conditions</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.IntegrationCondition">
+[]IntegrationCondition
+</a>
 </em>
 </td>
 <td>
@@ -3680,7 +3486,7 @@ string
 </tr>
 <tr>
 <td>
-<code>content</code><br/>
+<code>version</code><br/>
 <em>
 string
 </em>
@@ -3690,19 +3496,9 @@ string
 </tr>
 <tr>
 <td>
-<code>rawContent</code><br/>
-<em>
-[]byte
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>contentRef</code><br/>
+<code>replicas</code><br/>
 <em>
-string
+int32
 </em>
 </td>
 <td>
@@ -3710,7 +3506,7 @@ string
 </tr>
 <tr>
 <td>
-<code>contentKey</code><br/>
+<code>selector</code><br/>
 <em>
 string
 </em>
@@ -3720,9 +3516,9 @@ string
 </tr>
 <tr>
 <td>
-<code>contentType</code><br/>
+<code>capabilities</code><br/>
 <em>
-string
+[]string
 </em>
 </td>
 <td>
@@ -3730,25 +3526,27 @@ string
 </tr>
 <tr>
 <td>
-<code>compression</code><br/>
+<code>lastInitTimestamp</code><br/>
 <em>
-bool
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
 </em>
 </td>
 <td>
+<p>The timestamp representing the last time when this integration was initialized.</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.Failure">Failure
+<h3 id="camel.apache.org/v1.KanikoTask">KanikoTask
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuildStatus">BuildStatus</a>, 
-<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>)
+<a href="#camel.apache.org/v1.Task">Task</a>)
 </p>
 <div>
-<p>Failure &ndash;</p>
+<p>KanikoTask &ndash;</p>
 </div>
 <table>
 <thead>
@@ -3760,32 +3558,60 @@ bool
 <tbody>
 <tr>
 <td>
-<code>reason</code><br/>
+<code>BaseTask</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.BaseTask">
+BaseTask
+</a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>BaseTask</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>time</code><br/>
+<code>PublishTask</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+<a href="#camel.apache.org/v1.PublishTask">
+PublishTask
 </a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>PublishTask</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>recovery</code><br/>
+<code>verbose</code><br/>
 <em>
-<a href="#camel.apache.org/v1.FailureRecovery">
-FailureRecovery
+bool
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>httpProxySecret</code><br/>
+<em>
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>cache</code><br/>
+<em>
+<a href="#camel.apache.org/v1.KanikoTaskCache">
+KanikoTaskCache
 </a>
 </em>
 </td>
@@ -3794,14 +3620,14 @@ FailureRecovery
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.FailureRecovery">FailureRecovery
+<h3 id="camel.apache.org/v1.KanikoTaskCache">KanikoTaskCache
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Failure">Failure</a>)
+<a href="#camel.apache.org/v1.KanikoTask">KanikoTask</a>)
 </p>
 <div>
-<p>FailureRecovery &ndash;</p>
+<p>KanikoTaskCache &ndash;</p>
 </div>
 <table>
 <thead>
@@ -3813,19 +3639,9 @@ FailureRecovery
 <tbody>
 <tr>
 <td>
-<code>attempt</code><br/>
-<em>
-int
-</em>
-</td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<code>attemptMax</code><br/>
+<code>enabled</code><br/>
 <em>
-int
+bool
 </em>
 </td>
 <td>
@@ -3833,28 +3649,37 @@ int
 </tr>
 <tr>
 <td>
-<code>attemptTime</code><br/>
+<code>persistentVolumeClaim</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
-</a>
+string
 </em>
 </td>
 <td>
-<em>(Optional)</em>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.Flow">Flow
+<h3 id="camel.apache.org/v1.Language">Language
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.SourceSpec">SourceSpec</a>)
+</p>
+<div>
+<p>Language &ndash;</p>
+</div>
+<h3 id="camel.apache.org/v1.MavenArtifact">MavenArtifact
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
-<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
+<a href="#camel.apache.org/v1.CamelArtifactDependency">CamelArtifactDependency</a>, 
+<a href="#camel.apache.org/v1.CamelLoader">CamelLoader</a>, 
+<a href="#camel.apache.org/v1.Capability">Capability</a>, 
+<a href="#camel.apache.org/v1.MavenSpec">MavenSpec</a>, 
+<a href="#camel.apache.org/v1.RuntimeSpec">RuntimeSpec</a>)
 </p>
 <div>
-<p>Flow is an unstructured object representing a Camel Flow in YAML/JSON DSL</p>
+<p>MavenArtifact &ndash;</p>
 </div>
 <table>
 <thead>
@@ -3866,29 +3691,45 @@ Kubernetes meta/v1.Time
 <tbody>
 <tr>
 <td>
-<code>RawMessage</code><br/>
+<code>groupId</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RawMessage">
-RawMessage
-</a>
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>artifactId</code><br/>
+<em>
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>version</code><br/>
+<em>
+string
 </em>
 </td>
 <td>
-<p>
-(Members of <code>RawMessage</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationCondition">IntegrationCondition
+<h3 id="camel.apache.org/v1.MavenSpec">MavenSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
+<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
+<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>)
 </p>
 <div>
-<p>IntegrationCondition describes the state of a resource at a certain point.</p>
+<p>MavenSpec &ndash;</p>
 </div>
 <table>
 <thead>
@@ -3900,110 +3741,110 @@ RawMessage
 <tbody>
 <tr>
 <td>
-<code>type</code><br/>
+<code>localRepository</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationConditionType">
-IntegrationConditionType
-</a>
+string
 </em>
 </td>
 <td>
-<p>Type of integration condition.</p>
+<p>The path of the local Maven repository.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>properties</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
-Kubernetes core/v1.ConditionStatus
-</a>
+map[string]string
 </em>
 </td>
 <td>
-<p>Status of the condition, one of True, False, Unknown.</p>
+<p>The Maven properties.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>lastUpdateTime</code><br/>
+<code>settings</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+<a href="#camel.apache.org/v1.ValueSource">
+ValueSource
 </a>
 </em>
 </td>
 <td>
-<p>The last time this condition was updated.</p>
+<p>A reference to the ConfigMap or Secret key that contains
+the Maven settings.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>lastTransitionTime</code><br/>
+<code>caSecret</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#secretkeyselector-v1-core">
+Kubernetes core/v1.SecretKeySelector
 </a>
 </em>
 </td>
 <td>
-<p>Last time the condition transitioned from one status to another.</p>
+<p>The Secret name and key, containing the CA certificate(s) used to connect
+to remote Maven repositories.
+It can contain X.509 certificates, and PKCS#7 formatted certificate chains.
+A JKS formatted keystore is automatically created to store the CA certificate(s),
+and configured to be used as a trusted certificate(s) by the Maven commands.
+Note that the root CA certificates are also imported into the created keystore.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>firstTruthyTime</code><br/>
+<code>timeout</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#duration-v1-meta">
+Kubernetes meta/v1.Duration
 </a>
 </em>
 </td>
 <td>
-<p>First time the condition status transitioned to True.</p>
+<p>Deprecated: use IntegrationPlatform.Spec.Build.Timeout instead</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>reason</code><br/>
+<code>repositories</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.Repository">
+[]Repository
+</a>
 </em>
 </td>
 <td>
-<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>message</code><br/>
+<code>extension</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.MavenArtifact">
+[]MavenArtifact
+</a>
 </em>
 </td>
 <td>
-<p>A human readable message indicating details about the transition.</p>
+<p>Maven build extensions <a href="https://maven.apache.org/guides/mini/guide-using-extensions.html">https://maven.apache.org/guides/mini/guide-using-extensions.html</a></p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationConditionType">IntegrationConditionType
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationCondition">IntegrationCondition</a>)
-</p>
+<h3 id="camel.apache.org/v1.PlatformInjectable">PlatformInjectable
+</h3>
 <div>
-<p>IntegrationConditionType &ndash;</p>
+<p>PlatformInjectable &ndash;</p>
 </div>
-<h3 id="camel.apache.org/v1.IntegrationKitCondition">IntegrationKitCondition
+<h3 id="camel.apache.org/v1.PodSpec">PodSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>)
+<a href="#camel.apache.org/v1.PodSpecTemplate">PodSpecTemplate</a>)
 </p>
 <div>
-<p>IntegrationKitCondition describes the state of a resource at a certain point.</p>
 </div>
 <table>
 <thead>
@@ -4011,110 +3852,131 @@ string
 <th>Field</th>
 <th>Description</th>
 </tr>
-</thead>
-<tbody>
+</thead>
+<tbody>
+<tr>
+<td>
+<code>volumes</code><br/>
+<em>
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#volume-v1-core">
+[]Kubernetes core/v1.Volume
+</a>
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>initContainers</code><br/>
+<em>
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#container-v1-core">
+[]Kubernetes core/v1.Container
+</a>
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>containers</code><br/>
+<em>
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#container-v1-core">
+[]Kubernetes core/v1.Container
+</a>
+</em>
+</td>
+<td>
+</td>
+</tr>
 <tr>
 <td>
-<code>type</code><br/>
+<code>ephemeralContainers</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationKitConditionType">
-IntegrationKitConditionType
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#ephemeralcontainer-v1-core">
+[]Kubernetes core/v1.EphemeralContainer
 </a>
 </em>
 </td>
 <td>
-<p>Type of integration condition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>restartPolicy</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
-Kubernetes core/v1.ConditionStatus
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#restartpolicy-v1-core">
+Kubernetes core/v1.RestartPolicy
 </a>
 </em>
 </td>
 <td>
-<p>Status of the condition, one of True, False, Unknown.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>lastUpdateTime</code><br/>
+<code>terminationGracePeriodSeconds</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
-</a>
+int64
 </em>
 </td>
 <td>
-<p>The last time this condition was updated.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>lastTransitionTime</code><br/>
+<code>activeDeadlineSeconds</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+int64
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>dnsPolicy</code><br/>
+<em>
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#dnspolicy-v1-core">
+Kubernetes core/v1.DNSPolicy
 </a>
 </em>
 </td>
 <td>
-<p>Last time the condition transitioned from one status to another.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>reason</code><br/>
+<code>nodeSelector</code><br/>
 <em>
-string
+map[string]string
 </em>
 </td>
 <td>
-<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>message</code><br/>
+<code>topologySpreadConstraints</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#topologyspreadconstraint-v1-core">
+[]Kubernetes core/v1.TopologySpreadConstraint
+</a>
 </em>
 </td>
 <td>
-<p>A human readable message indicating details about the transition.</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationKitConditionType">IntegrationKitConditionType
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationKitCondition">IntegrationKitCondition</a>)
-</p>
-<div>
-<p>IntegrationKitConditionType &ndash;</p>
-</div>
-<h3 id="camel.apache.org/v1.IntegrationKitPhase">IntegrationKitPhase
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>)
-</p>
-<div>
-<p>IntegrationKitPhase &ndash;</p>
-</div>
-<h3 id="camel.apache.org/v1.IntegrationKitSpec">IntegrationKitSpec
+<h3 id="camel.apache.org/v1.PodSpecTemplate">PodSpecTemplate
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationKit">IntegrationKit</a>)
+<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>)
 </p>
 <div>
-<p>IntegrationKitSpec defines the desired state of IntegrationKit</p>
 </div>
 <table>
 <thead>
@@ -4126,19 +3988,24 @@ string
 <tbody>
 <tr>
 <td>
-<code>image</code><br/>
+<code>spec</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.PodSpec">
+PodSpec
+</a>
 </em>
 </td>
 <td>
-</td>
-</tr>
+<br/>
+<br/>
+<table>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>volumes</code><br/>
 <em>
-[]string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#volume-v1-core">
+[]Kubernetes core/v1.Volume
+</a>
 </em>
 </td>
 <td>
@@ -4146,10 +4013,10 @@ string
 </tr>
 <tr>
 <td>
-<code>profile</code><br/>
+<code>initContainers</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitProfile">
-TraitProfile
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#container-v1-core">
+[]Kubernetes core/v1.Container
 </a>
 </em>
 </td>
@@ -4158,10 +4025,10 @@ TraitProfile
 </tr>
 <tr>
 <td>
-<code>traits</code><br/>
+<code>containers</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitSpec">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#container-v1-core">
+[]Kubernetes core/v1.Container
 </a>
 </em>
 </td>
@@ -4170,10 +4037,10 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 </tr>
 <tr>
 <td>
-<code>configuration</code><br/>
+<code>ephemeralContainers</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ConfigurationSpec">
-[]ConfigurationSpec
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#ephemeralcontainer-v1-core">
+[]Kubernetes core/v1.EphemeralContainer
 </a>
 </em>
 </td>
@@ -4182,40 +4049,21 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 </tr>
 <tr>
 <td>
-<code>repositories</code><br/>
+<code>restartPolicy</code><br/>
 <em>
-[]string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#restartpolicy-v1-core">
+Kubernetes core/v1.RestartPolicy
+</a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationKit">IntegrationKit</a>)
-</p>
-<div>
-<p>IntegrationKitStatus defines the observed state of IntegrationKit</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>phase</code><br/>
+<code>terminationGracePeriodSeconds</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationKitPhase">
-IntegrationKitPhase
-</a>
+int64
 </em>
 </td>
 <td>
@@ -4223,9 +4071,9 @@ IntegrationKitPhase
 </tr>
 <tr>
 <td>
-<code>baseImage</code><br/>
+<code>activeDeadlineSeconds</code><br/>
 <em>
-string
+int64
 </em>
 </td>
 <td>
@@ -4233,9 +4081,11 @@ string
 </tr>
 <tr>
 <td>
-<code>image</code><br/>
+<code>dnsPolicy</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#dnspolicy-v1-core">
+Kubernetes core/v1.DNSPolicy
+</a>
 </em>
 </td>
 <td>
@@ -4243,9 +4093,9 @@ string
 </tr>
 <tr>
 <td>
-<code>digest</code><br/>
+<code>nodeSelector</code><br/>
 <em>
-string
+map[string]string
 </em>
 </td>
 <td>
@@ -4253,31 +4103,43 @@ string
 </tr>
 <tr>
 <td>
-<code>artifacts</code><br/>
+<code>topologySpreadConstraints</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Artifact">
-[]Artifact
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#topologyspreadconstraint-v1-core">
+[]Kubernetes core/v1.TopologySpreadConstraint
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-<tr>
-<td>
-<code>failure</code><br/>
-<em>
-<a href="#camel.apache.org/v1.Failure">
-Failure
-</a>
-</em>
-</td>
-<td>
+</table>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.PublishTask">PublishTask
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.BuildahTask">BuildahTask</a>, 
+<a href="#camel.apache.org/v1.KanikoTask">KanikoTask</a>, 
+<a href="#camel.apache.org/v1.SpectrumTask">SpectrumTask</a>)
+</p>
+<div>
+<p>PublishTask &ndash;</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>runtimeVersion</code><br/>
+<code>contextDir</code><br/>
 <em>
 string
 </em>
@@ -4287,11 +4149,9 @@ string
 </tr>
 <tr>
 <td>
-<code>runtimeProvider</code><br/>
+<code>baseImage</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RuntimeProvider">
-RuntimeProvider
-</a>
+string
 </em>
 </td>
 <td>
@@ -4299,7 +4159,7 @@ RuntimeProvider
 </tr>
 <tr>
 <td>
-<code>platform</code><br/>
+<code>image</code><br/>
 <em>
 string
 </em>
@@ -4309,54 +4169,44 @@ string
 </tr>
 <tr>
 <td>
-<code>conditions</code><br/>
+<code>registry</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationKitCondition">
-[]IntegrationKitCondition
+<a href="#camel.apache.org/v1.IntegrationPlatformRegistrySpec">
+IntegrationPlatformRegistrySpec
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-<tr>
-<td>
-<code>version</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-</td>
-</tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationPhase">IntegrationPhase
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
-</p>
-<div>
-<p>IntegrationPhase &ndash;</p>
-</div>
-<h3 id="camel.apache.org/v1.IntegrationPlatformBuildPublishStrategy">IntegrationPlatformBuildPublishStrategy
-(<code>string</code> alias)</h3>
+<h3 id="camel.apache.org/v1.RawMessage">RawMessage
+(<code>[]byte</code> alias)</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>)
+<a href="#camel.apache.org/v1alpha1.BeanProperties">BeanProperties</a>, 
+<a href="#camel.apache.org/v1alpha1.EndpointProperties">EndpointProperties</a>, 
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerParameters">ErrorHandlerParameters</a>, 
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerRef">ErrorHandlerRef</a>, 
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerSpec">ErrorHandlerSpec</a>, 
+<a href="#camel.apache.org/v1.Flow">Flow</a>, 
+<a href="#camel.apache.org/v1.Template">Template</a>, 
+<a href="#camel.apache.org/v1.TraitConfiguration">TraitConfiguration</a>)
 </p>
 <div>
-<p>IntegrationPlatformBuildPublishStrategy enumerates all implemented publish strategies</p>
+<p>RawMessage is a raw encoded JSON value.
+It implements Marshaler and Unmarshaler and can
+be used to delay JSON decoding or precompute a JSON encoding.</p>
 </div>
-<h3 id="camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec
+<h3 id="camel.apache.org/v1.Repository">Repository
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>)
+<a href="#camel.apache.org/v1.MavenSpec">MavenSpec</a>)
 </p>
 <div>
-<p>IntegrationPlatformBuildSpec contains platform related build information</p>
+<p>Repository &ndash;</p>
 </div>
 <table>
 <thead>
@@ -4368,11 +4218,9 @@ string
 <tbody>
 <tr>
 <td>
-<code>buildStrategy</code><br/>
+<code>id</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformBuildStrategy">
-IntegrationPlatformBuildStrategy
-</a>
+string
 </em>
 </td>
 <td>
@@ -4380,11 +4228,9 @@ IntegrationPlatformBuildStrategy
 </tr>
 <tr>
 <td>
-<code>publishStrategy</code><br/>
+<code>name</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformBuildPublishStrategy">
-IntegrationPlatformBuildPublishStrategy
-</a>
+string
 </em>
 </td>
 <td>
@@ -4392,7 +4238,7 @@ IntegrationPlatformBuildPublishStrategy
 </tr>
 <tr>
 <td>
-<code>runtimeVersion</code><br/>
+<code>url</code><br/>
 <em>
 string
 </em>
@@ -4402,10 +4248,10 @@ string
 </tr>
 <tr>
 <td>
-<code>runtimeProvider</code><br/>
+<code>snapshots</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RuntimeProvider">
-RuntimeProvider
+<a href="#camel.apache.org/v1.RepositoryPolicy">
+RepositoryPolicy
 </a>
 </em>
 </td>
@@ -4414,21 +4260,40 @@ RuntimeProvider
 </tr>
 <tr>
 <td>
-<code>baseImage</code><br/>
+<code>releases</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.RepositoryPolicy">
+RepositoryPolicy
+</a>
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.RepositoryPolicy">RepositoryPolicy
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.Repository">Repository</a>)
+</p>
+<div>
+<p>RepositoryPolicy &ndash;</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>registry</code><br/>
+<code>enabled</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformRegistrySpec">
-IntegrationPlatformRegistrySpec
-</a>
+bool
 </em>
 </td>
 <td>
@@ -4436,11 +4301,9 @@ IntegrationPlatformRegistrySpec
 </tr>
 <tr>
 <td>
-<code>timeout</code><br/>
+<code>updatePolicy</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#duration-v1-meta">
-Kubernetes meta/v1.Duration
-</a>
+string
 </em>
 </td>
 <td>
@@ -4448,7 +4311,7 @@ Kubernetes meta/v1.Duration
 </tr>
 <tr>
 <td>
-<code>persistentVolumeClaim</code><br/>
+<code>checksumPolicy</code><br/>
 <em>
 string
 </em>
@@ -4456,23 +4319,54 @@ string
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.ResourceCondition">ResourceCondition
+</h3>
+<div>
+<p>ResourceCondition is a common type for all conditions</p>
+</div>
+<h3 id="camel.apache.org/v1.ResourceSpec">ResourceSpec
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
+<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
+</p>
+<div>
+<p>ResourceSpec &ndash;</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>maven</code><br/>
+<code>DataSpec</code><br/>
 <em>
-<a href="#camel.apache.org/v1.MavenSpec">
-MavenSpec
+<a href="#camel.apache.org/v1.DataSpec">
+DataSpec
 </a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>DataSpec</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>httpProxySecret</code><br/>
+<code>type</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.ResourceType">
+ResourceType
+</a>
 </em>
 </td>
 <td>
@@ -4480,9 +4374,9 @@ string
 </tr>
 <tr>
 <td>
-<code>kanikoBuildCache</code><br/>
+<code>mountPath</code><br/>
 <em>
-bool
+string
 </em>
 </td>
 <td>
@@ -4490,32 +4384,36 @@ bool
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationPlatformBuildStrategy">IntegrationPlatformBuildStrategy
+<h3 id="camel.apache.org/v1.ResourceType">ResourceType
 (<code>string</code> alias)</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>)
+<a href="#camel.apache.org/v1.ResourceSpec">ResourceSpec</a>)
 </p>
 <div>
-<p>IntegrationPlatformBuildStrategy enumerates all implemented build strategies</p>
+<p>ResourceType &ndash;</p>
 </div>
-<h3 id="camel.apache.org/v1.IntegrationPlatformCluster">IntegrationPlatformCluster
+<h3 id="camel.apache.org/v1.RuntimeProvider">RuntimeProvider
 (<code>string</code> alias)</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>)
+<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>, 
+<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>, 
+<a href="#camel.apache.org/v1.RuntimeSpec">RuntimeSpec</a>)
 </p>
 <div>
-<p>IntegrationPlatformCluster is the kind of orchestration cluster the platform is installed into</p>
+<p>RuntimeProvider &ndash;</p>
 </div>
-<h3 id="camel.apache.org/v1.IntegrationPlatformCondition">IntegrationPlatformCondition
+<h3 id="camel.apache.org/v1.RuntimeSpec">RuntimeSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformStatus">IntegrationPlatformStatus</a>)
+<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
+<a href="#camel.apache.org/v1.CamelCatalogSpec">CamelCatalogSpec</a>)
 </p>
 <div>
-<p>IntegrationPlatformCondition describes the state of a resource at a certain point.</p>
+<p>RuntimeSpec &ndash;</p>
 </div>
 <table>
 <thead>
@@ -4527,97 +4425,80 @@ bool
 <tbody>
 <tr>
 <td>
-<code>type</code><br/>
+<code>version</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformConditionType">
-IntegrationPlatformConditionType
-</a>
+string
 </em>
 </td>
 <td>
-<p>Type of integration condition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>status</code><br/>
+<code>provider</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
-Kubernetes core/v1.ConditionStatus
+<a href="#camel.apache.org/v1.RuntimeProvider">
+RuntimeProvider
 </a>
 </em>
 </td>
 <td>
-<p>Status of the condition, one of True, False, Unknown.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>lastUpdateTime</code><br/>
+<code>applicationClass</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
-</a>
+string
 </em>
 </td>
 <td>
-<p>The last time this condition was updated.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>lastTransitionTime</code><br/>
+<code>dependencies</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+<a href="#camel.apache.org/v1.MavenArtifact">
+[]MavenArtifact
 </a>
 </em>
 </td>
 <td>
-<p>Last time the condition transitioned from one status to another.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>reason</code><br/>
+<code>metadata</code><br/>
 <em>
-string
+map[string]string
 </em>
 </td>
 <td>
-<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>message</code><br/>
+<code>capabilities</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.Capability">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1.Capability
+</a>
 </em>
 </td>
 <td>
-<p>A human readable message indicating details about the transition.</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationPlatformConditionType">IntegrationPlatformConditionType
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformCondition">IntegrationPlatformCondition</a>)
-</p>
-<div>
-<p>IntegrationPlatformConditionType &ndash;</p>
-</div>
-<h3 id="camel.apache.org/v1.IntegrationPlatformKameletRepositorySpec">IntegrationPlatformKameletRepositorySpec
+<h3 id="camel.apache.org/v1.S2iTask">S2iTask
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformKameletSpec">IntegrationPlatformKameletSpec</a>)
+<a href="#camel.apache.org/v1.Task">Task</a>)
 </p>
 <div>
-<p>IntegrationPlatformKameletRepositorySpec &ndash;</p>
+<p>S2iTask &ndash;</p>
 </div>
 <table>
 <thead>
@@ -4629,7 +4510,32 @@ string
 <tbody>
 <tr>
 <td>
-<code>uri</code><br/>
+<code>BaseTask</code><br/>
+<em>
+<a href="#camel.apache.org/v1.BaseTask">
+BaseTask
+</a>
+</em>
+</td>
+<td>
+<p>
+(Members of <code>BaseTask</code> are embedded into this type.)
+</p>
+</td>
+</tr>
+<tr>
+<td>
+<code>contextDir</code><br/>
+<em>
+string
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>tag</code><br/>
 <em>
 string
 </em>
@@ -4639,14 +4545,17 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationPlatformKameletSpec">IntegrationPlatformKameletSpec
+<h3 id="camel.apache.org/v1.SourceSpec">SourceSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>)
+<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
+<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>, 
+<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
 </p>
 <div>
-<p>IntegrationPlatformKameletSpec &ndash;</p>
+<p>SourceSpec &ndash;</p>
 </div>
 <table>
 <thead>
@@ -4658,50 +4567,26 @@ string
 <tbody>
 <tr>
 <td>
-<code>repositories</code><br/>
+<code>DataSpec</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformKameletRepositorySpec">
-[]IntegrationPlatformKameletRepositorySpec
+<a href="#camel.apache.org/v1.DataSpec">
+DataSpec
 </a>
 </em>
 </td>
 <td>
-</td>
-</tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.IntegrationPlatformPhase">IntegrationPlatformPhase
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformStatus">IntegrationPlatformStatus</a>)
-</p>
-<div>
-<p>IntegrationPlatformPhase &ndash;</p>
-</div>
-<h3 id="camel.apache.org/v1.IntegrationPlatformRegistrySpec">IntegrationPlatformRegistrySpec
-</h3>
 <p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>, 
-<a href="#camel.apache.org/v1.PublishTask">PublishTask</a>)
+(Members of <code>DataSpec</code> are embedded into this type.)
 </p>
-<div>
-<p>IntegrationPlatformRegistrySpec &ndash;</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>insecure</code><br/>
+<code>language</code><br/>
 <em>
-bool
+<a href="#camel.apache.org/v1.Language">
+Language
+</a>
 </em>
 </td>
 <td>
@@ -4709,64 +4594,70 @@ bool
 </tr>
 <tr>
 <td>
-<code>address</code><br/>
+<code>loader</code><br/>
 <em>
 string
 </em>
 </td>
 <td>
+<p>Loader is an optional id of the org.apache.camel.k.RoutesLoader that will
+interpret this source at runtime</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>secret</code><br/>
+<code>interceptors</code><br/>
 <em>
-string
+[]string
 </em>
 </td>
 <td>
+<p>Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader
+uses to pre/post process sources</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>ca</code><br/>
+<code>type</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.SourceType">
+SourceType
+</a>
 </em>
 </td>
 <td>
+<p>Type defines the kind of source described by this object</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>organization</code><br/>
+<code>property-names</code><br/>
 <em>
-string
+[]string
 </em>
 </td>
 <td>
+<p>List of property names defined in the source (e.g. if type is &ldquo;template&rdquo;)</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationPlatformResourcesSpec">IntegrationPlatformResourcesSpec
-</h3>
+<h3 id="camel.apache.org/v1.SourceType">SourceType
+(<code>string</code> alias)</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>)
+<a href="#camel.apache.org/v1.SourceSpec">SourceSpec</a>)
 </p>
 <div>
-<p>IntegrationPlatformResourcesSpec contains platform related resources</p>
 </div>
-<h3 id="camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec
+<h3 id="camel.apache.org/v1.SpectrumTask">SpectrumTask
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatform">IntegrationPlatform</a>, 
-<a href="#camel.apache.org/v1.IntegrationPlatformStatus">IntegrationPlatformStatus</a>)
+<a href="#camel.apache.org/v1.Task">Task</a>)
 </p>
 <div>
-<p>IntegrationPlatformSpec defines the desired state of IntegrationPlatform</p>
+<p>SpectrumTask &ndash;</p>
 </div>
 <table>
 <thead>
@@ -4778,34 +4669,59 @@ string
 <tbody>
 <tr>
 <td>
-<code>cluster</code><br/>
+<code>BaseTask</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformCluster">
-IntegrationPlatformCluster
+<a href="#camel.apache.org/v1.BaseTask">
+BaseTask
 </a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>BaseTask</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>profile</code><br/>
+<code>PublishTask</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitProfile">
-TraitProfile
+<a href="#camel.apache.org/v1.PublishTask">
+PublishTask
 </a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>PublishTask</code> are embedded into this type.)
+</p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.Task">Task
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.BuildSpec">BuildSpec</a>)
+</p>
+<div>
+<p>Task &ndash;</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>build</code><br/>
+<code>builder</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">
-IntegrationPlatformBuildSpec
+<a href="#camel.apache.org/v1.BuilderTask">
+BuilderTask
 </a>
 </em>
 </td>
@@ -4814,10 +4730,10 @@ IntegrationPlatformBuildSpec
 </tr>
 <tr>
 <td>
-<code>resources</code><br/>
+<code>buildah</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformResourcesSpec">
-IntegrationPlatformResourcesSpec
+<a href="#camel.apache.org/v1.BuildahTask">
+BuildahTask
 </a>
 </em>
 </td>
@@ -4826,10 +4742,10 @@ IntegrationPlatformResourcesSpec
 </tr>
 <tr>
 <td>
-<code>traits</code><br/>
+<code>kaniko</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitSpec">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
+<a href="#camel.apache.org/v1.KanikoTask">
+KanikoTask
 </a>
 </em>
 </td>
@@ -4838,10 +4754,10 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 </tr>
 <tr>
 <td>
-<code>configuration</code><br/>
+<code>spectrum</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ConfigurationSpec">
-[]ConfigurationSpec
+<a href="#camel.apache.org/v1.SpectrumTask">
+SpectrumTask
 </a>
 </em>
 </td>
@@ -4850,10 +4766,10 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
 </tr>
 <tr>
 <td>
-<code>kamelet</code><br/>
+<code>s2i</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformKameletSpec">
-IntegrationPlatformKameletSpec
+<a href="#camel.apache.org/v1.S2iTask">
+S2iTask
 </a>
 </em>
 </td>
@@ -4862,14 +4778,14 @@ IntegrationPlatformKameletSpec
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationPlatformStatus">IntegrationPlatformStatus
+<h3 id="camel.apache.org/v1.Template">Template
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationPlatform">IntegrationPlatform</a>)
+<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
 </p>
 <div>
-<p>IntegrationPlatformStatus defines the observed state of IntegrationPlatform</p>
+<p>Template is an unstructured object representing a Kamelet template in YAML/JSON DSL</p>
 </div>
 <table>
 <thead>
@@ -4881,64 +4797,108 @@ IntegrationPlatformKameletSpec
 <tbody>
 <tr>
 <td>
-<code>IntegrationPlatformSpec</code><br/>
+<code>RawMessage</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformSpec">
-IntegrationPlatformSpec
+<a href="#camel.apache.org/v1.RawMessage">
+RawMessage
 </a>
 </em>
 </td>
 <td>
 <p>
-(Members of <code>IntegrationPlatformSpec</code> are embedded into this type.)
+(Members of <code>RawMessage</code> are embedded into this type.)
 </p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.TraitConfiguration">TraitConfiguration
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.TraitSpec">TraitSpec</a>)
+</p>
+<div>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>phase</code><br/>
+<code>RawMessage</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformPhase">
-IntegrationPlatformPhase
+<a href="#camel.apache.org/v1.RawMessage">
+RawMessage
 </a>
 </em>
 </td>
 <td>
+<p>
+(Members of <code>RawMessage</code> are embedded into this type.)
+</p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1.TraitProfile">TraitProfile
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationKitSpec">IntegrationKitSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
+</p>
+<div>
+<p>TraitProfile represents lists of traits that are enabled for the specific installation/integration</p>
+</div>
+<h3 id="camel.apache.org/v1.TraitSpec">TraitSpec
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1.IntegrationKitSpec">IntegrationKitSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>, 
+<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>)
+</p>
+<div>
+<p>A TraitSpec contains the configuration of a trait</p>
+</div>
+<table>
+<thead>
 <tr>
-<td>
-<code>conditions</code><br/>
-<em>
-<a href="#camel.apache.org/v1.IntegrationPlatformCondition">
-[]IntegrationPlatformCondition
-</a>
-</em>
-</td>
-<td>
-</td>
+<th>Field</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>version</code><br/>
+<code>configuration</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.TraitConfiguration">
+TraitConfiguration
+</a>
 </em>
 </td>
 <td>
+<p>TraitConfiguration &ndash;</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationSpec">IntegrationSpec
+<h3 id="camel.apache.org/v1.ValueSource">ValueSource
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Integration">Integration</a>, 
-<a href="#camel.apache.org/v1alpha1.KameletBindingSpec">KameletBindingSpec</a>)
+<a href="#camel.apache.org/v1.MavenSpec">MavenSpec</a>)
 </p>
 <div>
-<p>IntegrationSpec defines the desired state of Integration</p>
+<p>ValueSource &ndash;</p>
 </div>
 <table>
 <thead>
@@ -4950,67 +4910,105 @@ string
 <tbody>
 <tr>
 <td>
-<code>replicas</code><br/>
+<code>configMapKeyRef</code><br/>
 <em>
-int32
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#configmapkeyselector-v1-core">
+Kubernetes core/v1.ConfigMapKeySelector
+</a>
 </em>
 </td>
 <td>
+<p>Selects a key of a ConfigMap.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>sources</code><br/>
+<code>secretKeyRef</code><br/>
 <em>
-<a href="#camel.apache.org/v1.SourceSpec">
-[]SourceSpec
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#secretkeyselector-v1-core">
+Kubernetes core/v1.SecretKeySelector
 </a>
 </em>
 </td>
 <td>
+<p>Selects a key of a secret.</p>
 </td>
 </tr>
+</tbody>
+</table>
+<h2 id="camel.apache.org/v1alpha1">camel.apache.org/v1alpha1</h2>
+<div>
+<p>Package v1alpha1 contains API Schema definitions for the camel v1alpha1 API group</p>
+</div>
+Resource Types:
+<ul><li>
+<a href="#camel.apache.org/v1alpha1.Kamelet">Kamelet</a>
+</li><li>
+<a href="#camel.apache.org/v1alpha1.KameletBinding">KameletBinding</a>
+</li></ul>
+<h3 id="camel.apache.org/v1alpha1.Kamelet">Kamelet
+</h3>
+<div>
+<p>Kamelet is the Schema for the kamelets API</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>flows</code><br/>
-<em>
-<a href="#camel.apache.org/v1.Flow">
-[]Flow
-</a>
-</em>
+<code>apiVersion</code></br>
+string</td>
+<td>
+<code>
+camel.apache.org/v1alpha1
+</code>
 </td>
+</tr>
+<tr>
 <td>
+<code>kind</code></br>
+string
 </td>
+<td><code>Kamelet</code></td>
 </tr>
 <tr>
 <td>
-<code>resources</code><br/>
+<code>metadata</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ResourceSpec">
-[]ResourceSpec
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
+Kubernetes meta/v1.ObjectMeta
 </a>
 </em>
 </td>
 <td>
+Refer to the Kubernetes API documentation for the fields of the
+<code>metadata</code> field.
 </td>
 </tr>
 <tr>
 <td>
-<code>kit</code><br/>
+<code>spec</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.KameletSpec">
+KameletSpec
+</a>
 </em>
 </td>
 <td>
-<p>Deprecated: use the IntegrationKit field</p>
-</td>
-</tr>
+<br/>
+<br/>
+<table>
 <tr>
 <td>
-<code>integrationKit</code><br/>
+<code>definition</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectreference-v1-core">
-Kubernetes core/v1.ObjectReference
+<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">
+JSONSchemaProps
 </a>
 </em>
 </td>
@@ -5019,9 +5017,11 @@ Kubernetes core/v1.ObjectReference
 </tr>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>sources</code><br/>
 <em>
-[]string
+<a href="#camel.apache.org/v1.SourceSpec">
+[]SourceSpec
+</a>
 </em>
 </td>
 <td>
@@ -5029,10 +5029,10 @@ Kubernetes core/v1.ObjectReference
 </tr>
 <tr>
 <td>
-<code>profile</code><br/>
+<code>template</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitProfile">
-TraitProfile
+<a href="#camel.apache.org/v1.Template">
+Template
 </a>
 </em>
 </td>
@@ -5041,22 +5041,23 @@ TraitProfile
 </tr>
 <tr>
 <td>
-<code>traits</code><br/>
+<code>flow</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitSpec">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.TraitSpec
+<a href="#camel.apache.org/v1.Flow">
+Flow
 </a>
 </em>
 </td>
 <td>
+<p>Deprecated: use template</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>template</code><br/>
+<code>authorization</code><br/>
 <em>
-<a href="#camel.apache.org/v1.PodSpecTemplate">
-PodSpecTemplate
+<a href="#camel.apache.org/v1alpha1.AuthorizationSpec">
+AuthorizationSpec
 </a>
 </em>
 </td>
@@ -5065,10 +5066,10 @@ PodSpecTemplate
 </tr>
 <tr>
 <td>
-<code>configuration</code><br/>
+<code>types</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ConfigurationSpec">
-[]ConfigurationSpec
+<a href="#camel.apache.org/v1alpha1.EventTypeSpec">
+map[github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventSlot]github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventTypeSpec
 </a>
 </em>
 </td>
@@ -5077,7 +5078,7 @@ PodSpecTemplate
 </tr>
 <tr>
 <td>
-<code>repositories</code><br/>
+<code>dependencies</code><br/>
 <em>
 []string
 </em>
@@ -5085,11 +5086,16 @@ PodSpecTemplate
 <td>
 </td>
 </tr>
+</table>
+</td>
+</tr>
 <tr>
 <td>
-<code>serviceAccountName</code><br/>
+<code>status</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.KameletStatus">
+KameletStatus
+</a>
 </em>
 </td>
 <td>
@@ -5097,14 +5103,10 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.IntegrationStatus">IntegrationStatus
+<h3 id="camel.apache.org/v1alpha1.KameletBinding">KameletBinding
 </h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Integration">Integration</a>)
-</p>
 <div>
-<p>IntegrationStatus defines the observed state of Integration</p>
+<p>KameletBinding is the Schema for the kamelets binding API</p>
 </div>
 <table>
 <thead>
@@ -5116,224 +5118,259 @@ string
 <tbody>
 <tr>
 <td>
-<code>phase</code><br/>
-<em>
-<a href="#camel.apache.org/v1.IntegrationPhase">
-IntegrationPhase
-</a>
-</em>
-</td>
+<code>apiVersion</code></br>
+string</td>
 <td>
+<code>
+camel.apache.org/v1alpha1
+</code>
 </td>
 </tr>
 <tr>
 <td>
-<code>digest</code><br/>
-<em>
+<code>kind</code></br>
 string
-</em>
-</td>
-<td>
 </td>
+<td><code>KameletBinding</code></td>
 </tr>
 <tr>
 <td>
-<code>image</code><br/>
+<code>metadata</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">
+Kubernetes meta/v1.ObjectMeta
+</a>
 </em>
 </td>
 <td>
+Refer to the Kubernetes API documentation for the fields of the
+<code>metadata</code> field.
 </td>
 </tr>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>spec</code><br/>
 <em>
-[]string
+<a href="#camel.apache.org/v1alpha1.KameletBindingSpec">
+KameletBindingSpec
+</a>
 </em>
 </td>
 <td>
-</td>
-</tr>
+<br/>
+<br/>
+<table>
 <tr>
 <td>
-<code>profile</code><br/>
+<code>integration</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitProfile">
-TraitProfile
+<a href="#camel.apache.org/v1.IntegrationSpec">
+IntegrationSpec
 </a>
 </em>
 </td>
 <td>
+<p>Integration is an optional integration used to specify custom parameters</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>kit</code><br/>
+<code>source</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.Endpoint">
+Endpoint
+</a>
 </em>
 </td>
 <td>
-<p>Deprecated: use the IntegrationKit field</p>
+<p>Source is the starting point of the integration defined by this binding</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>integrationKit</code><br/>
+<code>sink</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectreference-v1-core">
-Kubernetes core/v1.ObjectReference
+<a href="#camel.apache.org/v1alpha1.Endpoint">
+Endpoint
 </a>
 </em>
 </td>
 <td>
+<p>Sink is the destination of the integration defined by this binding</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>platform</code><br/>
+<code>errorHandler</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerSpec">
+ErrorHandlerSpec
+</a>
 </em>
 </td>
 <td>
+<p>ErrorHandler is an optional handler called upon an error occuring in the integration</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>generatedSources</code><br/>
+<code>steps</code><br/>
 <em>
-<a href="#camel.apache.org/v1.SourceSpec">
-[]SourceSpec
+<a href="#camel.apache.org/v1alpha1.Endpoint">
+[]Endpoint
 </a>
 </em>
 </td>
 <td>
+<p>Steps contains an optional list of intermediate steps that are executed between the Source and the Sink</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>generatedResources</code><br/>
+<code>replicas</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ResourceSpec">
-[]ResourceSpec
-</a>
+int32
 </em>
 </td>
 <td>
+<p>Replicas is the number of desired replicas for the binding</p>
 </td>
 </tr>
-<tr>
-<td>
-<code>runtimeVersion</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
+</table>
 </td>
 </tr>
 <tr>
 <td>
-<code>runtimeProvider</code><br/>
+<code>status</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RuntimeProvider">
-RuntimeProvider
+<a href="#camel.apache.org/v1alpha1.KameletBindingStatus">
+KameletBindingStatus
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1alpha1.AuthorizationSpec">AuthorizationSpec
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
+</p>
+<div>
+<p>AuthorizationSpec is TODO (oauth information)</p>
+</div>
+<h3 id="camel.apache.org/v1alpha1.BeanProperties">BeanProperties
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerBean">ErrorHandlerBean</a>)
+</p>
+<div>
+<p>BeanProperties represent an unstructured object properties to be set on a bean</p>
+</div>
+<table>
+<thead>
 <tr>
-<td>
-<code>configuration</code><br/>
-<em>
-<a href="#camel.apache.org/v1.ConfigurationSpec">
-[]ConfigurationSpec
-</a>
-</em>
-</td>
-<td>
-</td>
+<th>Field</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>conditions</code><br/>
+<code>RawMessage</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationCondition">
-[]IntegrationCondition
+<a href="#camel.apache.org/v1.RawMessage">
+RawMessage
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1alpha1.Endpoint">Endpoint
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerDeadLetterChannel">ErrorHandlerDeadLetterChannel</a>, 
+<a href="#camel.apache.org/v1alpha1.KameletBindingSpec">KameletBindingSpec</a>)
+</p>
+<div>
+<p>Endpoint represents a source/sink external entity</p>
+</div>
+<table>
+<thead>
 <tr>
-<td>
-<code>version</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-</td>
+<th>Field</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>replicas</code><br/>
+<code>ref</code><br/>
 <em>
-int32
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectreference-v1-core">
+Kubernetes core/v1.ObjectReference
+</a>
 </em>
 </td>
 <td>
+<p>Ref can be used to declare a Kubernetes resource as source/sink endpoint</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>selector</code><br/>
+<code>uri</code><br/>
 <em>
 string
 </em>
 </td>
 <td>
+<p>URI can alternatively be used to specify the (Camel) endpoint explicitly</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>capabilities</code><br/>
+<code>properties</code><br/>
 <em>
-[]string
+<a href="#camel.apache.org/v1alpha1.EndpointProperties">
+EndpointProperties
+</a>
 </em>
 </td>
 <td>
+<p>Properties are a key value representation of endpoint properties</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>lastInitTimestamp</code><br/>
+<code>types</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
-Kubernetes meta/v1.Time
+<a href="#camel.apache.org/v1alpha1.EventTypeSpec">
+map[github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventSlot]github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventTypeSpec
 </a>
 </em>
 </td>
 <td>
-<p>The timestamp representing the last time when this integration was initialized.</p>
+<p>Types defines the schema of the data produced/consumed by the endpoint</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.KanikoTask">KanikoTask
+<h3 id="camel.apache.org/v1alpha1.EndpointProperties">EndpointProperties
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Task">Task</a>)
+<a href="#camel.apache.org/v1alpha1.Endpoint">Endpoint</a>)
 </p>
 <div>
-<p>KanikoTask &ndash;</p>
+<p>EndpointProperties is a key/value struct represented as JSON raw to allow numeric/boolean values</p>
 </div>
 <table>
 <thead>
@@ -5345,39 +5382,60 @@ Kubernetes meta/v1.Time
 <tbody>
 <tr>
 <td>
-<code>BaseTask</code><br/>
+<code>RawMessage</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BaseTask">
-BaseTask
+<a href="#camel.apache.org/v1.RawMessage">
+RawMessage
 </a>
 </em>
 </td>
 <td>
 <p>
-(Members of <code>BaseTask</code> are embedded into this type.)
+(Members of <code>RawMessage</code> are embedded into this type.)
 </p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1alpha1.EndpointType">EndpointType
+(<code>string</code> alias)</h3>
+<div>
+</div>
+<h3 id="camel.apache.org/v1alpha1.ErrorHandler">ErrorHandler
+</h3>
+<div>
+<p>ErrorHandler is a generic interface that represent any type of error handler specification</p>
+</div>
+<h3 id="camel.apache.org/v1alpha1.ErrorHandlerBean">ErrorHandlerBean
+</h3>
+<div>
+<p>ErrorHandlerBean represents a bean error handler type</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>PublishTask</code><br/>
+<code>ErrorHandlerNone</code><br/>
 <em>
-<a href="#camel.apache.org/v1.PublishTask">
-PublishTask
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerNone">
+ErrorHandlerNone
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>PublishTask</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>verbose</code><br/>
+<code>type</code><br/>
 <em>
-bool
+string
 </em>
 </td>
 <td>
@@ -5385,20 +5443,49 @@ bool
 </tr>
 <tr>
 <td>
-<code>httpProxySecret</code><br/>
+<code>properties</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.BeanProperties">
+BeanProperties
+</a>
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1alpha1.ErrorHandlerDeadLetterChannel">ErrorHandlerDeadLetterChannel
+</h3>
+<div>
+<p>ErrorHandlerDeadLetterChannel represents a dead letter channel error handler type</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>cache</code><br/>
+<code>ErrorHandlerLog</code><br/>
 <em>
-<a href="#camel.apache.org/v1.KanikoTaskCache">
-KanikoTaskCache
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerLog">
+ErrorHandlerLog
+</a>
+</em>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<code>endpoint</code><br/>
+<em>
+<a href="#camel.apache.org/v1alpha1.Endpoint">
+Endpoint
 </a>
 </em>
 </td>
@@ -5407,14 +5494,14 @@ KanikoTaskCache
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.KanikoTaskCache">KanikoTaskCache
+<h3 id="camel.apache.org/v1alpha1.ErrorHandlerLog">ErrorHandlerLog
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.KanikoTask">KanikoTask</a>)
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerDeadLetterChannel">ErrorHandlerDeadLetterChannel</a>)
 </p>
 <div>
-<p>KanikoTaskCache &ndash;</p>
+<p>ErrorHandlerLog represent a default (log) error handler type</p>
 </div>
 <table>
 <thead>
@@ -5426,9 +5513,11 @@ KanikoTaskCache
 <tbody>
 <tr>
 <td>
-<code>enabled</code><br/>
+<code>ErrorHandlerNone</code><br/>
 <em>
-bool
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerNone">
+ErrorHandlerNone
+</a>
 </em>
 </td>
 <td>
@@ -5436,9 +5525,11 @@ bool
 </tr>
 <tr>
 <td>
-<code>persistentVolumeClaim</code><br/>
+<code>parameters</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerParameters">
+ErrorHandlerParameters
+</a>
 </em>
 </td>
 <td>
@@ -5446,27 +5537,34 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.Language">Language
-(<code>string</code> alias)</h3>
+<h3 id="camel.apache.org/v1alpha1.ErrorHandlerNone">ErrorHandlerNone
+</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.SourceSpec">SourceSpec</a>)
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerBean">ErrorHandlerBean</a>, 
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerLog">ErrorHandlerLog</a>)
 </p>
 <div>
-<p>Language &ndash;</p>
+<p>ErrorHandlerNone &ndash;</p>
 </div>
-<h3 id="camel.apache.org/v1.MavenArtifact">MavenArtifact
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1alpha1.ErrorHandlerParameters">ErrorHandlerParameters
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.CamelArtifactDependency">CamelArtifactDependency</a>, 
-<a href="#camel.apache.org/v1.CamelLoader">CamelLoader</a>, 
-<a href="#camel.apache.org/v1.Capability">Capability</a>, 
-<a href="#camel.apache.org/v1.MavenSpec">MavenSpec</a>, 
-<a href="#camel.apache.org/v1.RuntimeSpec">RuntimeSpec</a>)
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerLog">ErrorHandlerLog</a>)
 </p>
 <div>
-<p>MavenArtifact &ndash;</p>
+<p>ErrorHandlerParameters represent an unstructured object for error handler parameters</p>
 </div>
 <table>
 <thead>
@@ -5478,29 +5576,38 @@ string
 <tbody>
 <tr>
 <td>
-<code>groupId</code><br/>
+<code>RawMessage</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.RawMessage">
+RawMessage
+</a>
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1alpha1.ErrorHandlerRef">ErrorHandlerRef
+</h3>
+<div>
+<p>ErrorHandlerRef represents a reference to an error handler builder available in the registry</p>
+</div>
+<table>
+<thead>
 <tr>
-<td>
-<code>artifactId</code><br/>
-<em>
-string
-</em>
-</td>
-<td>
-</td>
+<th>Field</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>version</code><br/>
+<code>RawMessage</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.RawMessage">
+RawMessage
+</a>
 </em>
 </td>
 <td>
@@ -5508,15 +5615,14 @@ string
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.MavenSpec">MavenSpec
+<h3 id="camel.apache.org/v1alpha1.ErrorHandlerSpec">ErrorHandlerSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
-<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>)
+<a href="#camel.apache.org/v1alpha1.KameletBindingSpec">KameletBindingSpec</a>)
 </p>
 <div>
-<p>MavenSpec &ndash;</p>
+<p>ErrorHandlerSpec represents an unstructured object for an error handler</p>
 </div>
 <table>
 <thead>
@@ -5528,108 +5634,148 @@ string
 <tbody>
 <tr>
 <td>
-<code>localRepository</code><br/>
+<code>RawMessage</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.RawMessage">
+RawMessage
+</a>
 </em>
 </td>
 <td>
-<p>The path of the local Maven repository.</p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1alpha1.ErrorHandlerType">ErrorHandlerType
+(<code>string</code> alias)</h3>
+<div>
+<p>ErrorHandlerType &ndash;</p>
+</div>
+<h3 id="camel.apache.org/v1alpha1.EventSlot">EventSlot
+(<code>string</code> alias)</h3>
+<div>
+</div>
+<h3 id="camel.apache.org/v1alpha1.EventTypeSpec">EventTypeSpec
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1alpha1.Endpoint">Endpoint</a>, 
+<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
+</p>
+<div>
+</div>
+<table>
+<thead>
 <tr>
-<td>
-<code>properties</code><br/>
-<em>
-map[string]string
-</em>
-</td>
-<td>
-<p>The Maven properties.</p>
-</td>
+<th>Field</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>settings</code><br/>
+<code>mediaType</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ValueSource">
-ValueSource
-</a>
+string
 </em>
 </td>
 <td>
-<p>A reference to the ConfigMap or Secret key that contains
-the Maven settings.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>caSecret</code><br/>
+<code>schema</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#secretkeyselector-v1-core">
-Kubernetes core/v1.SecretKeySelector
+<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">
+JSONSchemaProps
 </a>
 </em>
 </td>
 <td>
-<p>The Secret name and key, containing the CA certificate(s) used to connect
-to remote Maven repositories.
-It can contain X.509 certificates, and PKCS#7 formatted certificate chains.
-A JKS formatted keystore is automatically created to store the CA certificate(s),
-and configured to be used as a trusted certificate(s) by the Maven commands.
-Note that the root CA certificates are also imported into the created keystore.</p>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1alpha1.ExternalDocumentation">ExternalDocumentation
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps</a>)
+</p>
+<div>
+<p>ExternalDocumentation allows referencing an external resource for extended documentation.</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>timeout</code><br/>
+<code>description</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#duration-v1-meta">
-Kubernetes meta/v1.Duration
-</a>
+string
 </em>
 </td>
 <td>
-<p>Deprecated: use IntegrationPlatform.Spec.Build.Timeout instead</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>repositories</code><br/>
+<code>url</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Repository">
-[]Repository
-</a>
+string
 </em>
 </td>
 <td>
 </td>
 </tr>
+</tbody>
+</table>
+<h3 id="camel.apache.org/v1alpha1.JSON">JSON
+</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1alpha1.JSONSchemaProp">JSONSchemaProp</a>, 
+<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps</a>)
+</p>
+<div>
+<p>JSON represents any valid JSON value.
+These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.</p>
+</div>
+<table>
+<thead>
+<tr>
+<th>Field</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
 <tr>
 <td>
-<code>extension</code><br/>
+<code>RawMessage</code><br/>
 <em>
-<a href="#camel.apache.org/v1.MavenArtifact">
-[]MavenArtifact
+<a href="#camel.apache.org/v1alpha1.RawMessage">
+RawMessage
 </a>
 </em>
 </td>
 <td>
-<p>Maven build extensions <a href="https://maven.apache.org/guides/mini/guide-using-extensions.html">https://maven.apache.org/guides/mini/guide-using-extensions.html</a></p>
+<p>
+(Members of <code>RawMessage</code> are embedded into this type.)
+</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.PlatformInjectable">PlatformInjectable
-</h3>
-<div>
-<p>PlatformInjectable &ndash;</p>
-</div>
-<h3 id="camel.apache.org/v1.PodSpec">PodSpec
+<h3 id="camel.apache.org/v1alpha1.JSONSchemaProp">JSONSchemaProp
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.PodSpecTemplate">PodSpecTemplate</a>)
+<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps</a>)
 </p>
 <div>
 </div>
@@ -5643,11 +5789,9 @@ Kubernetes meta/v1.Duration
 <tbody>
 <tr>
 <td>
-<code>volumes</code><br/>
+<code>id</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#volume-v1-core">
-[]Kubernetes core/v1.Volume
-</a>
+string
 </em>
 </td>
 <td>
@@ -5655,11 +5799,9 @@ Kubernetes meta/v1.Duration
 </tr>
 <tr>
 <td>
-<code>initContainers</code><br/>
+<code>description</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#container-v1-core">
-[]Kubernetes core/v1.Container
-</a>
+string
 </em>
 </td>
 <td>
@@ -5667,11 +5809,9 @@ Kubernetes meta/v1.Duration
 </tr>
 <tr>
 <td>
-<code>containers</code><br/>
+<code>type</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#container-v1-core">
-[]Kubernetes core/v1.Container
-</a>
+string
 </em>
 </td>
 <td>
@@ -5679,23 +5819,46 @@ Kubernetes meta/v1.Duration
 </tr>
 <tr>
 <td>
-<code>ephemeralContainers</code><br/>
+<code>format</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#ephemeralcontainer-v1-core">
-[]Kubernetes core/v1.EphemeralContainer
-</a>
+string
 </em>
 </td>
 <td>
+<p>format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:</p>
+<ul>
+<li>bsonobjectid: a bson object ID, i.e. a 24 characters hex string</li>
+<li>uri: an URI as parsed by Golang net/url.ParseRequestURI</li>
+<li>email: an email address as parsed by Golang net/mail.ParseAddress</li>
+<li>hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034].</li>
+<li>ipv4: an IPv4 IP as parsed by Golang net.ParseIP</li>
+<li>ipv6: an IPv6 IP as parsed by Golang net.ParseIP</li>
+<li>cidr: a CIDR as parsed by Golang net.ParseCIDR</li>
+<li>mac: a MAC address as parsed by Golang net.ParseMAC</li>
+<li>uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$</li>
+<li>uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$</li>
+<li>uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$</li>
+<li>uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$</li>
+<li>isbn: an ISBN10 or ISBN13 number string like &ldquo;0321751043&rdquo; or &ldquo;978-0321751041&rdquo;</li>
+<li>isbn10: an ISBN10 number string like &ldquo;0321751043&rdquo;</li>
+<li>isbn13: an ISBN13 number string like &ldquo;978-0321751041&rdquo;</li>
+<li>creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$ with any non digit characters mixed in</li>
+<li>ssn: a U.S. social security number following the regex ^\d{3}[- ]?\d{2}[- ]?\d{4}$</li>
+<li>hexcolor: an hexadecimal color code like &ldquo;#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$</li>
+<li>rgbcolor: an RGB color code like rgb like &ldquo;rgb(255,255,2559&rdquo;</li>
+<li>byte: base64 encoded binary data</li>
+<li>password: any kind of string</li>
+<li>date: a date string like &ldquo;2006-01-02&rdquo; as defined by full-date in RFC3339</li>
+<li>duration: a duration string like &ldquo;22 ns&rdquo; as parsed by Golang time.ParseDuration or compatible with Scala duration format</li>
+<li>datetime: a date time string like &ldquo;2014-12-15T19:30:20.000Z&rdquo; as defined by date-time in RFC3339.</li>
+</ul>
 </td>
 </tr>
 <tr>
 <td>
-<code>restartPolicy</code><br/>
+<code>title</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#restartpolicy-v1-core">
-Kubernetes core/v1.RestartPolicy
-</a>
+string
 </em>
 </td>
 <td>
@@ -5703,19 +5866,22 @@ Kubernetes core/v1.RestartPolicy
 </tr>
 <tr>
 <td>
-<code>terminationGracePeriodSeconds</code><br/>
+<code>default</code><br/>
 <em>
-int64
+<a href="#camel.apache.org/v1alpha1.JSON">
+JSON
+</a>
 </em>
 </td>
 <td>
+<p>default is a default value for undefined object fields.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>activeDeadlineSeconds</code><br/>
+<code>maximum</code><br/>
 <em>
-int64
+encoding/json.Number
 </em>
 </td>
 <td>
@@ -5723,11 +5889,9 @@ int64
 </tr>
 <tr>
 <td>
-<code>dnsPolicy</code><br/>
+<code>exclusiveMaximum</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#dnspolicy-v1-core">
-Kubernetes core/v1.DNSPolicy
-</a>
+bool
 </em>
 </td>
 <td>
@@ -5735,9 +5899,9 @@ Kubernetes core/v1.DNSPolicy
 </tr>
 <tr>
 <td>
-<code>nodeSelector</code><br/>
+<code>minimum</code><br/>
 <em>
-map[string]string
+encoding/json.Number
 </em>
 </td>
 <td>
@@ -5745,54 +5909,39 @@ map[string]string
 </tr>
 <tr>
 <td>
-<code>topologySpreadConstraints</code><br/>
+<code>exclusiveMinimum</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#topologyspreadconstraint-v1-core">
-[]Kubernetes core/v1.TopologySpreadConstraint
-</a>
+bool
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.PodSpecTemplate">PodSpecTemplate
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>)
-</p>
-<div>
-</div>
-<table>
-<thead>
 <tr>
-<th>Field</th>
-<th>Description</th>
+<td>
+<code>maxLength</code><br/>
+<em>
+int64
+</em>
+</td>
+<td>
+</td>
 </tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>spec</code><br/>
+<code>minLength</code><br/>
 <em>
-<a href="#camel.apache.org/v1.PodSpec">
-PodSpec
-</a>
+int64
 </em>
 </td>
 <td>
-<br/>
-<br/>
-<table>
+</td>
+</tr>
 <tr>
 <td>
-<code>volumes</code><br/>
+<code>pattern</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#volume-v1-core">
-[]Kubernetes core/v1.Volume
-</a>
+string
 </em>
 </td>
 <td>
@@ -5800,11 +5949,9 @@ PodSpec
 </tr>
 <tr>
 <td>
-<code>initContainers</code><br/>
+<code>maxItems</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#container-v1-core">
-[]Kubernetes core/v1.Container
-</a>
+int64
 </em>
 </td>
 <td>
@@ -5812,11 +5959,9 @@ PodSpec
 </tr>
 <tr>
 <td>
-<code>containers</code><br/>
+<code>minItems</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#container-v1-core">
-[]Kubernetes core/v1.Container
-</a>
+int64
 </em>
 </td>
 <td>
@@ -5824,11 +5969,9 @@ PodSpec
 </tr>
 <tr>
 <td>
-<code>ephemeralContainers</code><br/>
+<code>uniqueItems</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#ephemeralcontainer-v1-core">
-[]Kubernetes core/v1.EphemeralContainer
-</a>
+bool
 </em>
 </td>
 <td>
@@ -5836,11 +5979,9 @@ PodSpec
 </tr>
 <tr>
 <td>
-<code>restartPolicy</code><br/>
+<code>maxProperties</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#restartpolicy-v1-core">
-Kubernetes core/v1.RestartPolicy
-</a>
+int64
 </em>
 </td>
 <td>
@@ -5848,7 +5989,7 @@ Kubernetes core/v1.RestartPolicy
 </tr>
 <tr>
 <td>
-<code>terminationGracePeriodSeconds</code><br/>
+<code>minProperties</code><br/>
 <em>
 int64
 </em>
@@ -5858,9 +5999,9 @@ int64
 </tr>
 <tr>
 <td>
-<code>activeDeadlineSeconds</code><br/>
+<code>multipleOf</code><br/>
 <em>
-int64
+encoding/json.Number
 </em>
 </td>
 <td>
@@ -5868,10 +6009,10 @@ int64
 </tr>
 <tr>
 <td>
-<code>dnsPolicy</code><br/>
+<code>enum</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#dnspolicy-v1-core">
-Kubernetes core/v1.DNSPolicy
+<a href="#camel.apache.org/v1alpha1.JSON">
+[]JSON
 </a>
 </em>
 </td>
@@ -5880,9 +6021,11 @@ Kubernetes core/v1.DNSPolicy
 </tr>
 <tr>
 <td>
-<code>nodeSelector</code><br/>
+<code>example</code><br/>
 <em>
-map[string]string
+<a href="#camel.apache.org/v1alpha1.JSON">
+JSON
+</a>
 </em>
 </td>
 <td>
@@ -5890,31 +6033,36 @@ map[string]string
 </tr>
 <tr>
 <td>
-<code>topologySpreadConstraints</code><br/>
+<code>nullable</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#topologyspreadconstraint-v1-core">
-[]Kubernetes core/v1.TopologySpreadConstraint
-</a>
+bool
 </em>
 </td>
 <td>
 </td>
 </tr>
-</table>
+<tr>
+<td>
+<code>x-descriptors</code><br/>
+<em>
+[]string
+</em>
+</td>
+<td>
+<p>The list of descriptors that determine which UI components to use on different views</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.PublishTask">PublishTask
+<h3 id="camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuildahTask">BuildahTask</a>, 
-<a href="#camel.apache.org/v1.KanikoTask">KanikoTask</a>, 
-<a href="#camel.apache.org/v1.SpectrumTask">SpectrumTask</a>)
+<a href="#camel.apache.org/v1alpha1.EventTypeSpec">EventTypeSpec</a>, 
+<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
 </p>
 <div>
-<p>PublishTask &ndash;</p>
+<p>JSONSchemaProps is a JSON-Schema following Specification Draft 4 (<a href="http://json-schema.org/">http://json-schema.org/</a>).</p>
 </div>
 <table>
 <thead>
@@ -5926,7 +6074,7 @@ map[string]string
 <tbody>
 <tr>
 <td>
-<code>contextDir</code><br/>
+<code>id</code><br/>
 <em>
 string
 </em>
@@ -5936,7 +6084,7 @@ string
 </tr>
 <tr>
 <td>
-<code>baseImage</code><br/>
+<code>description</code><br/>
 <em>
 string
 </em>
@@ -5946,7 +6094,7 @@ string
 </tr>
 <tr>
 <td>
-<code>image</code><br/>
+<code>title</code><br/>
 <em>
 string
 </em>
@@ -5956,58 +6104,21 @@ string
 </tr>
 <tr>
 <td>
-<code>registry</code><br/>
+<code>properties</code><br/>
 <em>
-<a href="#camel.apache.org/v1.IntegrationPlatformRegistrySpec">
-IntegrationPlatformRegistrySpec
+<a href="#camel.apache.org/v1alpha1.JSONSchemaProp">
+map[string]github.com/apache/camel-k/pkg/apis/camel/v1alpha1.JSONSchemaProp
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.RawMessage">RawMessage
-(<code>[]byte</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.BeanProperties">BeanProperties</a>, 
-<a href="#camel.apache.org/v1alpha1.EndpointProperties">EndpointProperties</a>, 
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerParameters">ErrorHandlerParameters</a>, 
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerRef">ErrorHandlerRef</a>, 
-<a href="#camel.apache.org/v1alpha1.ErrorHandlerSpec">ErrorHandlerSpec</a>, 
-<a href="#camel.apache.org/v1.Flow">Flow</a>, 
-<a href="#camel.apache.org/v1.Template">Template</a>, 
-<a href="#camel.apache.org/v1.TraitConfiguration">TraitConfiguration</a>)
-</p>
-<div>
-<p>RawMessage is a raw encoded JSON value.
-It implements Marshaler and Unmarshaler and can
-be used to delay JSON decoding or precompute a JSON encoding.</p>
-</div>
-<h3 id="camel.apache.org/v1.Repository">Repository
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.MavenSpec">MavenSpec</a>)
-</p>
-<div>
-<p>Repository &ndash;</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>id</code><br/>
+<code>required</code><br/>
 <em>
-string
+[]string
 </em>
 </td>
 <td>
@@ -6015,9 +6126,11 @@ string
 </tr>
 <tr>
 <td>
-<code>name</code><br/>
+<code>example</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.JSON">
+JSON
+</a>
 </em>
 </td>
 <td>
@@ -6025,9 +6138,11 @@ string
 </tr>
 <tr>
 <td>
-<code>url</code><br/>
+<code>externalDocs</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.ExternalDocumentation">
+ExternalDocumentation
+</a>
 </em>
 </td>
 <td>
@@ -6035,10 +6150,10 @@ string
 </tr>
 <tr>
 <td>
-<code>snapshots</code><br/>
+<code>$schema</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RepositoryPolicy">
-RepositoryPolicy
+<a href="#camel.apache.org/v1alpha1.JSONSchemaURL">
+JSONSchemaURL
 </a>
 </em>
 </td>
@@ -6047,11 +6162,9 @@ RepositoryPolicy
 </tr>
 <tr>
 <td>
-<code>releases</code><br/>
+<code>type</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RepositoryPolicy">
-RepositoryPolicy
-</a>
+string
 </em>
 </td>
 <td>
@@ -6059,14 +6172,23 @@ RepositoryPolicy
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.RepositoryPolicy">RepositoryPolicy
+<h3 id="camel.apache.org/v1alpha1.JSONSchemaURL">JSONSchemaURL
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">JSONSchemaProps</a>)
+</p>
+<div>
+<p>JSONSchemaURL represents a schema url.</p>
+</div>
+<h3 id="camel.apache.org/v1alpha1.KameletBindingCondition">KameletBindingCondition
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Repository">Repository</a>)
+<a href="#camel.apache.org/v1alpha1.KameletBindingStatus">KameletBindingStatus</a>)
 </p>
 <div>
-<p>RepositoryPolicy &ndash;</p>
+<p>KameletBindingCondition describes the state of a resource at a certain point.</p>
 </div>
 <table>
 <thead>
@@ -6078,129 +6200,104 @@ RepositoryPolicy
 <tbody>
 <tr>
 <td>
-<code>enabled</code><br/>
+<code>type</code><br/>
 <em>
-bool
+<a href="#camel.apache.org/v1alpha1.KameletBindingConditionType">
+KameletBindingConditionType
+</a>
 </em>
 </td>
 <td>
+<p>Type of kameletBinding condition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>updatePolicy</code><br/>
+<code>status</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
+Kubernetes core/v1.ConditionStatus
+</a>
 </em>
 </td>
 <td>
+<p>Status of the condition, one of True, False, Unknown.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>checksumPolicy</code><br/>
+<code>lastUpdateTime</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
 </em>
 </td>
 <td>
+<p>The last time this condition was updated.</p>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.ResourceCondition">ResourceCondition
-</h3>
-<div>
-<p>ResourceCondition is a common type for all conditions</p>
-</div>
-<h3 id="camel.apache.org/v1.ResourceSpec">ResourceSpec
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
-<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
-</p>
-<div>
-<p>ResourceSpec &ndash;</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>DataSpec</code><br/>
+<code>lastTransitionTime</code><br/>
 <em>
-<a href="#camel.apache.org/v1.DataSpec">
-DataSpec
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>DataSpec</code> are embedded into this type.)
-</p>
+<p>Last time the condition transitioned from one status to another.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>type</code><br/>
+<code>reason</code><br/>
 <em>
-<a href="#camel.apache.org/v1.ResourceType">
-ResourceType
-</a>
+string
 </em>
 </td>
 <td>
+<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>mountPath</code><br/>
+<code>message</code><br/>
 <em>
 string
 </em>
 </td>
 <td>
+<p>A human readable message indicating details about the transition.</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.ResourceType">ResourceType
+<h3 id="camel.apache.org/v1alpha1.KameletBindingConditionType">KameletBindingConditionType
 (<code>string</code> alias)</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.ResourceSpec">ResourceSpec</a>)
+<a href="#camel.apache.org/v1alpha1.KameletBindingCondition">KameletBindingCondition</a>)
 </p>
 <div>
-<p>ResourceType &ndash;</p>
 </div>
-<h3 id="camel.apache.org/v1.RuntimeProvider">RuntimeProvider
+<h3 id="camel.apache.org/v1alpha1.KameletBindingPhase">KameletBindingPhase
 (<code>string</code> alias)</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationKitStatus">IntegrationKitStatus</a>, 
-<a href="#camel.apache.org/v1.IntegrationPlatformBuildSpec">IntegrationPlatformBuildSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>, 
-<a href="#camel.apache.org/v1.RuntimeSpec">RuntimeSpec</a>)
+<a href="#camel.apache.org/v1alpha1.KameletBindingStatus">KameletBindingStatus</a>)
 </p>
 <div>
-<p>RuntimeProvider &ndash;</p>
 </div>
-<h3 id="camel.apache.org/v1.RuntimeSpec">RuntimeSpec
+<h3 id="camel.apache.org/v1alpha1.KameletBindingSpec">KameletBindingSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
-<a href="#camel.apache.org/v1.CamelCatalogSpec">CamelCatalogSpec</a>)
+<a href="#camel.apache.org/v1alpha1.KameletBinding">KameletBinding</a>)
 </p>
 <div>
-<p>RuntimeSpec &ndash;</p>
+<p>KameletBindingSpec &ndash;</p>
 </div>
 <table>
 <thead>
@@ -6212,80 +6309,90 @@ string
 <tbody>
 <tr>
 <td>
-<code>version</code><br/>
+<code>integration</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1.IntegrationSpec">
+IntegrationSpec
+</a>
 </em>
 </td>
 <td>
+<p>Integration is an optional integration used to specify custom parameters</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>provider</code><br/>
+<code>source</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RuntimeProvider">
-RuntimeProvider
+<a href="#camel.apache.org/v1alpha1.Endpoint">
+Endpoint
 </a>
 </em>
 </td>
 <td>
+<p>Source is the starting point of the integration defined by this binding</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>applicationClass</code><br/>
+<code>sink</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.Endpoint">
+Endpoint
+</a>
 </em>
 </td>
 <td>
+<p>Sink is the destination of the integration defined by this binding</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>dependencies</code><br/>
+<code>errorHandler</code><br/>
 <em>
-<a href="#camel.apache.org/v1.MavenArtifact">
-[]MavenArtifact
+<a href="#camel.apache.org/v1alpha1.ErrorHandlerSpec">
+ErrorHandlerSpec
 </a>
 </em>
 </td>
 <td>
+<p>ErrorHandler is an optional handler called upon an error occuring in the integration</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>metadata</code><br/>
+<code>steps</code><br/>
 <em>
-map[string]string
+<a href="#camel.apache.org/v1alpha1.Endpoint">
+[]Endpoint
+</a>
 </em>
 </td>
 <td>
+<p>Steps contains an optional list of intermediate steps that are executed between the Source and the Sink</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>capabilities</code><br/>
+<code>replicas</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Capability">
-map[string]github.com/apache/camel-k/pkg/apis/camel/v1.Capability
-</a>
+int32
 </em>
 </td>
 <td>
+<p>Replicas is the number of desired replicas for the binding</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.S2iTask">S2iTask
+<h3 id="camel.apache.org/v1alpha1.KameletBindingStatus">KameletBindingStatus
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Task">Task</a>)
+<a href="#camel.apache.org/v1alpha1.KameletBinding">KameletBinding</a>)
 </p>
 <div>
-<p>S2iTask &ndash;</p>
+<p>KameletBindingStatus &ndash;</p>
 </div>
 <table>
 <thead>
@@ -6297,52 +6404,62 @@ map[string]github.com/apache/camel-k/pkg/apis/camel/v1.Capability
 <tbody>
 <tr>
 <td>
-<code>BaseTask</code><br/>
+<code>phase</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BaseTask">
-BaseTask
+<a href="#camel.apache.org/v1alpha1.KameletBindingPhase">
+KameletBindingPhase
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>BaseTask</code> are embedded into this type.)
-</p>
+<p>Phase &ndash;</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>contextDir</code><br/>
+<code>conditions</code><br/>
 <em>
-string
+<a href="#camel.apache.org/v1alpha1.KameletBindingCondition">
+[]KameletBindingCondition
+</a>
 </em>
 </td>
 <td>
+<p>Conditions &ndash;</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>tag</code><br/>
+<code>replicas</code><br/>
+<em>
+int32
+</em>
+</td>
+<td>
+<p>Replicas is the number of actual replicas of the binding</p>
+</td>
+</tr>
+<tr>
+<td>
+<code>selector</code><br/>
 <em>
 string
 </em>
 </td>
 <td>
+<p>Selector allows to identify pods belonging to the binding</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.SourceSpec">SourceSpec
+<h3 id="camel.apache.org/v1alpha1.KameletCondition">KameletCondition
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuilderTask">BuilderTask</a>, 
-<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>, 
-<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
+<a href="#camel.apache.org/v1alpha1.KameletStatus">KameletStatus</a>)
 </p>
 <div>
-<p>SourceSpec &ndash;</p>
+<p>KameletCondition describes the state of a resource at a certain point.</p>
 </div>
 <table>
 <thead>
@@ -6354,97 +6471,103 @@ string
 <tbody>
 <tr>
 <td>
-<code>DataSpec</code><br/>
+<code>type</code><br/>
 <em>
-<a href="#camel.apache.org/v1.DataSpec">
-DataSpec
+<a href="#camel.apache.org/v1alpha1.KameletConditionType">
+KameletConditionType
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>DataSpec</code> are embedded into this type.)
-</p>
+<p>Type of kamelet condition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>language</code><br/>
+<code>status</code><br/>
 <em>
-<a href="#camel.apache.org/v1.Language">
-Language
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#conditionstatus-v1-core">
+Kubernetes core/v1.ConditionStatus
 </a>
 </em>
 </td>
 <td>
+<p>Status of the condition, one of True, False, Unknown.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>loader</code><br/>
+<code>lastUpdateTime</code><br/>
 <em>
-string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
 </em>
 </td>
 <td>
-<p>Loader is an optional id of the org.apache.camel.k.RoutesLoader that will
-interpret this source at runtime</p>
+<p>The last time this condition was updated.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>interceptors</code><br/>
+<code>lastTransitionTime</code><br/>
 <em>
-[]string
+<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#time-v1-meta">
+Kubernetes meta/v1.Time
+</a>
 </em>
 </td>
 <td>
-<p>Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader
-uses to pre/post process sources</p>
+<p>Last time the condition transitioned from one status to another.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>type</code><br/>
+<code>reason</code><br/>
 <em>
-<a href="#camel.apache.org/v1.SourceType">
-SourceType
-</a>
+string
 </em>
 </td>
 <td>
-<p>Type defines the kind of source described by this object</p>
+<p>The reason for the condition&rsquo;s last transition.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>property-names</code><br/>
+<code>message</code><br/>
 <em>
-[]string
+string
 </em>
 </td>
 <td>
-<p>List of property names defined in the source (e.g. if type is &ldquo;template&rdquo;)</p>
+<p>A human readable message indicating details about the transition.</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.SourceType">SourceType
+<h3 id="camel.apache.org/v1alpha1.KameletConditionType">KameletConditionType
 (<code>string</code> alias)</h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.SourceSpec">SourceSpec</a>)
+<a href="#camel.apache.org/v1alpha1.KameletCondition">KameletCondition</a>)
 </p>
 <div>
 </div>
-<h3 id="camel.apache.org/v1.SpectrumTask">SpectrumTask
+<h3 id="camel.apache.org/v1alpha1.KameletPhase">KameletPhase
+(<code>string</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1alpha1.KameletStatus">KameletStatus</a>)
+</p>
+<div>
+</div>
+<h3 id="camel.apache.org/v1alpha1.KameletProperty">KameletProperty
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.Task">Task</a>)
+<a href="#camel.apache.org/v1alpha1.KameletStatus">KameletStatus</a>)
 </p>
 <div>
-<p>SpectrumTask &ndash;</p>
 </div>
 <table>
 <thead>
@@ -6456,44 +6579,34 @@ SourceType
 <tbody>
 <tr>
 <td>
-<code>BaseTask</code><br/>
+<code>name</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BaseTask">
-BaseTask
-</a>
+string
 </em>
 </td>
 <td>
-<p>
-(Members of <code>BaseTask</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>PublishTask</code><br/>
+<code>default</code><br/>
 <em>
-<a href="#camel.apache.org/v1.PublishTask">
-PublishTask
-</a>
+string
 </em>
 </td>
 <td>
-<p>
-(Members of <code>PublishTask</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.Task">Task
+<h3 id="camel.apache.org/v1alpha1.KameletSpec">KameletSpec
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.BuildSpec">BuildSpec</a>)
+<a href="#camel.apache.org/v1alpha1.Kamelet">Kamelet</a>)
 </p>
 <div>
-<p>Task &ndash;</p>
+<p>KameletSpec defines the desired state of Kamelet</p>
 </div>
 <table>
 <thead>
@@ -6505,10 +6618,10 @@ PublishTask
 <tbody>
 <tr>
 <td>
-<code>builder</code><br/>
+<code>definition</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BuilderTask">
-BuilderTask
+<a href="#camel.apache.org/v1alpha1.JSONSchemaProps">
+JSONSchemaProps
 </a>
 </em>
 </td>
@@ -6517,10 +6630,10 @@ BuilderTask
 </tr>
 <tr>
 <td>
-<code>buildah</code><br/>
+<code>sources</code><br/>
 <em>
-<a href="#camel.apache.org/v1.BuildahTask">
-BuildahTask
+<a href="#camel.apache.org/v1.SourceSpec">
+[]SourceSpec
 </a>
 </em>
 </td>
@@ -6529,10 +6642,10 @@ BuildahTask
 </tr>
 <tr>
 <td>
-<code>kaniko</code><br/>
+<code>template</code><br/>
 <em>
-<a href="#camel.apache.org/v1.KanikoTask">
-KanikoTask
+<a href="#camel.apache.org/v1.Template">
+Template
 </a>
 </em>
 </td>
@@ -6541,119 +6654,61 @@ KanikoTask
 </tr>
 <tr>
 <td>
-<code>spectrum</code><br/>
+<code>flow</code><br/>
 <em>
-<a href="#camel.apache.org/v1.SpectrumTask">
-SpectrumTask
+<a href="#camel.apache.org/v1.Flow">
+Flow
 </a>
 </em>
 </td>
 <td>
+<p>Deprecated: use template</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>s2i</code><br/>
+<code>authorization</code><br/>
 <em>
-<a href="#camel.apache.org/v1.S2iTask">
-S2iTask
+<a href="#camel.apache.org/v1alpha1.AuthorizationSpec">
+AuthorizationSpec
 </a>
 </em>
 </td>
 <td>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.Template">Template
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1alpha1.KameletSpec">KameletSpec</a>)
-</p>
-<div>
-<p>Template is an unstructured object representing a Kamelet template in YAML/JSON DSL</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>RawMessage</code><br/>
+<code>types</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RawMessage">
-RawMessage
+<a href="#camel.apache.org/v1alpha1.EventTypeSpec">
+map[github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventSlot]github.com/apache/camel-k/pkg/apis/camel/v1alpha1.EventTypeSpec
 </a>
 </em>
 </td>
 <td>
-<p>
-(Members of <code>RawMessage</code> are embedded into this type.)
-</p>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.TraitConfiguration">TraitConfiguration
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.TraitSpec">TraitSpec</a>)
-</p>
-<div>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>RawMessage</code><br/>
+<code>dependencies</code><br/>
 <em>
-<a href="#camel.apache.org/v1.RawMessage">
-RawMessage
-</a>
+[]string
 </em>
 </td>
 <td>
-<p>
-(Members of <code>RawMessage</code> are embedded into this type.)
-</p>
 </td>
 </tr>
 </tbody>
 </table>
-<h3 id="camel.apache.org/v1.TraitProfile">TraitProfile
-(<code>string</code> alias)</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationKitSpec">IntegrationKitSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationStatus">IntegrationStatus</a>)
-</p>
-<div>
-<p>TraitProfile represents lists of traits that are enabled for the specific installation/integration</p>
-</div>
-<h3 id="camel.apache.org/v1.TraitSpec">TraitSpec
+<h3 id="camel.apache.org/v1alpha1.KameletStatus">KameletStatus
 </h3>
 <p>
 (<em>Appears on:</em>
-<a href="#camel.apache.org/v1.IntegrationKitSpec">IntegrationKitSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationPlatformSpec">IntegrationPlatformSpec</a>, 
-<a href="#camel.apache.org/v1.IntegrationSpec">IntegrationSpec</a>)
+<a href="#camel.apache.org/v1alpha1.Kamelet">Kamelet</a>)
 </p>
 <div>
-<p>A TraitSpec contains the configuration of a trait</p>
+<p>KameletStatus defines the observed state of Kamelet</p>
 </div>
 <table>
 <thead>
@@ -6665,61 +6720,50 @@ RawMessage
 <tbody>
 <tr>
 <td>
-<code>configuration</code><br/>
+<code>phase</code><br/>
 <em>
-<a href="#camel.apache.org/v1.TraitConfiguration">
-TraitConfiguration
+<a href="#camel.apache.org/v1alpha1.KameletPhase">
+KameletPhase
 </a>
 </em>
 </td>
 <td>
-<p>TraitConfiguration &ndash;</p>
 </td>
 </tr>
-</tbody>
-</table>
-<h3 id="camel.apache.org/v1.ValueSource">ValueSource
-</h3>
-<p>
-(<em>Appears on:</em>
-<a href="#camel.apache.org/v1.MavenSpec">MavenSpec</a>)
-</p>
-<div>
-<p>ValueSource &ndash;</p>
-</div>
-<table>
-<thead>
-<tr>
-<th>Field</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
 <tr>
 <td>
-<code>configMapKeyRef</code><br/>
+<code>conditions</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#configmapkeyselector-v1-core">
-Kubernetes core/v1.ConfigMapKeySelector
+<a href="#camel.apache.org/v1alpha1.KameletCondition">
+[]KameletCondition
 </a>
 </em>
 </td>
 <td>
-<p>Selects a key of a ConfigMap.</p>
 </td>
 </tr>
 <tr>
 <td>
-<code>secretKeyRef</code><br/>
+<code>properties</code><br/>
 <em>
-<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#secretkeyselector-v1-core">
-Kubernetes core/v1.SecretKeySelector
+<a href="#camel.apache.org/v1alpha1.KameletProperty">
+[]KameletProperty
 </a>
 </em>
 </td>
 <td>
-<p>Selects a key of a secret.</p>
 </td>
 </tr>
 </tbody>
 </table>
+<h3 id="camel.apache.org/v1alpha1.RawMessage">RawMessage
+(<code>[]byte</code> alias)</h3>
+<p>
+(<em>Appears on:</em>
+<a href="#camel.apache.org/v1alpha1.JSON">JSON</a>)
+</p>
+<div>
+<p>RawMessage is a raw encoded JSON value.
+It implements Marshaler and Unmarshaler and can
+be used to delay JSON decoding or precompute a JSON encoding.</p>
+</div>
diff --git a/e2e/common/scale_test.go b/e2e/common/scale_test.go
index d88c8ca..0334f17 100644
--- a/e2e/common/scale_test.go
+++ b/e2e/common/scale_test.go
@@ -24,6 +24,7 @@ package common
 import (
 	"testing"
 
+	camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
 	. "github.com/onsi/gomega"
 	"github.com/onsi/gomega/gstruct"
 
@@ -123,3 +124,99 @@ func TestIntegrationScale(t *testing.T) {
 		Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
 	})
 }
+
+func TestKameletBindingScale(t *testing.T) {
+	WithNewTestNamespace(t, func(ns string) {
+		name := "binding"
+		Expect(Kamel("install", "-n", ns).Execute()).To(Succeed())
+		Expect(Kamel("bind", "timer-source?message=HelloBinding", "log-sink", "-n", ns, "--name", name).Execute()).To(Succeed())
+		Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(v1.PodRunning))
+		Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue))
+		Eventually(KameletBindingCondition(ns, name, camelv1alpha1.KameletBindingConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue))
+		Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("HelloBinding"))
+
+		t.Run("Update binding scale spec", func(t *testing.T) {
+			RegisterTestingT(t)
+			Expect(ScaleKameletBinding(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 KameletBinding scale subresource Status field
+			Eventually(KameletBindingStatusReplicas(ns, name), TestTimeoutShort).
+				Should(gstruct.PointTo(BeNumerically("==", 3)))
+			// Check the readiness condition becomes truthy back
+			Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(v1.ConditionTrue))
+			// Finally check the readiness condition becomes truthy back on kamelet binding
+			Eventually(KameletBindingCondition(ns, name, camelv1alpha1.KameletBindingConditionReady), TestTimeoutMedium).Should(Equal(v1.ConditionTrue))
+		})
+
+		t.Run("Scale kamelet binding with polymorphic client", func(t *testing.T) {
+			RegisterTestingT(t)
+			// Polymorphic scale client
+			groupResources, err := restmapper.GetAPIGroupResources(TestClient().Discovery())
+			Expect(err).To(BeNil())
+			mapper := restmapper.NewDiscoveryRESTMapper(groupResources)
+			resolver := scale.NewDiscoveryScaleKindResolver(TestClient().Discovery())
+			scaleClient, err := scale.NewForConfig(TestClient().GetConfig(), mapper, dynamic.LegacyAPIPathResolverFunc, resolver)
+			Expect(err).To(BeNil())
+
+			// Patch the integration scale subresource
+			patch := "{\"spec\":{\"replicas\":2}}"
+			_, err = scaleClient.Scales(ns).Patch(TestContext, camelv1alpha1.SchemeGroupVersion.WithResource("kameletbindings"), name, types.MergePatchType, []byte(patch), metav1.PatchOptions{})
+			Expect(err).To(BeNil())
+
+			// Check the readiness condition is still truthy as down-scaling
+			Expect(KameletBindingCondition(ns, name, camelv1alpha1.KameletBindingConditionReady)()).To(Equal(v1.ConditionTrue))
+			// Check the Integration scale subresource Spec field
+			Eventually(IntegrationSpecReplicas(ns, name), TestTimeoutShort).
+				Should(gstruct.PointTo(BeNumerically("==", 2)))
+			// Then check it cascades into the Deployment scale
+			Eventually(IntegrationPods(ns, name), TestTimeoutShort).Should(HaveLen(2))
+			// 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 KameletBinding scale subresource Status field
+			Eventually(KameletBindingStatusReplicas(ns, name), TestTimeoutShort).
+				Should(gstruct.PointTo(BeNumerically("==", 2)))
+		})
+
+		t.Run("Scale kamelet binding with Camel K client", func(t *testing.T) {
+			RegisterTestingT(t)
+			camel, err := versioned.NewForConfig(TestClient().GetConfig())
+			Expect(err).To(BeNil())
+
+			// Getter
+			bindingScale, err := camel.CamelV1alpha1().KameletBindings(ns).GetScale(TestContext, name, metav1.GetOptions{})
+			Expect(err).To(BeNil())
+			Expect(bindingScale.Spec.Replicas).To(BeNumerically("==", 2))
+			Expect(bindingScale.Status.Replicas).To(BeNumerically("==", 2))
+
+			// Setter
+			bindingScale.Spec.Replicas = 1
+			bindingScale, err = camel.CamelV1alpha1().KameletBindings(ns).UpdateScale(TestContext, name, bindingScale, metav1.UpdateOptions{})
+			Expect(err).To(BeNil())
+
+			// Check the readiness condition is still truthy as down-scaling in kamelet binding
+			Expect(KameletBindingCondition(ns, name, camelv1alpha1.KameletBindingConditionReady)()).To(Equal(v1.ConditionTrue))
+			// Check the KameletBinding scale subresource Spec field
+			Eventually(KameletBindingSpecReplicas(ns, name), TestTimeoutShort).
+				Should(gstruct.PointTo(BeNumerically("==", 1)))
+			// Check the readiness condition is still truthy as down-scaling
+			Expect(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady)()).To(Equal(v1.ConditionTrue))
+			// Check the Integration scale subresource Spec field
+			Eventually(IntegrationSpecReplicas(ns, name), TestTimeoutShort).
+				Should(gstruct.PointTo(BeNumerically("==", 1)))
+			// Then check it cascades into the Deployment scale
+			Eventually(IntegrationPods(ns, name), TestTimeoutShort).Should(HaveLen(1))
+			// Finally check it cascades into the Integration scale subresource Status field
+			Eventually(IntegrationStatusReplicas(ns, name), TestTimeoutShort).
+				Should(gstruct.PointTo(BeNumerically("==", 1)))
+		})
+
+		// Clean up
+		RegisterTestingT(t)
+		Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
+	})
+}
diff --git a/e2e/support/test_support.go b/e2e/support/test_support.go
index 424e492..50ac60c 100644
--- a/e2e/support/test_support.go
+++ b/e2e/support/test_support.go
@@ -582,6 +582,71 @@ func ScaleIntegration(ns string, name string, replicas int32) error {
 	})
 }
 
+func KameletBinding(ns string, name string) func() *v1alpha1.KameletBinding {
+	return func() *v1alpha1.KameletBinding {
+		klb := v1alpha1.NewKameletBinding(ns, name)
+		key := ctrl.ObjectKey{
+			Namespace: ns,
+			Name:      name,
+		}
+		if err := TestClient().Get(TestContext, key, &klb); err != nil && !k8serrors.IsNotFound(err) {
+			panic(err)
+		} else if err != nil && k8serrors.IsNotFound(err) {
+			return nil
+		}
+		return &klb
+	}
+}
+
+func KameletBindingSpecReplicas(ns string, name string) func() *int32 {
+	return func() *int32 {
+		klb := KameletBinding(ns, name)()
+		if klb == nil {
+			return nil
+		}
+		return klb.Spec.Replicas
+	}
+}
+
+func KameletBindingStatusReplicas(ns string, name string) func() *int32 {
+	return func() *int32 {
+		klb := KameletBinding(ns, name)()
+		if klb == nil {
+			return nil
+		}
+		return klb.Status.Replicas
+	}
+}
+
+func KameletBindingCondition(ns string, name string, conditionType v1alpha1.KameletBindingConditionType) func() corev1.ConditionStatus {
+	return func() corev1.ConditionStatus {
+		klb := KameletBinding(ns, name)()
+		if klb == nil {
+			return "KameletBindingMissing"
+		}
+		c := klb.Status.GetCondition(conditionType)
+		if c == nil {
+			return "ConditionMissing"
+		}
+		return c.Status
+	}
+}
+
+func UpdateKameletBinding(ns string, name string, upd func(it *v1alpha1.KameletBinding)) error {
+	klb := KameletBinding(ns, name)()
+	if klb == nil {
+		return fmt.Errorf("no kamelet binding named %s found", name)
+	}
+	upd(klb)
+	return TestClient().Update(TestContext, klb)
+}
+
+func ScaleKameletBinding(ns string, name string, replicas int32) error {
+	return UpdateKameletBinding(ns, name, func(klb *v1alpha1.KameletBinding) {
+		klb.Spec.Replicas = &replicas
+	})
+}
+
 func Kits(ns string, filters ...func(*v1.IntegrationKit) bool) func() []v1.IntegrationKit {
 	return func() []v1.IntegrationKit {
 		list := v1.NewIntegrationKitList()
diff --git a/helm/camel-k/crds/crd-kamelet-binding.yaml b/helm/camel-k/crds/crd-kamelet-binding.yaml
index c577cc6..5da3ec1 100644
--- a/helm/camel-k/crds/crd-kamelet-binding.yaml
+++ b/helm/camel-k/crds/crd-kamelet-binding.yaml
@@ -43,6 +43,10 @@ spec:
       jsonPath: .status.phase
       name: Phase
       type: string
+    - description: The number of pods
+      jsonPath: .status.replicas
+      name: Replicas
+      type: integer
     name: v1alpha1
     schema:
       openAPIV3Schema:
@@ -5643,6 +5647,10 @@ spec:
                       type: object
                     type: object
                 type: object
+              replicas:
+                description: Replicas is the number of desired replicas for the binding
+                format: int32
+                type: integer
               sink:
                 description: Sink is the destination of the integration defined by
                   this binding
@@ -6331,9 +6339,20 @@ spec:
               phase:
                 description: Phase --
                 type: string
+              replicas:
+                description: Replicas is the number of actual replicas of the binding
+                format: int32
+                type: integer
+              selector:
+                description: Selector allows to identify pods belonging to the binding
+                type: string
             type: object
         type: object
     served: true
     storage: true
     subresources:
+      scale:
+        labelSelectorPath: .status.selector
+        specReplicasPath: .spec.replicas
+        statusReplicasPath: .status.replicas
       status: {}
diff --git a/pkg/apis/camel/v1alpha1/kamelet_binding_types.go b/pkg/apis/camel/v1alpha1/kamelet_binding_types.go
index 4341c1c..a0c52c4 100644
--- a/pkg/apis/camel/v1alpha1/kamelet_binding_types.go
+++ b/pkg/apis/camel/v1alpha1/kamelet_binding_types.go
@@ -36,6 +36,8 @@ type KameletBindingSpec struct {
 	ErrorHandler *ErrorHandlerSpec `json:"errorHandler,omitempty"`
 	// Steps contains an optional list of intermediate steps that are executed between the Source and the Sink
 	Steps []Endpoint `json:"steps,omitempty"`
+	// Replicas is the number of desired replicas for the binding
+	Replicas *int32 `json:"replicas,omitempty"`
 }
 
 // Endpoint represents a source/sink external entity
@@ -70,6 +72,10 @@ type KameletBindingStatus struct {
 	Phase KameletBindingPhase `json:"phase,omitempty"`
 	// Conditions --
 	Conditions []KameletBindingCondition `json:"conditions,omitempty"`
+	// Replicas is the number of actual replicas of the binding
+	Replicas *int32 `json:"replicas,omitempty"`
+	// Selector allows to identify pods belonging to the binding
+	Selector string `json:"selector,omitempty"`
 }
 
 // KameletBindingCondition describes the state of a resource at a certain point.
@@ -115,7 +121,11 @@ const (
 // +kubebuilder:object:root=true
 // +kubebuilder:resource:path=kameletbindings,scope=Namespaced,shortName=klb,categories=kamel;camel
 // +kubebuilder:subresource:status
+// +genclient:method=GetScale,verb=get,subresource=scale,result=k8s.io/api/autoscaling/v1.Scale
+// +genclient:method=UpdateScale,verb=update,subresource=scale,input=k8s.io/api/autoscaling/v1.Scale,result=k8s.io/api/autoscaling/v1.Scale
+// +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas,selectorpath=.status.selector
 // +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`,description="The Kamelet Binding phase"
+// +kubebuilder:printcolumn:name="Replicas",type=integer,JSONPath=`.status.replicas`,description="The number of pods"
 
 // KameletBinding is the Schema for the kamelets binding API
 type KameletBinding struct {
diff --git a/pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go
index c0437a9..4bbf8b6 100644
--- a/pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go
@@ -547,6 +547,11 @@ func (in *KameletBindingSpec) DeepCopyInto(out *KameletBindingSpec) {
 			(*in)[i].DeepCopyInto(&(*out)[i])
 		}
 	}
+	if in.Replicas != nil {
+		in, out := &in.Replicas, &out.Replicas
+		*out = new(int32)
+		**out = **in
+	}
 }
 
 // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KameletBindingSpec.
@@ -569,6 +574,11 @@ func (in *KameletBindingStatus) DeepCopyInto(out *KameletBindingStatus) {
 			(*in)[i].DeepCopyInto(&(*out)[i])
 		}
 	}
+	if in.Replicas != nil {
+		in, out := &in.Replicas, &out.Replicas
+		*out = new(int32)
+		**out = **in
+	}
 }
 
 // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KameletBindingStatus.
diff --git a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kameletbinding.go b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kameletbinding.go
index 723a646..3d00444 100644
--- a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kameletbinding.go
+++ b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kameletbinding.go
@@ -23,6 +23,7 @@ import (
 	"context"
 
 	v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+	autoscalingv1 "k8s.io/api/autoscaling/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	labels "k8s.io/apimachinery/pkg/labels"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -141,3 +142,25 @@ func (c *FakeKameletBindings) Patch(ctx context.Context, name string, pt types.P
 	}
 	return obj.(*v1alpha1.KameletBinding), err
 }
+
+// GetScale takes name of the kameletBinding, and returns the corresponding scale object, and an error if there is any.
+func (c *FakeKameletBindings) GetScale(ctx context.Context, kameletBindingName string, options v1.GetOptions) (result *autoscalingv1.Scale, err error) {
+	obj, err := c.Fake.
+		Invokes(testing.NewGetSubresourceAction(kameletbindingsResource, c.ns, "scale", kameletBindingName), &autoscalingv1.Scale{})
+
+	if obj == nil {
+		return nil, err
+	}
+	return obj.(*autoscalingv1.Scale), err
+}
+
+// UpdateScale takes the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
+func (c *FakeKameletBindings) UpdateScale(ctx context.Context, kameletBindingName string, scale *autoscalingv1.Scale, opts v1.UpdateOptions) (result *autoscalingv1.Scale, err error) {
+	obj, err := c.Fake.
+		Invokes(testing.NewUpdateSubresourceAction(kameletbindingsResource, "scale", c.ns, scale), &autoscalingv1.Scale{})
+
+	if obj == nil {
+		return nil, err
+	}
+	return obj.(*autoscalingv1.Scale), err
+}
diff --git a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kameletbinding.go b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kameletbinding.go
index c0a8ae3..6a2f94f 100644
--- a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kameletbinding.go
+++ b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kameletbinding.go
@@ -25,6 +25,7 @@ import (
 
 	v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
 	scheme "github.com/apache/camel-k/pkg/client/camel/clientset/versioned/scheme"
+	autoscalingv1 "k8s.io/api/autoscaling/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	types "k8s.io/apimachinery/pkg/types"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -48,6 +49,9 @@ type KameletBindingInterface interface {
 	List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.KameletBindingList, error)
 	Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error)
 	Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.KameletBinding, err error)
+	GetScale(ctx context.Context, kameletBindingName string, options v1.GetOptions) (*autoscalingv1.Scale, error)
+	UpdateScale(ctx context.Context, kameletBindingName string, scale *autoscalingv1.Scale, opts v1.UpdateOptions) (*autoscalingv1.Scale, error)
+
 	KameletBindingExpansion
 }
 
@@ -194,3 +198,32 @@ func (c *kameletBindings) Patch(ctx context.Context, name string, pt types.Patch
 		Into(result)
 	return
 }
+
+// GetScale takes name of the kameletBinding, and returns the corresponding autoscalingv1.Scale object, and an error if there is any.
+func (c *kameletBindings) GetScale(ctx context.Context, kameletBindingName string, options v1.GetOptions) (result *autoscalingv1.Scale, err error) {
+	result = &autoscalingv1.Scale{}
+	err = c.client.Get().
+		Namespace(c.ns).
+		Resource("kameletbindings").
+		Name(kameletBindingName).
+		SubResource("scale").
+		VersionedParams(&options, scheme.ParameterCodec).
+		Do(ctx).
+		Into(result)
+	return
+}
+
+// UpdateScale takes the top resource name and the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
+func (c *kameletBindings) UpdateScale(ctx context.Context, kameletBindingName string, scale *autoscalingv1.Scale, opts v1.UpdateOptions) (result *autoscalingv1.Scale, err error) {
+	result = &autoscalingv1.Scale{}
+	err = c.client.Put().
+		Namespace(c.ns).
+		Resource("kameletbindings").
+		Name(kameletBindingName).
+		SubResource("scale").
+		VersionedParams(&opts, scheme.ParameterCodec).
+		Body(scale).
+		Do(ctx).
+		Into(result)
+	return
+}
diff --git a/pkg/controller/kameletbinding/common.go b/pkg/controller/kameletbinding/common.go
index 9a381a3..2264011 100644
--- a/pkg/controller/kameletbinding/common.go
+++ b/pkg/controller/kameletbinding/common.go
@@ -73,6 +73,12 @@ func createIntegrationFor(ctx context.Context, c client.Client, kameletbinding *
 		it.Spec = *kameletbinding.Spec.Integration.DeepCopy()
 	}
 
+	// Set replicas (or override podspecable value) if present
+	if kameletbinding.Spec.Replicas != nil {
+		replicas := *kameletbinding.Spec.Replicas
+		it.Spec.Replicas = &replicas
+	}
+
 	profile, err := determineProfile(ctx, c, kameletbinding)
 	if err != nil {
 		return nil, err
diff --git a/pkg/controller/kameletbinding/monitor.go b/pkg/controller/kameletbinding/monitor.go
index 9cd768a..cba70fb 100644
--- a/pkg/controller/kameletbinding/monitor.go
+++ b/pkg/controller/kameletbinding/monitor.go
@@ -116,5 +116,10 @@ func (action *monitorAction) Handle(ctx context.Context, kameletbinding *v1alpha
 			"",
 		)
 	}
+
+	// Mirror status replicas and selector
+	target.Status.Replicas = it.Status.Replicas
+	target.Status.Selector = it.Status.Selector
+
 	return target, nil
 }
diff --git a/pkg/resources/resources.go b/pkg/resources/resources.go
index fd3e3c2..fb6bcb3 100644
--- a/pkg/resources/resources.go
+++ b/pkg/resources/resources.go
@@ -113,9 +113,9 @@ var assets = func() http.FileSystem {
 		"/crd/bases/camel.apache.org_kameletbindings.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel.apache.org_kameletbindings.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 431236,
+			uncompressedSize: 431973,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xfb\x73\x1b\x37\x96\x30\xfa\x7b\xfe\x0a\x94\x9c\xfa\x24\x6d\x44\xca\xce\xcc\xce\xdd\xf1\x9d\xfa\x52\x1a\x59\xce\xe8\xc6\x96\x59\x96\xe2\x7c\x29\x27\x9b\x05\xbb\x41\x12\xab\x6e\xa0\x17\x40\x53\xe2\x5e\xdf\xff\xfd\x16\x0e\x80\x7e\xf0\x25\x9c\xa6\xa8\x28\x3b\x8d\xa9\x9a\x98\x22\xfb\x34\x5e\xe7\xfd\x7a\x41\x06\x8f\x37\xbe\x7a\x41\xde\xf1\x84\x09\xcd\x52\x62\x24\x31\x33\x46\xce\x0a\x9a\xcc\x18\xb9\x96\x13\x73\x47\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xfb\x73\x1b\x37\x96\x30\xfa\x7b\xfe\x0a\x94\x9c\xfa\x24\x6d\x44\xca\xce\xcc\xce\xdd\xf1\x9d\xfa\x52\x1a\x59\xce\xe8\xc6\x96\x59\x96\xe2\x7c\x29\x27\x9b\x05\xbb\x41\x12\xab\x6e\xa0\x17\x40\x53\xe2\x5e\xdf\xff\xfd\x16\x0e\x80\x7e\xf0\x25\x9c\xa6\xa8\x28\x3b\x8d\xa9\x9a\x98\x22\xfb\x34\x5e\xe7\xfd\x7a\x41\x06\x8f\x37\xbe\x7a\x41\xde\xf1\x84\x09\xcd\x52\x62\x24\x31\x33\x46\xce\x0a\x9a\xcc\x18\xb9\x96\x13\x73\x47\x [...]
 		},
 		"/crd/bases/camel.apache.org_kamelets.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel.apache.org_kamelets.yaml",

[camel-k] 04/04: Fix #2486: use merge patch in tests

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit eac1eeaf78300c235aa91e1f3227171af66c3d8d
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Fri Aug 20 09:24:57 2021 +0200

    Fix #2486: use merge patch in tests
---
 e2e/support/test_support.go | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/e2e/support/test_support.go b/e2e/support/test_support.go
index 50ac60c..f883844 100644
--- a/e2e/support/test_support.go
+++ b/e2e/support/test_support.go
@@ -36,9 +36,11 @@ import (
 	"testing"
 	"time"
 
+	"github.com/apache/camel-k/pkg/util/patch"
 	"github.com/google/uuid"
 	"github.com/onsi/gomega"
 	"github.com/spf13/cobra"
+	"k8s.io/apimachinery/pkg/types"
 
 	appsv1 "k8s.io/api/apps/v1"
 	"k8s.io/api/batch/v1beta1"
@@ -637,8 +639,16 @@ func UpdateKameletBinding(ns string, name string, upd func(it *v1alpha1.KameletB
 	if klb == nil {
 		return fmt.Errorf("no kamelet binding named %s found", name)
 	}
-	upd(klb)
-	return TestClient().Update(TestContext, klb)
+	target := klb.DeepCopy()
+	upd(target)
+	// For some reasons, full patch fails on some clusters
+	p, err := patch.PositiveMergePatch(klb, target)
+	if err != nil {
+		return err
+	} else if len(p) == 0 {
+		return nil
+	}
+	return TestClient().Patch(TestContext, target, ctrl.RawPatch(types.MergePatchType, p))
 }
 
 func ScaleKameletBinding(ns string, name string, replicas int32) error {