This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4d9a728deee890904a9b76bb551e6f58fce0a881 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Thu Jul 30 18:23:13 2020 +0200 Sync Properties and regen catalog --- camel-dependencies/pom.xml | 2 +- .../org/apache/camel/catalog/docs.properties | 1 + .../camel/catalog/docs/arangodb-component.adoc | 2 + .../camel/catalog/docs/aws2-sqs-component.adoc | 17 +++- .../catalog/docs/kubernetes-job-component.adoc | 111 +++++++++++++++++++++ docs/components/modules/others/nav.adoc | 1 + 6 files changed, 130 insertions(+), 4 deletions(-) diff --git a/camel-dependencies/pom.xml b/camel-dependencies/pom.xml index 66adfea..832e592 100644 --- a/camel-dependencies/pom.xml +++ b/camel-dependencies/pom.xml @@ -479,7 +479,7 @@ <pubnub-version>4.25.0</pubnub-version> <pulsar-version>2.6.0</pulsar-version> <qpid-broker-version>8.0.0</qpid-broker-version> - <qpid-jms-client-version>0.52.0</qpid-jms-client-version> + <qpid-jms-client-version>0.53.0</qpid-jms-client-version> <qpid-proton-j-version>0.33.5</qpid-proton-j-version> <quartz-version>2.3.2</quartz-version> <quickfixj-version>2.2.0</quickfixj-version> diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties index 4d80a22..a866c73 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties @@ -361,6 +361,7 @@ openstack-neutron-component openstack-nova-component openstack-summary openstack-swift-component +opentelemetry opentracing optaplanner-component otherwise-eip diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/arangodb-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/arangodb-component.adoc index 9b0be1a..d883a0d 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/arangodb-component.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/arangodb-component.adoc @@ -93,3 +93,5 @@ with the following path and query parameters: | *user* (security) | user if user and/or password different from default | | String |=== // endpoint options: END + +include::camel-spring-boot::page$arangodb-starter.adoc[] diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-sqs-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-sqs-component.adoc index 40693c5..19b69b7 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-sqs-component.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-sqs-component.adoc @@ -351,7 +351,7 @@ from("direct:start") .to("aws2-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)®ion=EU_WEST_1"); ------------------------------------------------------------------------------------------------------ -As result you'll get an exchange containing a `SendMessageBatchResult` instance, that you can examinate to check what messages were successfull and what not. +As result you'll get an exchange containing a `SendMessageBatchResponse` instance, that you can examinate to check what messages were successfull and what not. The id set on each message of the batch will be a Random UUID. == Delete single Message @@ -365,7 +365,7 @@ from("direct:start") .to("aws2-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)®ion=EU_WEST_1"); ------------------------------------------------------------------------------------------------------ -As result you'll get an exchange containing a `DeleteMessageResult` instance, that you can use to check if the message was deleted or not. +As result you'll get an exchange containing a `DeleteMessageResponse` instance, that you can use to check if the message was deleted or not. == List Queues @@ -376,7 +376,18 @@ from("direct:start") .setHeader(SqsConstants.SQS_OPERATION, constant("listQueues")).to("aws2-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)®ion=EU_WEST_1"); ------------------------------------------------------------------------------------------------------ -As result you'll get an exchange containing a `ListQueuesResult` instance, that you can examinate to check the actual queues. +As result you'll get an exchange containing a `ListQueuesResponse` instance, that you can examinate to check the actual queues. + +== Purge Queue + +Use purgeQueue operation to purge queue. + +------------------------------------------------------------------------------------------------------ +from("direct:start") + .setHeader(SqsConstants.SQS_OPERATION, constant("purgeQueue")).to("aws2-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)®ion=EU_WEST_1"); +------------------------------------------------------------------------------------------------------ + +As result you'll get an exchange containing a `PurgeQueueResponse` instance. == Queue Autocreation diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/kubernetes-job-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/kubernetes-job-component.adoc index b2f6b90..bb3aa85 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/kubernetes-job-component.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/kubernetes-job-component.adoc @@ -136,5 +136,116 @@ from("direct:listByLabels").process(new Processor() { This operation return a List of Jobs from your cluster, using a label selector (with key1 and key2, with value value1 and value2) +- createJob: This operation create a job on a Kubernetes Cluster + +We have a wonderful example of this operation thanks to https://github.com/Emmerson-Miranda[Emmerson Miranda] from this https://github.com/Emmerson-Miranda/camel/blob/master/camel3-cdi/cdi-k8s-pocs/src/main/java/edu/emmerson/camel/k8s/jobs/camel_k8s_jobs/KubernetesCreateJob.java[Java test] + +[source,java] +-------------------------------------------------------------------------------- +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.inject.Inject; + +import org.apache.camel.Endpoint; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.cdi.Uri; +import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.component.kubernetes.KubernetesOperations; + +import io.fabric8.kubernetes.api.model.Container; +import io.fabric8.kubernetes.api.model.ObjectMeta; +import io.fabric8.kubernetes.api.model.PodSpec; +import io.fabric8.kubernetes.api.model.PodTemplateSpec; +import io.fabric8.kubernetes.api.model.batch.JobSpec; + +/** + * + */ +public class KubernetesCreateJob extends RouteBuilder { + + @Inject + @Uri("timer:foo?delay=1000&repeatCount=1") + private Endpoint inputEndpoint; + + @Inject + @Uri("log:output") + private Endpoint resultEndpoint; + + @Override + public void configure() { + // you can configure the route rule with Java DSL here + + from(inputEndpoint) + .routeId("kubernetes-jobcreate-client") + .process(exchange -> { + exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_JOB_NAME, "camel-job"); //DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*') + exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "default"); + + Map<String, String> joblabels = new HashMap<String, String>(); + joblabels.put("jobLabelKey1", "value1"); + joblabels.put("jobLabelKey2", "value2"); + joblabels.put("app", "jobFromCamelApp"); + exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_JOB_LABELS, joblabels); + + exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_JOB_SPEC, generateJobSpec()); + }) + .toF("kubernetes-job:///{{kubernetes-master-url}}?oauthToken={{kubernetes-oauth-token:}}&operation=" + KubernetesOperations.CREATE_JOB_OPERATION) + .log("Job created:") + .process(exchange -> { + System.out.println(exchange.getIn().getBody()); + }) + .to(resultEndpoint); + } + + /** + * Create a new JobSpec + * @return + */ + private JobSpec generateJobSpec() { + JobSpec js = new JobSpec(); + + PodTemplateSpec pts = new PodTemplateSpec(); + + PodSpec ps = new PodSpec(); + ps.setRestartPolicy("Never"); + ps.setContainers(generateContainers()); + pts.setSpec(ps); + + ObjectMeta metadata = new ObjectMeta(); + Map<String, String> annotations = new HashMap<String, String>(); + annotations.put("jobMetadataAnnotation1", "random value"); + metadata.setAnnotations(annotations); + + Map<String, String> podlabels = new HashMap<String, String>(); + podlabels.put("podLabelKey1", "value1"); + podlabels.put("podLabelKey2", "value2"); + podlabels.put("app", "podFromCamelApp"); + metadata.setLabels(podlabels); + + pts.setMetadata(metadata); + js.setTemplate(pts); + return js; + } + + private List<Container> generateContainers() { + Container container = new Container(); + container.setName("pi"); + container.setImage("perl"); + List<String> command = new ArrayList<String>(); + command.add("echo"); + command.add("Job created from Apache Camel code at " + (new Date())); + container.setCommand(command); + List<Container> containers = new ArrayList<Container>(); + containers.add(container); + return containers; + } + +} +-------------------------------------------------------------------------------- + include::camel-spring-boot::page$kubernetes-starter.adoc[] diff --git a/docs/components/modules/others/nav.adoc b/docs/components/modules/others/nav.adoc index bc6c853..ac4d49b 100644 --- a/docs/components/modules/others/nav.adoc +++ b/docs/components/modules/others/nav.adoc @@ -17,6 +17,7 @@ ** xref:microprofile-fault-tolerance.adoc[Microprofile Fault Tolerance] ** xref:microprofile-health.adoc[Microprofile Health] ** xref:openapi-java.adoc[Openapi Java] +** xref:opentelemetry.adoc[OpenTelemetry] ** xref:opentracing.adoc[OpenTracing] ** xref:platform-http-vertx.adoc[Platform Http Vertx] ** xref:reactive-executor-vertx.adoc[Reactive Executor Vert.x]