You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2022/04/01 09:14:02 UTC

[camel] 02/18: CAMEL-17792: Add doc about the message headers of camel-kubernetes

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

nfilotto pushed a commit to branch CAMEL-17792/doc-message-headers
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0f3e8b6187d2d6c5e86aa01db01c5fb9c332265d
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Thu Mar 31 10:33:18 2022 +0200

    CAMEL-17792: Add doc about the message headers of camel-kubernetes
---
 .../config_maps/kubernetes-config-maps.json        |   9 ++
 .../kubernetes-custom-resources.json               |  15 +++
 .../deployments/kubernetes-deployments.json        |  10 ++
 .../component/kubernetes/hpa/kubernetes-hpa.json   |   9 ++
 .../component/kubernetes/job/kubernetes-job.json   |   7 +
 .../namespaces/kubernetes-namespaces.json          |   7 +
 .../kubernetes/nodes/kubernetes-nodes.json         |   8 ++
 .../kubernetes-persistent-volumes.json             |   5 +
 .../kubernetes-persistent-volumes-claims.json      |   7 +
 .../component/kubernetes/pods/kubernetes-pods.json |   9 ++
 .../kubernetes-replication-controllers.json        |  10 ++
 .../kubernetes-resources-quota.json                |   7 +
 .../kubernetes/secrets/kubernetes-secrets.json     |   7 +
 .../kubernetes-service-accounts.json               |   7 +
 .../kubernetes/services/kubernetes-services.json   |   9 ++
 .../build_configs/openshift-build-configs.json     |   6 +
 .../openshift/builds/openshift-builds.json         |   6 +
 .../docs/kubernetes-config-maps-component.adoc     |   4 +
 .../kubernetes-custom-resources-component.adoc     |   3 +
 .../docs/kubernetes-deployments-component.adoc     |   3 +
 .../src/main/docs/kubernetes-hpa-component.adoc    |   3 +
 .../src/main/docs/kubernetes-job-component.adoc    |   3 +
 .../main/docs/kubernetes-namespaces-component.adoc |   3 +
 .../src/main/docs/kubernetes-nodes-component.adoc  |   4 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   4 +-
 .../kubernetes-persistent-volumes-component.adoc   |   4 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |   4 +-
 ...bernetes-replication-controllers-component.adoc |   4 +-
 .../docs/kubernetes-resources-quota-component.adoc |   4 +-
 .../main/docs/kubernetes-secrets-component.adoc    |   4 +-
 .../kubernetes-service-accounts-component.adoc     |   4 +-
 .../main/docs/kubernetes-services-component.adoc   |   4 +-
 .../src/main/docs/kubernetes-summary.adoc          |  84 ------------
 .../docs/openshift-build-configs-component.adoc    |   4 +-
 .../src/main/docs/openshift-builds-component.adoc  |   3 +
 .../component/kubernetes/KubernetesConstants.java  | 141 ++++++++++++++++++++-
 .../config_maps/KubernetesConfigMapsEndpoint.java  |   7 +-
 .../KubernetesCustomResourcesEndpoint.java         |   8 +-
 .../deployments/KubernetesDeploymentsEndpoint.java |   8 +-
 .../kubernetes/hpa/KubernetesHPAEndpoint.java      |   7 +-
 .../kubernetes/job/KubernetesJobEndpoint.java      |   7 +-
 .../namespaces/KubernetesNamespacesEndpoint.java   |   8 +-
 .../kubernetes/nodes/KubernetesNodesEndpoint.java  |   8 +-
 .../KubernetesPersistentVolumesEndpoint.java       |   8 +-
 .../KubernetesPersistentVolumesClaimsEndpoint.java |   7 +-
 .../kubernetes/pods/KubernetesPodsEndpoint.java    |   8 +-
 .../KubernetesReplicationControllersEndpoint.java  |   7 +-
 .../KubernetesResourcesQuotaEndpoint.java          |   7 +-
 .../secrets/KubernetesSecretsEndpoint.java         |   7 +-
 .../KubernetesServiceAccountsEndpoint.java         |   7 +-
 .../services/KubernetesServicesEndpoint.java       |   8 +-
 .../OpenshiftBuildConfigsEndpoint.java             |   8 +-
 .../openshift/builds/OpenshiftBuildsEndpoint.java  |   8 +-
 53 files changed, 424 insertions(+), 129 deletions(-)

diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json
index 8bb16b2..05f5717 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json
@@ -25,6 +25,15 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesConfigMapsLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ConfigMap labels" },
+    "CamelKubernetesConfigMapName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ConfigMap name" },
+    "CamelKubernetesConfigData": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ConfigMap Data" },
+    "CamelKubernetesEventAction": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer" },
+    "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/customresources/kubernetes-custom-resources.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/customresources/kubernetes-custom-resources.json
index fe20dbe..1770e9d 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/customresources/kubernetes-custom-resources.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/customresources/kubernetes-custom-resources.json
@@ -26,6 +26,21 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesCRDInstanceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name" },
+    "CamelKubernetesCRDEventTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer" },
+    "CamelKubernetesCRDEventAction": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer" },
+    "CamelKubernetesCRDName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Consumer CRD Resource name we would like to watch" },
+    "CamelKubernetesCRDGroup": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Consumer CRD Resource Group we would like to watch" },
+    "CamelKubernetesCRDScope": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Consumer CRD Resource Scope we would like to watch" },
+    "CamelKubernetesCRDVersion": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Consumer CRD Resource Version we would like to watch" },
+    "CamelKubernetesCRDPlural": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Consumer CRD Resource Plural we would like to watch" },
+    "CamelKubernetesCRDLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CRD resource labels" },
+    "CamelKubernetesCRDInstance": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The manifest of the CRD resource to create as JSON string" },
+    "CamelKubernetesDeleteResult": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The result of the delete operation" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json
index bc33884..42a8b74 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json
@@ -26,6 +26,16 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesDeploymentsLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment labels" },
+    "CamelKubernetesDeploymentName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name" },
+    "CamelKubernetesDeploymentSpec": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.apps.DeploymentSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a deployment" },
+    "CamelKubernetesDeploymentReplicas": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The desired instance count" },
+    "CamelKubernetesEventAction": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer" },
+    "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/hpa/kubernetes-hpa.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/hpa/kubernetes-hpa.json
index 8b06712..7451d56 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/hpa/kubernetes-hpa.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/hpa/kubernetes-hpa.json
@@ -26,6 +26,15 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesHPAName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The HPA name." },
+    "CamelKubernetesHPASpec": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.autoscaling.v1.HorizontalPodAutoscalerSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a HPA." },
+    "CamelKubernetesHPALabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The HPA labels." },
+    "CamelKubernetesEventAction": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer" },
+    "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/job/kubernetes-job.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/job/kubernetes-job.json
index 3934bd5..e9bf906 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/job/kubernetes-job.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/job/kubernetes-job.json
@@ -26,6 +26,13 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesJobName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Job name." },
+    "CamelKubernetesJobSpec": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.batch.v1.JobSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a Job." },
+    "CamelKubernetesJobLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Job labels." }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/namespaces/kubernetes-namespaces.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/namespaces/kubernetes-namespaces.json
index 8fe7506..7be17ef 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/namespaces/kubernetes-namespaces.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/namespaces/kubernetes-namespaces.json
@@ -26,6 +26,13 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesNamespaceLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace labels" },
+    "CamelKubernetesEventAction": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer" },
+    "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/nodes/kubernetes-nodes.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/nodes/kubernetes-nodes.json
index 0c4e8d8..47ce634 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/nodes/kubernetes-nodes.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/nodes/kubernetes-nodes.json
@@ -26,6 +26,14 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNodesLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The node labels" },
+    "CamelKubernetesNodeName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The node name" },
+    "CamelKubernetesNodeSpec": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.NodeSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a node" },
+    "CamelKubernetesEventAction": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer" },
+    "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/persistent_volumes/kubernetes-persistent-volumes.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/persistent_volumes/kubernetes-persistent-volumes.json
index afd37e2..0767e97 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/persistent_volumes/kubernetes-persistent-volumes.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/persistent_volumes/kubernetes-persistent-volumes.json
@@ -25,6 +25,11 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesPersistentVolumesLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The persistent volume labels" },
+    "CamelKubernetesPersistentVolumeName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The persistent volume name" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/persistent_volumes_claims/kubernetes-persistent-volumes-claims.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/persistent_volumes_claims/kubernetes-persistent-volumes-claims.json
index 6c2981a..eac9c26 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/persistent_volumes_claims/kubernetes-persistent-volumes-claims.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/persistent_volumes_claims/kubernetes-persistent-volumes-claims.json
@@ -25,6 +25,13 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesPersistentVolumesClaimsLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The persistent volume claim labels" },
+    "CamelKubernetesPersistentVolumeClaimName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The persistent volume claim name" },
+    "CamelKubernetesPersistentVolumeClaimSpec": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.PersistentVolumeClaimSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a persistent volume claim" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/pods/kubernetes-pods.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/pods/kubernetes-pods.json
index 60b44b3..6528118 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/pods/kubernetes-pods.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/pods/kubernetes-pods.json
@@ -26,6 +26,15 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesPodsLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The pod labels" },
+    "CamelKubernetesPodName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The pod name" },
+    "CamelKubernetesPodSpec": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.PodSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a pod" },
+    "CamelKubernetesEventAction": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer" },
+    "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/replication_controllers/kubernetes-replication-controllers.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/replication_controllers/kubernetes-replication-controllers.json
index 1664c53..939c2ef 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/replication_controllers/kubernetes-replication-controllers.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/replication_controllers/kubernetes-replication-controllers.json
@@ -26,6 +26,16 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesReplicationControllersLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The replication controller labels" },
+    "CamelKubernetesReplicationControllerName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The replication controller name" },
+    "CamelKubernetesReplicationControllerSpec": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.ReplicationControllerSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a replication controller" },
+    "CamelKubernetesReplicationControllerReplicas": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of replicas for a replication controller during the Scale operation" },
+    "CamelKubernetesEventAction": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer" },
+    "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/resources_quota/kubernetes-resources-quota.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/resources_quota/kubernetes-resources-quota.json
index a98d1ad..eed04b5 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/resources_quota/kubernetes-resources-quota.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/resources_quota/kubernetes-resources-quota.json
@@ -25,6 +25,13 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesResourcesQuotaLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The resource quota labels" },
+    "CamelKubernetesResourcesQuotaName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The resource quota name" },
+    "CamelKubernetesResourceQuotaSpec": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.ResourceQuotaSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a resource quota" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/secrets/kubernetes-secrets.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/secrets/kubernetes-secrets.json
index 4d8781f..fb706a6 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/secrets/kubernetes-secrets.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/secrets/kubernetes-secrets.json
@@ -25,6 +25,13 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesSecretsLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The secret labels" },
+    "CamelKubernetesSecretName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The secret name" },
+    "CamelKubernetesSecret": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.Secret", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "A secret object" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/service_accounts/kubernetes-service-accounts.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/service_accounts/kubernetes-service-accounts.json
index b317448..df63dd9 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/service_accounts/kubernetes-service-accounts.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/service_accounts/kubernetes-service-accounts.json
@@ -25,6 +25,13 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesServiceAccountsLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The service account labels" },
+    "CamelKubernetesServiceAccountName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The service account name" },
+    "CamelKubernetesServiceAccount": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.ServiceAccount", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "A service account object" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/services/kubernetes-services.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/services/kubernetes-services.json
index 0712f7d..019dbda 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/services/kubernetes-services.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/services/kubernetes-services.json
@@ -26,6 +26,15 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesServiceLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The service labels" },
+    "CamelKubernetesServiceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The service name" },
+    "CamelKubernetesServiceSpec": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.ServiceSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec of a service" },
+    "CamelKubernetesEventAction": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer" },
+    "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/openshift/build_configs/openshift-build-configs.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/openshift/build_configs/openshift-build-configs.json
index ce31a3b..3523f4a 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/openshift/build_configs/openshift-build-configs.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/openshift/build_configs/openshift-build-configs.json
@@ -25,6 +25,12 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesBuildConfigsLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Openshift Config Build labels" },
+    "CamelKubernetesBuildConfigName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Openshift Config Build name" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/openshift/builds/openshift-builds.json b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/openshift/builds/openshift-builds.json
index 891c908..b8728ff 100644
--- a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/openshift/builds/openshift-builds.json
+++ b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/openshift/builds/openshift-builds.json
@@ -25,6 +25,12 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
   },
+  "headers": {
+    "CamelKubernetesOperation": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation" },
+    "CamelKubernetesNamespaceName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name" },
+    "CamelKubernetesBuildsLabels": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Openshift build labels" },
+    "CamelKubernetesBuildName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Openshift build name" }
+  },
   "properties": {
     "masterUrl": { "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "Kubernetes Master url" },
     "apiVersion": { "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" },
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
index e8b1896..2847ae9 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
@@ -31,6 +31,10 @@ include::partial$component-endpoint-options.adoc[]
 
 // endpoint options: END
 
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
+
 == Supported producer operation
 
 - listConfigMaps
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-custom-resources-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-custom-resources-component.adoc
index d88c7e8..6c1d034 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-custom-resources-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-custom-resources-component.adoc
@@ -31,6 +31,9 @@ include::partial$component-endpoint-options.adoc[]
 
 // endpoint options: END
 
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
index f72ddb8..bd2cd9d 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
@@ -30,6 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 
 // endpoint options: END
 
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
index 99067c2..eb4a8a7 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
@@ -30,6 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 
 // endpoint options: END
 
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
index 4b88450..4976319 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
@@ -31,6 +31,9 @@ include::partial$component-endpoint-options.adoc[]
 
 // endpoint options: END
 
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
index 3d43350..bf95acf 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
@@ -31,6 +31,9 @@ include::partial$component-endpoint-options.adoc[]
 
 // endpoint options: END
 
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
index 35197ee..1f87d1e 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
@@ -30,7 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
index 6381de2..742279f 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
@@ -30,7 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
index 30e1f5f..ff0b458 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
@@ -30,7 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
index fbb5f39..b399b71 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
@@ -30,7 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
index 4404f02..d686cd1 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
@@ -31,7 +31,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
index e1dd453..0da5529 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
@@ -30,7 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
index 2a077e0..36f4e96 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
@@ -30,7 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
index e9fc7a9..4d1175c 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
@@ -30,7 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
index 791ac04..3779459 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
@@ -30,7 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-summary.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-summary.adoc
index 95e708b..f6922f8 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-summary.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-summary.adoc
@@ -31,90 +31,6 @@ their `pom.xml` for this component:
 ------------------------------------------------------------
 
 
-== Headers
-
-[width="100%",options="header"]
-|=======================================================================
-|Name |Type |Description
-
-|CamelKubernetesOperation |String |The Producer operation
-
-|CamelKubernetesNamespaceName |String |The Namespace name
-
-|CamelKubernetesNamespaceLabels |Map |The Namespace Labels
-
-|CamelKubernetesServiceLabels |Map |The Service labels
-
-|CamelKubernetesServiceName |String |The Service name
-
-|CamelKubernetesServiceSpec |io.fabric8.kubernetes.api.model.ServiceSpec |The Spec for a Service
-
-|CamelKubernetesReplicationControllersLabels |Map |Replication controller labels
-
-|CamelKubernetesReplicationControllerName |String |Replication controller name
-
-|CamelKubernetesReplicationControllerSpec |io.fabric8.kubernetes.api.model.ReplicationControllerSpec |The Spec for a Replication Controller
-
-|CamelKubernetesReplicationControllerReplicas |Integer |The number of replicas for a Replication Controller during the Scale operation
-
-|CamelKubernetesPodsLabels |Map |Pod labels
-
-|CamelKubernetesPodName |String |Pod name
-
-|CamelKubernetesPodSpec |io.fabric8.kubernetes.api.model.PodSpec |The Spec for a Pod
-
-|CamelKubernetesPersistentVolumesLabels |Map |Persistent Volume labels
-
-|CamelKubernetesPersistentVolumesName |String |Persistent Volume name
-
-|CamelKubernetesPersistentVolumesClaimsLabels |Map |Persistent Volume Claim labels
-
-|CamelKubernetesPersistentVolumesClaimsName |String |Persistent Volume Claim name
-
-|CamelKubernetesPersistentVolumesClaimsSpec |io.fabric8.kubernetes.api.model.PersistentVolumeClaimSpec |The Spec for a Persistent Volume claim
-
-|CamelKubernetesSecretsLabels |Map |Secret labels
-
-|CamelKubernetesSecretsName |String |Secret name
-
-|CamelKubernetesSecret |io.fabric8.kubernetes.api.model.Secret |A Secret Object
-
-|CamelKubernetesResourcesQuotaLabels |Map |Resource Quota labels
-
-|CamelKubernetesResourcesQuotaName |String |Resource Quota name
-
-|CamelKubernetesResourceQuotaSpec |io.fabric8.kubernetes.api.model.ResourceQuotaSpec |The Spec for a Resource Quota
-
-|CamelKubernetesServiceAccountsLabels |Map |Service Account labels
-
-|CamelKubernetesServiceAccountName |String |Service Account name
-
-|CamelKubernetesServiceAccount |io.fabric8.kubernetes.api.model.ServiceAccount |A Service Account object
-
-|CamelKubernetesNodesLabels |Map |Node labels
-
-|CamelKubernetesNodeName |String |Node name
-
-|CamelKubernetesBuildsLabels |Map |Openshift Build labels
-
-|CamelKubernetesBuildName |String |Openshift Build name
-
-|CamelKubernetesBuildConfigsLabels |Map |Openshift Build Config labels
-
-|CamelKubernetesBuildConfigName |String |Openshift Build Config name
-
-|CamelKubernetesEventAction |io.fabric8.kubernetes.client.Watcher.Action |Action watched by the consumer
-
-|CamelKubernetesEventTimestamp |String |Timestamp of the action watched by the consumer
-
-|CamelKubernetesConfigMapName |String |ConfigMap name
-
-|CamelKubernetesConfigMapsLabels |Map |ConfigMap labels
-
-|CamelKubernetesConfigData |Map |ConfigMap Data
-|=======================================================================
-
-
 == Usage
 
 === Producer examples
diff --git a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
index 1e16fb4..aa472ab 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
@@ -30,7 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
index 1911088..f1c4d03 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
@@ -30,6 +30,9 @@ include::partial$component-endpoint-options.adoc[]
 // endpoint options: START
 
 // endpoint options: END
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Supported producer operation
 
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConstants.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConstants.java
index cdcbea4f..636be73 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConstants.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConstants.java
@@ -16,70 +16,209 @@
  */
 package org.apache.camel.component.kubernetes;
 
+import org.apache.camel.spi.Metadata;
+
 public final class KubernetesConstants {
+    // Schemes
+    public static final String SCHEME_CONFIG_MAPS = "kubernetes-config-maps";
+    public static final String SCHEME_CUSTOM_RESOURCES = "kubernetes-custom-resources";
+    public static final String SCHEME_DEPLOYMENTS = "kubernetes-deployments";
+    public static final String SCHEME_HPA = "kubernetes-hpa";
+    public static final String SCHEME_JOB = "kubernetes-job";
+    public static final String SCHEME_NAMESPACES = "kubernetes-namespaces";
+    public static final String SCHEME_NODES = "kubernetes-nodes";
+    public static final String SCHEME_PERSISTENT_VOLUMES = "kubernetes-persistent-volumes";
+    public static final String SCHEME_PERSISTENT_VOLUMES_CLAIMS = "kubernetes-persistent-volumes-claims";
+    public static final String SCHEME_PODS = "kubernetes-pods";
+    public static final String SCHEME_REPLICATION_CONTROLLERS = "kubernetes-replication-controllers";
+    public static final String SCHEME_RESOURCES_QUOTA = "kubernetes-resources-quota";
+    public static final String SCHEME_SECRETS = "kubernetes-secrets";
+    public static final String SCHEME_SERVICE_ACCOUNTS = "kubernetes-service-accounts";
+    public static final String SCHEME_SERVICES = "kubernetes-services";
+    public static final String SCHEME_BUILD_CONFIG = "openshift-build-configs";
+    public static final String SCHEME_BUILDS = "openshift-builds";
     // Producer
+    @Metadata(label = "producer", description = "The Producer operation", javaType = "String")
     public static final String KUBERNETES_OPERATION = "CamelKubernetesOperation";
+    @Metadata(label = "producer", description = "The namespace name", javaType = "String",
+              applicableFor = {
+                      SCHEME_CONFIG_MAPS, SCHEME_CUSTOM_RESOURCES, SCHEME_DEPLOYMENTS,
+                      SCHEME_HPA, SCHEME_JOB, SCHEME_NAMESPACES, SCHEME_PERSISTENT_VOLUMES_CLAIMS, SCHEME_PODS,
+                      SCHEME_REPLICATION_CONTROLLERS, SCHEME_RESOURCES_QUOTA, SCHEME_SECRETS, SCHEME_SERVICE_ACCOUNTS,
+                      SCHEME_SERVICES, SCHEME_BUILD_CONFIG, SCHEME_BUILDS })
     public static final String KUBERNETES_NAMESPACE_NAME = "CamelKubernetesNamespaceName";
+    @Metadata(label = "producer", description = "The namespace labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_NAMESPACES)
     public static final String KUBERNETES_NAMESPACE_LABELS = "CamelKubernetesNamespaceLabels";
+    @Metadata(label = "producer", description = "The service labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_SERVICES)
     public static final String KUBERNETES_SERVICE_LABELS = "CamelKubernetesServiceLabels";
+    @Metadata(label = "producer", description = "The service name", javaType = "String", applicableFor = SCHEME_SERVICES)
     public static final String KUBERNETES_SERVICE_NAME = "CamelKubernetesServiceName";
+    @Metadata(label = "producer", description = "The spec of a service",
+              javaType = "io.fabric8.kubernetes.api.model.ServiceSpec", applicableFor = SCHEME_SERVICES)
     public static final String KUBERNETES_SERVICE_SPEC = "CamelKubernetesServiceSpec";
+    @Metadata(label = "producer", description = "The replication controller labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_REPLICATION_CONTROLLERS)
     public static final String KUBERNETES_REPLICATION_CONTROLLERS_LABELS = "CamelKubernetesReplicationControllersLabels";
+    @Metadata(label = "producer", description = "The replication controller name", javaType = "String",
+              applicableFor = SCHEME_REPLICATION_CONTROLLERS)
     public static final String KUBERNETES_REPLICATION_CONTROLLER_NAME = "CamelKubernetesReplicationControllerName";
+    @Metadata(label = "producer", description = "The spec for a replication controller",
+              javaType = "io.fabric8.kubernetes.api.model.ReplicationControllerSpec",
+              applicableFor = SCHEME_REPLICATION_CONTROLLERS)
     public static final String KUBERNETES_REPLICATION_CONTROLLER_SPEC = "CamelKubernetesReplicationControllerSpec";
+    @Metadata(label = "producer",
+              description = "The number of replicas for a replication controller during the Scale operation",
+              javaType = "Integer", applicableFor = SCHEME_REPLICATION_CONTROLLERS)
     public static final String KUBERNETES_REPLICATION_CONTROLLER_REPLICAS = "CamelKubernetesReplicationControllerReplicas";
+    @Metadata(label = "producer", description = "The pod labels", javaType = "Map<String, String>", applicableFor = SCHEME_PODS)
     public static final String KUBERNETES_PODS_LABELS = "CamelKubernetesPodsLabels";
+    @Metadata(label = "producer", description = "The pod name", javaType = "String", applicableFor = SCHEME_PODS)
     public static final String KUBERNETES_POD_NAME = "CamelKubernetesPodName";
+    @Metadata(label = "producer", description = "The spec for a pod", javaType = "io.fabric8.kubernetes.api.model.PodSpec",
+              applicableFor = SCHEME_PODS)
     public static final String KUBERNETES_POD_SPEC = "CamelKubernetesPodSpec";
+    @Metadata(label = "producer", description = "The persistent volume labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_PERSISTENT_VOLUMES)
     public static final String KUBERNETES_PERSISTENT_VOLUMES_LABELS = "CamelKubernetesPersistentVolumesLabels";
+    @Metadata(label = "producer", description = "The persistent volume name", javaType = "String",
+              applicableFor = SCHEME_PERSISTENT_VOLUMES)
     public static final String KUBERNETES_PERSISTENT_VOLUME_NAME = "CamelKubernetesPersistentVolumeName";
+    @Metadata(label = "producer", description = "The persistent volume claim labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_PERSISTENT_VOLUMES_CLAIMS)
     public static final String KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS = "CamelKubernetesPersistentVolumesClaimsLabels";
+    @Metadata(label = "producer", description = "The persistent volume claim name", javaType = "String",
+              applicableFor = SCHEME_PERSISTENT_VOLUMES_CLAIMS)
     public static final String KUBERNETES_PERSISTENT_VOLUME_CLAIM_NAME = "CamelKubernetesPersistentVolumeClaimName";
+    @Metadata(label = "producer", description = "The spec for a persistent volume claim",
+              javaType = "io.fabric8.kubernetes.api.model.PersistentVolumeClaimSpec",
+              applicableFor = SCHEME_PERSISTENT_VOLUMES_CLAIMS)
     public static final String KUBERNETES_PERSISTENT_VOLUME_CLAIM_SPEC = "CamelKubernetesPersistentVolumeClaimSpec";
+    @Metadata(label = "producer", description = "The secret labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_SECRETS)
     public static final String KUBERNETES_SECRETS_LABELS = "CamelKubernetesSecretsLabels";
+    @Metadata(label = "producer", description = "The secret name", javaType = "String", applicableFor = SCHEME_SECRETS)
     public static final String KUBERNETES_SECRET_NAME = "CamelKubernetesSecretName";
+    @Metadata(label = "producer", description = "A secret object", javaType = "io.fabric8.kubernetes.api.model.Secret",
+              applicableFor = SCHEME_SECRETS)
     public static final String KUBERNETES_SECRET = "CamelKubernetesSecret";
+    @Metadata(label = "producer", description = "The resource quota labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_RESOURCES_QUOTA)
     public static final String KUBERNETES_RESOURCES_QUOTA_LABELS = "CamelKubernetesResourcesQuotaLabels";
+    @Metadata(label = "producer", description = "The resource quota name", javaType = "String",
+              applicableFor = SCHEME_RESOURCES_QUOTA)
     public static final String KUBERNETES_RESOURCES_QUOTA_NAME = "CamelKubernetesResourcesQuotaName";
+    @Metadata(label = "producer", description = "The spec for a resource quota",
+              javaType = "io.fabric8.kubernetes.api.model.ResourceQuotaSpec", applicableFor = SCHEME_RESOURCES_QUOTA)
     public static final String KUBERNETES_RESOURCE_QUOTA_SPEC = "CamelKubernetesResourceQuotaSpec";
+    @Metadata(label = "producer", description = "The service account labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_SERVICE_ACCOUNTS)
     public static final String KUBERNETES_SERVICE_ACCOUNTS_LABELS = "CamelKubernetesServiceAccountsLabels";
+    @Metadata(label = "producer", description = "The service account name", javaType = "String",
+              applicableFor = SCHEME_SERVICE_ACCOUNTS)
     public static final String KUBERNETES_SERVICE_ACCOUNT_NAME = "CamelKubernetesServiceAccountName";
+    @Metadata(label = "producer", description = "A service account object",
+              javaType = "io.fabric8.kubernetes.api.model.ServiceAccount", applicableFor = SCHEME_SERVICE_ACCOUNTS)
     public static final String KUBERNETES_SERVICE_ACCOUNT = "CamelKubernetesServiceAccount";
+    @Metadata(label = "producer", description = "The node labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_NODES)
     public static final String KUBERNETES_NODES_LABELS = "CamelKubernetesNodesLabels";
+    @Metadata(label = "producer", description = "The node name", javaType = "String", applicableFor = SCHEME_NODES)
     public static final String KUBERNETES_NODE_NAME = "CamelKubernetesNodeName";
+    @Metadata(label = "producer", description = "The spec for a node", javaType = "io.fabric8.kubernetes.api.model.NodeSpec",
+              applicableFor = SCHEME_NODES)
     public static final String KUBERNETES_NODE_SPEC = "CamelKubernetesNodeSpec";
+    @Metadata(label = "producer", description = "The deployment labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_DEPLOYMENTS)
     public static final String KUBERNETES_DEPLOYMENTS_LABELS = "CamelKubernetesDeploymentsLabels";
+    @Metadata(label = "producer", description = "The deployment name", javaType = "String", applicableFor = SCHEME_DEPLOYMENTS)
     public static final String KUBERNETES_DEPLOYMENT_NAME = "CamelKubernetesDeploymentName";
+    @Metadata(label = "producer", description = "The spec for a deployment",
+              javaType = "io.fabric8.kubernetes.api.model.apps.DeploymentSpec", applicableFor = SCHEME_DEPLOYMENTS)
     public static final String KUBERNETES_DEPLOYMENT_SPEC = "CamelKubernetesDeploymentSpec";
+    @Metadata(label = "producer", description = "The ConfigMap labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_CONFIG_MAPS)
     public static final String KUBERNETES_CONFIGMAPS_LABELS = "CamelKubernetesConfigMapsLabels";
+    @Metadata(label = "producer", description = "The ConfigMap name", javaType = "String", applicableFor = SCHEME_CONFIG_MAPS)
     public static final String KUBERNETES_CONFIGMAP_NAME = "CamelKubernetesConfigMapName";
+    @Metadata(label = "producer", description = "The ConfigMap Data", javaType = "Map<String, String>",
+              applicableFor = SCHEME_CONFIG_MAPS)
     public static final String KUBERNETES_CONFIGMAP_DATA = "CamelKubernetesConfigData";
+    @Metadata(label = "producer", description = "The Openshift build labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_BUILDS)
     public static final String KUBERNETES_BUILDS_LABELS = "CamelKubernetesBuildsLabels";
+    @Metadata(label = "producer", description = "The Openshift build name", javaType = "String", applicableFor = SCHEME_BUILDS)
     public static final String KUBERNETES_BUILD_NAME = "CamelKubernetesBuildName";
+    @Metadata(label = "producer", description = "The Openshift Config Build labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_BUILD_CONFIG)
     public static final String KUBERNETES_BUILD_CONFIGS_LABELS = "CamelKubernetesBuildConfigsLabels";
+    @Metadata(label = "producer", description = "The Openshift Config Build name", javaType = "String",
+              applicableFor = SCHEME_BUILD_CONFIG)
     public static final String KUBERNETES_BUILD_CONFIG_NAME = "CamelKubernetesBuildConfigName";
+    @Metadata(label = "producer", description = "The desired instance count", javaType = "Integer",
+              applicableFor = SCHEME_DEPLOYMENTS)
     public static final String KUBERNETES_DEPLOYMENT_REPLICAS = "CamelKubernetesDeploymentReplicas";
+    @Metadata(label = "producer", description = "The HPA name.", javaType = "String", applicableFor = SCHEME_HPA)
     public static final String KUBERNETES_HPA_NAME = "CamelKubernetesHPAName";
+    @Metadata(label = "producer", description = "The spec for a HPA.",
+              javaType = "io.fabric8.kubernetes.api.model.autoscaling.v1.HorizontalPodAutoscalerSpec",
+              applicableFor = SCHEME_HPA)
     public static final String KUBERNETES_HPA_SPEC = "CamelKubernetesHPASpec";
+    @Metadata(label = "producer", description = "The HPA labels.", javaType = "Map<String, String>", applicableFor = SCHEME_HPA)
     public static final String KUBERNETES_HPA_LABELS = "CamelKubernetesHPALabels";
+    @Metadata(label = "producer", description = "The Job name.", javaType = "String", applicableFor = SCHEME_JOB)
     public static final String KUBERNETES_JOB_NAME = "CamelKubernetesJobName";
+    @Metadata(label = "producer", description = "The spec for a Job.",
+              javaType = "io.fabric8.kubernetes.api.model.batch.v1.JobSpec", applicableFor = SCHEME_JOB)
     public static final String KUBERNETES_JOB_SPEC = "CamelKubernetesJobSpec";
+    @Metadata(label = "producer", description = "The Job labels.", javaType = "Map<String, String>", applicableFor = SCHEME_JOB)
     public static final String KUBERNETES_JOB_LABELS = "CamelKubernetesJobLabels";
+    @Metadata(label = "producer", description = "The deployment name", javaType = "String",
+              applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_INSTANCE_NAME = "CamelKubernetesCRDInstanceName";
+    @Metadata(label = "consumer", description = "Timestamp of the action watched by the consumer", javaType = "long",
+              applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_EVENT_TIMESTAMP = "CamelKubernetesCRDEventTimestamp";
+    @Metadata(label = "consumer", description = "Action watched by the consumer",
+              javaType = "io.fabric8.kubernetes.client.Watcher.Action", applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_EVENT_ACTION = "CamelKubernetesCRDEventAction";
+    @Metadata(label = "producer", description = "The Consumer CRD Resource name we would like to watch", javaType = "String",
+              applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_NAME = "CamelKubernetesCRDName";
+    @Metadata(label = "producer", description = "The Consumer CRD Resource Group we would like to watch", javaType = "String",
+              applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_GROUP = "CamelKubernetesCRDGroup";
+    @Metadata(label = "producer", description = "The Consumer CRD Resource Scope we would like to watch", javaType = "String",
+              applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_SCOPE = "CamelKubernetesCRDScope";
+    @Metadata(label = "producer", description = "The Consumer CRD Resource Version we would like to watch", javaType = "String",
+              applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_VERSION = "CamelKubernetesCRDVersion";
+    @Metadata(label = "producer", description = "The Consumer CRD Resource Plural we would like to watch", javaType = "String",
+              applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_PLURAL = "CamelKubernetesCRDPlural";
+    @Metadata(label = "producer", description = "The CRD resource labels", javaType = "Map<String, String>",
+              applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_LABELS = "CamelKubernetesCRDLabels";
+    @Metadata(label = "producer", description = "The manifest of the CRD resource to create as JSON string",
+              javaType = "String", applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_CRD_INSTANCE = "CamelKubernetesCRDInstance";
-
+    @Metadata(label = "producer", description = "The result of the delete operation", javaType = "boolean",
+              applicableFor = SCHEME_CUSTOM_RESOURCES)
     public static final String KUBERNETES_DELETE_RESULT = "CamelKubernetesDeleteResult";
 
     // Consumer
+    @Metadata(label = "consumer", description = "Action watched by the consumer",
+              javaType = "io.fabric8.kubernetes.client.Watcher.Action",
+              applicableFor = {
+                      SCHEME_CONFIG_MAPS, SCHEME_DEPLOYMENTS, SCHEME_HPA, SCHEME_NAMESPACES, SCHEME_NODES, SCHEME_PODS,
+                      SCHEME_REPLICATION_CONTROLLERS, SCHEME_SERVICES })
     public static final String KUBERNETES_EVENT_ACTION = "CamelKubernetesEventAction";
+    @Metadata(label = "consumer", description = "Timestamp of the action watched by the consumer", javaType = "long",
+              applicableFor = {
+                      SCHEME_CONFIG_MAPS, SCHEME_DEPLOYMENTS, SCHEME_HPA, SCHEME_NAMESPACES, SCHEME_NODES, SCHEME_PODS,
+                      SCHEME_REPLICATION_CONTROLLERS, SCHEME_SERVICES })
     public static final String KUBERNETES_EVENT_TIMESTAMP = "CamelKubernetesEventTimestamp";
 
     private KubernetesConstants() {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java
index 8527706..b140f57 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java
@@ -22,14 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_CONFIG_MAPS;
+
 /**
  * Perform operations on Kubernetes ConfigMaps and get notified on ConfigMaps changes.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-config-maps", title = "Kubernetes ConfigMap",
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_CONFIG_MAPS, title = "Kubernetes ConfigMap",
              syntax = "kubernetes-config-maps:masterUrl", producerOnly = true,
-             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS }, headersClass = KubernetesConstants.class)
 public class KubernetesConfigMapsEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesConfigMapsEndpoint(String uri, KubernetesConfigMapsComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesEndpoint.java
index 5f97b3c..1648101 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesEndpoint.java
@@ -22,13 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_CUSTOM_RESOURCES;
+
 /**
  * Perform operations on Kubernetes Custom Resources and get notified on Deployment changes.
  */
-@UriEndpoint(firstVersion = "3.7.0", scheme = "kubernetes-custom-resources", title = "Kubernetes Custom Resources",
-             syntax = "kubernetes-custom-resources:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+@UriEndpoint(firstVersion = "3.7.0", scheme = SCHEME_CUSTOM_RESOURCES, title = "Kubernetes Custom Resources",
+             syntax = "kubernetes-custom-resources:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS },
+             headersClass = KubernetesConstants.class)
 public class KubernetesCustomResourcesEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesCustomResourcesEndpoint(String uri, KubernetesCustomResourcesComponent component,
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java
index 60a62e7..59dc817 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java
@@ -22,13 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_DEPLOYMENTS;
+
 /**
  * Perform operations on Kubernetes Deployments and get notified on Deployment changes.
  */
-@UriEndpoint(firstVersion = "2.20.0", scheme = "kubernetes-deployments", title = "Kubernetes Deployments",
-             syntax = "kubernetes-deployments:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+@UriEndpoint(firstVersion = "2.20.0", scheme = SCHEME_DEPLOYMENTS, title = "Kubernetes Deployments",
+             syntax = "kubernetes-deployments:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS },
+             headersClass = KubernetesConstants.class)
 public class KubernetesDeploymentsEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesDeploymentsEndpoint(String uri, KubernetesDeploymentsComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java
index 6dc034c..624f068 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java
@@ -22,13 +22,16 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_HPA;
+
 /**
  * Perform operations on Kubernetes Horizontal Pod Autoscalers (HPA) and get notified on HPA changes.
  */
-@UriEndpoint(firstVersion = "2.23.0", scheme = "kubernetes-hpa", title = "Kubernetes HPA", syntax = "kubernetes-hpa:masterUrl",
-             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+@UriEndpoint(firstVersion = "2.23.0", scheme = SCHEME_HPA, title = "Kubernetes HPA", syntax = "kubernetes-hpa:masterUrl",
+             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS }, headersClass = KubernetesConstants.class)
 public class KubernetesHPAEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesHPAEndpoint(String uri, KubernetesHPAComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobEndpoint.java
index a95f96b..ab00c64 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobEndpoint.java
@@ -22,13 +22,16 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_JOB;
+
 /**
  * Perform operations on Kubernetes Jobs.
  */
-@UriEndpoint(firstVersion = "2.23.0", scheme = "kubernetes-job", title = "Kubernetes Job", syntax = "kubernetes-job:masterUrl",
-             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+@UriEndpoint(firstVersion = "2.23.0", scheme = SCHEME_JOB, title = "Kubernetes Job", syntax = "kubernetes-job:masterUrl",
+             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS }, headersClass = KubernetesConstants.class)
 public class KubernetesJobEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesJobEndpoint(String uri, KubernetesJobComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java
index fb9e9aa..787ce35 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java
@@ -22,13 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_NAMESPACES;
+
 /**
  * Perform operations on Kubernetes Namespaces and get notified on Namespace changes.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-namespaces", title = "Kubernetes Namespaces",
-             syntax = "kubernetes-namespaces:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_NAMESPACES, title = "Kubernetes Namespaces",
+             syntax = "kubernetes-namespaces:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS },
+             headersClass = KubernetesConstants.class)
 public class KubernetesNamespacesEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesNamespacesEndpoint(String uri, KubernetesNamespacesComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java
index 22aac16..4657668 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java
@@ -22,13 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_NODES;
+
 /**
  * Perform operations on Kubernetes Nodes and get notified on Node changes.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-nodes", title = "Kubernetes Nodes",
-             syntax = "kubernetes-nodes:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_NODES, title = "Kubernetes Nodes",
+             syntax = "kubernetes-nodes:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS },
+             headersClass = KubernetesConstants.class)
 public class KubernetesNodesEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesNodesEndpoint(String uri, KubernetesNodesComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes/KubernetesPersistentVolumesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes/KubernetesPersistentVolumesEndpoint.java
index 170d9ba..c841375 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes/KubernetesPersistentVolumesEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes/KubernetesPersistentVolumesEndpoint.java
@@ -22,14 +22,18 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_PERSISTENT_VOLUMES;
+
 /**
  * Perform operations on Kubernetes Persistent Volumes and get notified on Persistent Volume changes.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-persistent-volumes", title = "Kubernetes Persistent Volume",
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_PERSISTENT_VOLUMES, title = "Kubernetes Persistent Volume",
              syntax = "kubernetes-persistent-volumes:masterUrl",
-             producerOnly = true, category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+             producerOnly = true, category = { Category.CONTAINER, Category.CLOUD, Category.PAAS },
+             headersClass = KubernetesConstants.class)
 public class KubernetesPersistentVolumesEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesPersistentVolumesEndpoint(String uri, KubernetesPersistentVolumesComponent component,
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsEndpoint.java
index 650c00b..5a41268 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsEndpoint.java
@@ -22,15 +22,18 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_PERSISTENT_VOLUMES_CLAIMS;
+
 /**
  * Perform operations on Kubernetes Persistent Volumes Claims and get notified on Persistent Volumes Claim changes.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-persistent-volumes-claims",
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_PERSISTENT_VOLUMES_CLAIMS,
              title = "Kubernetes Persistent Volume Claim",
              syntax = "kubernetes-persistent-volumes-claims:masterUrl", producerOnly = true,
-             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS }, headersClass = KubernetesConstants.class)
 public class KubernetesPersistentVolumesClaimsEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesPersistentVolumesClaimsEndpoint(
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java
index b66b9f2..e4edd29 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java
@@ -22,13 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_PODS;
+
 /**
  * Perform operations on Kubernetes Pods and get notified on Pod changes.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-pods", title = "Kubernetes Pods",
-             syntax = "kubernetes-pods:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_PODS, title = "Kubernetes Pods",
+             syntax = "kubernetes-pods:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS },
+             headersClass = KubernetesConstants.class)
 public class KubernetesPodsEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesPodsEndpoint(String uri, KubernetesPodsComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersEndpoint.java
index dec6aa6..18706ae 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersEndpoint.java
@@ -22,14 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_REPLICATION_CONTROLLERS;
+
 /**
  * Perform operations on Kubernetes Replication Controllers and get notified on Replication Controllers changes.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-replication-controllers",
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_REPLICATION_CONTROLLERS,
              title = "Kubernetes Replication Controller", syntax = "kubernetes-replication-controllers:masterUrl",
-             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS }, headersClass = KubernetesConstants.class)
 public class KubernetesReplicationControllersEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesReplicationControllersEndpoint(String uri, KubernetesReplicationControllersComponent component,
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaEndpoint.java
index 6000a37..abb229f 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaEndpoint.java
@@ -22,14 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_RESOURCES_QUOTA;
+
 /**
  * Perform operations on Kubernetes Resources Quotas.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-resources-quota", title = "Kubernetes Resources Quota",
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_RESOURCES_QUOTA, title = "Kubernetes Resources Quota",
              syntax = "kubernetes-resources-quota:masterUrl", producerOnly = true,
-             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS }, headersClass = KubernetesConstants.class)
 public class KubernetesResourcesQuotaEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesResourcesQuotaEndpoint(String uri, KubernetesResourcesQuotaComponent component,
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsEndpoint.java
index fdd81cf..83b999d 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsEndpoint.java
@@ -22,14 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_SECRETS;
+
 /**
  * Perform operations on Kubernetes Secrets.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-secrets", title = "Kubernetes Secrets",
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_SECRETS, title = "Kubernetes Secrets",
              syntax = "kubernetes-secrets:masterUrl", producerOnly = true,
-             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS }, headersClass = KubernetesConstants.class)
 public class KubernetesSecretsEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesSecretsEndpoint(String uri, KubernetesSecretsComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsEndpoint.java
index 5899f22..64af443 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsEndpoint.java
@@ -22,14 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_SERVICE_ACCOUNTS;
+
 /**
  * Perform operations on Kubernetes Service Accounts.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-service-accounts", title = "Kubernetes Service Account",
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_SERVICE_ACCOUNTS, title = "Kubernetes Service Account",
              syntax = "kubernetes-service-accounts:masterUrl", producerOnly = true,
-             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+             category = { Category.CONTAINER, Category.CLOUD, Category.PAAS }, headersClass = KubernetesConstants.class)
 public class KubernetesServiceAccountsEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesServiceAccountsEndpoint(String uri, KubernetesServiceAccountsComponent component,
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesEndpoint.java
index c2ecb07..84a0085 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesEndpoint.java
@@ -22,13 +22,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_SERVICES;
+
 /**
  * Perform operations on Kubernetes Services and get notified on Service changes.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-services", title = "Kubernetes Services",
-             syntax = "kubernetes-services:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS })
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_SERVICES, title = "Kubernetes Services",
+             syntax = "kubernetes-services:masterUrl", category = { Category.CONTAINER, Category.CLOUD, Category.PAAS },
+             headersClass = KubernetesConstants.class)
 public class KubernetesServicesEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesServicesEndpoint(String uri, KubernetesServicesComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsEndpoint.java
index fe3eb7f0..8e73961 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsEndpoint.java
@@ -21,13 +21,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_BUILD_CONFIG;
+
 /**
  * Perform operations on OpenShift Build Configs.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "openshift-build-configs", title = "Openshift Build Config",
-             syntax = "openshift-build-configs:masterUrl", producerOnly = true, label = "container,cloud,paas")
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_BUILD_CONFIG, title = "Openshift Build Config",
+             syntax = "openshift-build-configs:masterUrl", producerOnly = true, label = "container,cloud,paas",
+             headersClass = KubernetesConstants.class)
 public class OpenshiftBuildConfigsEndpoint extends AbstractKubernetesEndpoint {
 
     public OpenshiftBuildConfigsEndpoint(String uri, OpenshiftBuildConfigsComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsEndpoint.java
index 4522c27..dc388c0 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsEndpoint.java
@@ -21,13 +21,17 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.spi.UriEndpoint;
 
+import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_BUILDS;
+
 /**
  * Perform operations on OpenShift Builds.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "openshift-builds", title = "Openshift Builds",
-             syntax = "openshift-builds:masterUrl", producerOnly = true, label = "container,cloud,paas")
+@UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_BUILDS, title = "Openshift Builds",
+             syntax = "openshift-builds:masterUrl", producerOnly = true, label = "container,cloud,paas",
+             headersClass = KubernetesConstants.class)
 public class OpenshiftBuildsEndpoint extends AbstractKubernetesEndpoint {
 
     public OpenshiftBuildsEndpoint(String uri, OpenshiftBuildsComponent component, KubernetesConfiguration config) {