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:40 UTC

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

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",