You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2024/09/02 06:35:11 UTC
(camel) branch 21107-depl created (now 6104f9015c3)
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a change to branch 21107-depl
in repository https://gitbox.apache.org/repos/asf/camel.git
at 6104f9015c3 CAMEL-21107 - Camel-Kubernetes: Add ability to add annotation to create resources operation - Deployments
This branch includes the following new commits:
new 6104f9015c3 CAMEL-21107 - Camel-Kubernetes: Add ability to add annotation to create resources operation - Deployments
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(camel) 01/01: CAMEL-21107 - Camel-Kubernetes: Add ability to add annotation to create resources operation - Deployments
Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch 21107-depl
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 6104f9015c3783c0498119d61064cb1ecb64d522
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Sep 2 08:34:34 2024 +0200
CAMEL-21107 - Camel-Kubernetes: Add ability to add annotation to create resources operation - Deployments
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
.../catalog/components/kubernetes-deployments.json | 11 ++++----
.../components/openshift-deploymentconfigs.json | 11 ++++----
.../deployments/kubernetes-deployments.json | 11 ++++----
.../openshift-deploymentconfigs.json | 11 ++++----
.../component/kubernetes/KubernetesConstants.java | 3 +++
.../deployments/KubernetesDeploymentsProducer.java | 15 ++++++++---
.../KubernetesDeploymentsProducerTest.java | 30 ++++++++++++++++++++++
...ubernetesDeploymentsEndpointBuilderFactory.java | 13 ++++++++++
...iftDeploymentConfigsEndpointBuilderFactory.java | 13 ++++++++++
9 files changed, 95 insertions(+), 23 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-deployments.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-deployments.json
index 26ea0d30aad..c8736b4f01a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-deployments.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-deployments.json
@@ -32,11 +32,12 @@
"CamelKubernetesOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_OPERATION" },
"CamelKubernetesNamespaceName": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_NAMESPACE_NAME" },
"CamelKubernetesDeploymentsLabels": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment labels", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENTS_LABELS" },
- "CamelKubernetesDeploymentName": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_NAME" },
- "CamelKubernetesDeploymentSpec": { "index": 4, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_SPEC" },
- "CamelKubernetesDeploymentReplicas": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The desired instance count", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_REPLICAS" },
- "CamelKubernetesEventAction": { "index": 6, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...]
- "CamelKubernetesEventTimestamp": { "index": 7, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" }
+ "CamelKubernetesDeploymentsAnnotations": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment labels", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENTS_ANNOTATIONS" },
+ "CamelKubernetesDeploymentName": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_NAME" },
+ "CamelKubernetesDeploymentSpec": { "index": 5, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_SPEC" },
+ "CamelKubernetesDeploymentReplicas": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The desired instance count", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_REPLICAS" },
+ "CamelKubernetesEventAction": { "index": 7, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...]
+ "CamelKubernetesEventTimestamp": { "index": 8, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" }
},
"properties": {
"masterUrl": { "index": 0, "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": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/openshift-deploymentconfigs.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/openshift-deploymentconfigs.json
index 7de3085a16a..c9d29031d72 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/openshift-deploymentconfigs.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/openshift-deploymentconfigs.json
@@ -32,11 +32,12 @@
"CamelKubernetesOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_OPERATION" },
"CamelKubernetesNamespaceName": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_NAMESPACE_NAME" },
"CamelKubernetesDeploymentsLabels": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment labels", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENTS_LABELS" },
- "CamelKubernetesDeploymentName": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_NAME" },
- "CamelKubernetesDeploymentReplicas": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The desired instance count", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_REPLICAS" },
- "CamelKubernetesDeploymentConfigSpec": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.openshift.api.model.DeploymentConfigSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a deployment config", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_CONFIG_SPEC" },
- "CamelKubernetesEventAction": { "index": 6, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...]
- "CamelKubernetesEventTimestamp": { "index": 7, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" }
+ "CamelKubernetesDeploymentsAnnotations": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment labels", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENTS_ANNOTATIONS" },
+ "CamelKubernetesDeploymentName": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_NAME" },
+ "CamelKubernetesDeploymentReplicas": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The desired instance count", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_REPLICAS" },
+ "CamelKubernetesDeploymentConfigSpec": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.openshift.api.model.DeploymentConfigSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a deployment config", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_CONFIG_SPEC" },
+ "CamelKubernetesEventAction": { "index": 7, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...]
+ "CamelKubernetesEventTimestamp": { "index": 8, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" }
},
"properties": {
"masterUrl": { "index": 0, "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": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...]
diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json
index 26ea0d30aad..c8736b4f01a 100644
--- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json
+++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json
@@ -32,11 +32,12 @@
"CamelKubernetesOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_OPERATION" },
"CamelKubernetesNamespaceName": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_NAMESPACE_NAME" },
"CamelKubernetesDeploymentsLabels": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment labels", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENTS_LABELS" },
- "CamelKubernetesDeploymentName": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_NAME" },
- "CamelKubernetesDeploymentSpec": { "index": 4, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_SPEC" },
- "CamelKubernetesDeploymentReplicas": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The desired instance count", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_REPLICAS" },
- "CamelKubernetesEventAction": { "index": 6, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...]
- "CamelKubernetesEventTimestamp": { "index": 7, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" }
+ "CamelKubernetesDeploymentsAnnotations": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment labels", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENTS_ANNOTATIONS" },
+ "CamelKubernetesDeploymentName": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_NAME" },
+ "CamelKubernetesDeploymentSpec": { "index": 5, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_SPEC" },
+ "CamelKubernetesDeploymentReplicas": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The desired instance count", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_REPLICAS" },
+ "CamelKubernetesEventAction": { "index": 7, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...]
+ "CamelKubernetesEventTimestamp": { "index": 8, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" }
},
"properties": {
"masterUrl": { "index": 0, "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": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...]
diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/openshift/deploymentconfigs/openshift-deploymentconfigs.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/openshift/deploymentconfigs/openshift-deploymentconfigs.json
index 7de3085a16a..c9d29031d72 100644
--- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/openshift/deploymentconfigs/openshift-deploymentconfigs.json
+++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/openshift/deploymentconfigs/openshift-deploymentconfigs.json
@@ -32,11 +32,12 @@
"CamelKubernetesOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Producer operation", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_OPERATION" },
"CamelKubernetesNamespaceName": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The namespace name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_NAMESPACE_NAME" },
"CamelKubernetesDeploymentsLabels": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment labels", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENTS_LABELS" },
- "CamelKubernetesDeploymentName": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_NAME" },
- "CamelKubernetesDeploymentReplicas": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The desired instance count", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_REPLICAS" },
- "CamelKubernetesDeploymentConfigSpec": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.openshift.api.model.DeploymentConfigSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a deployment config", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_CONFIG_SPEC" },
- "CamelKubernetesEventAction": { "index": 6, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...]
- "CamelKubernetesEventTimestamp": { "index": 7, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" }
+ "CamelKubernetesDeploymentsAnnotations": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment labels", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENTS_ANNOTATIONS" },
+ "CamelKubernetesDeploymentName": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The deployment name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_NAME" },
+ "CamelKubernetesDeploymentReplicas": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The desired instance count", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_REPLICAS" },
+ "CamelKubernetesDeploymentConfigSpec": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.openshift.api.model.DeploymentConfigSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a deployment config", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DEPLOYMENT_CONFIG_SPEC" },
+ "CamelKubernetesEventAction": { "index": 7, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...]
+ "CamelKubernetesEventTimestamp": { "index": 8, "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", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" }
},
"properties": {
"masterUrl": { "index": 0, "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": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...]
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 ae9e69f3036..6822a3f9dc0 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
@@ -167,6 +167,9 @@ public final class KubernetesConstants {
@Metadata(label = "producer", description = "The deployment labels", javaType = "Map<String, String>",
applicableFor = { SCHEME_DEPLOYMENTS, SCHEME_DEPLOYMENT_CONFIGS })
public static final String KUBERNETES_DEPLOYMENTS_LABELS = "CamelKubernetesDeploymentsLabels";
+ @Metadata(label = "producer", description = "The deployment labels", javaType = "Map<String, String>",
+ applicableFor = { SCHEME_DEPLOYMENTS, SCHEME_DEPLOYMENT_CONFIGS })
+ public static final String KUBERNETES_DEPLOYMENTS_ANNOTATIONS = "CamelKubernetesDeploymentsAnnotations";
@Metadata(label = "producer", description = "The deployment name", javaType = "String",
applicableFor = { SCHEME_DEPLOYMENTS, SCHEME_DEPLOYMENT_CONFIGS })
public static final String KUBERNETES_DEPLOYMENT_NAME = "CamelKubernetesDeploymentName";
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
index 7e6c36085b4..d39b5524ff3 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
@@ -169,11 +169,20 @@ public class KubernetesDeploymentsProducer extends DefaultProducer {
String.format("%s a specific Deployment require specify a Deployment spec bean", operationName));
}
Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
- Deployment deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
- .endMetadata().withSpec(deSpec).build();
+ Map<String, String> annotations
+ = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_ANNOTATIONS, Map.class);
+ DeploymentBuilder deploymentCreating;
+ if (ObjectHelper.isEmpty(annotations)) {
+ deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
+ .endMetadata().withSpec(deSpec);
+ } else {
+ deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
+ .withAnnotations(annotations)
+ .endMetadata().withSpec(deSpec);
+ }
Deployment deployment
= operation.apply(getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
- .resource(deploymentCreating));
+ .resource(deploymentCreating.build()));
prepareOutboundMessage(exchange, deployment);
}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesDeploymentsProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesDeploymentsProducerTest.java
index 09315f2922a..8758b174dd4 100644
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesDeploymentsProducerTest.java
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesDeploymentsProducerTest.java
@@ -102,6 +102,34 @@ public class KubernetesDeploymentsProducerTest extends KubernetesTestSupport {
assertEquals(13, result.getSpec().getReplicas());
}
+ @Test
+ void createDeploymentWithAnnotations() {
+ Map<String, String> labels = Map.of("my.label.key", "my.label.value");
+ Map<String, String> annotations = Map.of("my.annotation.key", "my.annotation.value");
+ DeploymentSpec spec = new DeploymentSpecBuilder().withReplicas(13).build();
+ Deployment de1
+ = new DeploymentBuilder().withNewMetadata().withName("de1").withNamespace("test").withLabels(labels)
+ .withAnnotations(annotations).and()
+ .withSpec(spec).build();
+ server.expect().post().withPath("/apis/apps/v1/namespaces/test/deployments").andReturn(200, de1).once();
+
+ Exchange ex = template.request("direct:createDeploymentWithAnnotations", exchange -> {
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "test");
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, labels);
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, "de1");
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_SPEC, spec);
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_ANNOTATIONS, annotations);
+ });
+
+ Deployment result = ex.getMessage().getBody(Deployment.class);
+
+ assertEquals("test", result.getMetadata().getNamespace());
+ assertEquals("de1", result.getMetadata().getName());
+ assertEquals(labels, result.getMetadata().getLabels());
+ assertEquals(13, result.getSpec().getReplicas());
+ assertEquals(annotations, result.getMetadata().getAnnotations());
+ }
+
@Test
void updateDeployment() {
Map<String, String> labels = Map.of("my.label.key", "my.label.value");
@@ -190,6 +218,8 @@ public class KubernetesDeploymentsProducerTest extends KubernetesTestSupport {
.toF("kubernetes-deployments:///?kubernetesClient=#kubernetesClient&operation=deleteDeployment");
from("direct:createDeployment")
.toF("kubernetes-deployments:///?kubernetesClient=#kubernetesClient&operation=createDeployment");
+ from("direct:createDeploymentWithAnnotations")
+ .toF("kubernetes-deployments:///?kubernetesClient=#kubernetesClient&operation=createDeployment");
from("direct:updateDeployment")
.toF("kubernetes-deployments:///?kubernetesClient=#kubernetesClient&operation=updateDeployment");
from("direct:scaleDeployment")
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KubernetesDeploymentsEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KubernetesDeploymentsEndpointBuilderFactory.java
index 998f1324da2..f091df98cca 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KubernetesDeploymentsEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KubernetesDeploymentsEndpointBuilderFactory.java
@@ -1486,6 +1486,19 @@ public interface KubernetesDeploymentsEndpointBuilderFactory {
public String kubernetesDeploymentsLabels() {
return "CamelKubernetesDeploymentsLabels";
}
+ /**
+ * The deployment labels.
+ *
+ * The option is a: {@code Map<String, String>} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * KubernetesDeploymentsAnnotations}.
+ */
+ public String kubernetesDeploymentsAnnotations() {
+ return "CamelKubernetesDeploymentsAnnotations";
+ }
/**
* The deployment name.
*
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/OpenshiftDeploymentConfigsEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/OpenshiftDeploymentConfigsEndpointBuilderFactory.java
index bdfc9657178..616f02792be 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/OpenshiftDeploymentConfigsEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/OpenshiftDeploymentConfigsEndpointBuilderFactory.java
@@ -1486,6 +1486,19 @@ public interface OpenshiftDeploymentConfigsEndpointBuilderFactory {
public String kubernetesDeploymentsLabels() {
return "CamelKubernetesDeploymentsLabels";
}
+ /**
+ * The deployment labels.
+ *
+ * The option is a: {@code Map<String, String>} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * KubernetesDeploymentsAnnotations}.
+ */
+ public String kubernetesDeploymentsAnnotations() {
+ return "CamelKubernetesDeploymentsAnnotations";
+ }
/**
* The deployment name.
*