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

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


The following commit(s) were added to refs/heads/main by this push:
     new a6cbdc4752a Include kservce in catalog
a6cbdc4752a is described below

commit a6cbdc4752a71706e1c3d5dc1cdfc2c252c7a64d
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Jan 22 11:03:31 2025 +0100

    Include kservce in catalog
---
 .../org/apache/camel/catalog/components.properties |   1 +
 .../apache/camel/catalog/components/kserve.json    |  49 ++++
 .../org/apache/camel/main/components.properties    |   1 +
 .../component/ComponentsBuilderFactory.java        |  14 +
 .../dsl/KserveComponentBuilderFactory.java         | 253 ++++++++++++++++++
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  46 ++++
 .../endpoint/dsl/KServeEndpointBuilderFactory.java | 287 +++++++++++++++++++++
 .../camel-component-known-dependencies.properties  |   1 +
 .../apache/camel/maven/packaging/MojoHelper.java   |   2 +-
 11 files changed, 655 insertions(+), 1 deletion(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index 87d12ba79bf..3502089f41a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -189,6 +189,7 @@ jte
 kafka
 kamelet
 knative
+kserve
 kubernetes-config-maps
 kubernetes-cronjob
 kubernetes-custom-resources
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kserve.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kserve.json
new file mode 100644
index 00000000000..cda7067ee14
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kserve.json
@@ -0,0 +1,49 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "kserve",
+    "title": "KServe",
+    "description": "Provide access to AI model servers with the KServe 
standard to run inference with remote models",
+    "deprecated": false,
+    "firstVersion": "4.10.0",
+    "label": "ai",
+    "javaType": "org.apache.camel.component.kserve.KServeComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-kserve",
+    "version": "4.10.0-SNAPSHOT",
+    "scheme": "kserve",
+    "extendsScheme": "",
+    "syntax": "kserve:api",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false,
+    "browsable": false,
+    "remote": true
+  },
+  "componentProperties": {
+    "configuration": { "index": 0, "kind": "property", "displayName": 
"Configuration", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": "org.apache.camel.component.kserve.KServeConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
configuration." },
+    "modelName": { "index": 1, "kind": "property", "displayName": "Model 
Name", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kserve.KServeConfiguration", "configurationField": 
"configuration", "description": "The name of the model used for inference." },
+    "modelVersion": { "index": 2, "kind": "property", "displayName": "Model 
Version", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kserve.KServeConfiguration", "configurationField": 
"configuration", "description": "The version of the model used for inference." 
},
+    "target": { "index": 3, "kind": "property", "displayName": "Target", 
"group": "common", "label": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "localhost:8001", "configurationClass": 
"org.apache.camel.component.kserve.KServeConfiguration", "configurationField": 
"configuration", "description": "The target URI of the client. See: 
https:\/\/grpc.github.io\/grpc-java\/javadoc\/io\/g [...]
+    "lazyStartProducer": { "index": 4, "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 [...]
+    "autowiredEnabled": { "index": 5, "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 t [...]
+    "healthCheckConsumerEnabled": { "index": 6, "kind": "property", 
"displayName": "Health Check Consumer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all consumer based health checks 
from this component" },
+    "healthCheckProducerEnabled": { "index": 7, "kind": "property", 
"displayName": "Health Check Producer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all producer based health checks 
from this component. Notice: Camel has by default disabled all producer based 
health-checks. You can turn on producer [...]
+    "credentials": { "index": 8, "kind": "property", "displayName": 
"Credentials", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": "io.grpc.ChannelCredentials", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kserve.KServeConfiguration", "configurationField": 
"configuration", "description": "The credentials of the client." }
+  },
+  "headers": {
+    "CamelKServeModelName": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The name of the model used for inference.", 
"constantName": "org.apache.camel.component.kserve.KServeConstants#MODEL_NAME" 
},
+    "CamelKServeModelVersion": { "index": 1, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The version of the model used for inference.", 
"constantName": 
"org.apache.camel.component.kserve.KServeConstants#MODEL_VERSION" }
+  },
+  "properties": {
+    "api": { "index": 0, "kind": "path", "displayName": "Api", "group": 
"producer", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "enum": [ "infer", "model\/ready", "model\/metadata", 
"server\/ready", "server\/live", "server\/metadata" ], "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
KServe API" },
+    "modelName": { "index": 1, "kind": "parameter", "displayName": "Model 
Name", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kserve.KServeConfiguration", "configurationField": 
"configuration", "description": "The name of the model used for inference." },
+    "modelVersion": { "index": 2, "kind": "parameter", "displayName": "Model 
Version", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kserve.KServeConfiguration", "configurationField": 
"configuration", "description": "The version of the model used for inference." 
},
+    "target": { "index": 3, "kind": "parameter", "displayName": "Target", 
"group": "common", "label": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "localhost:8001", "configurationClass": 
"org.apache.camel.component.kserve.KServeConfiguration", "configurationField": 
"configuration", "description": "The target URI of the client. See: 
https:\/\/grpc.github.io\/grpc-java\/javadoc\/io\/ [...]
+    "lazyStartProducer": { "index": 4, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produc [...]
+    "credentials": { "index": 5, "kind": "parameter", "displayName": 
"Credentials", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": "io.grpc.ChannelCredentials", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kserve.KServeConfiguration", "configurationField": 
"configuration", "description": "The credentials of the client." }
+  }
+}
diff --git 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index 87d12ba79bf..3502089f41a 100644
--- 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -189,6 +189,7 @@ jte
 kafka
 kamelet
 knative
+kserve
 kubernetes-config-maps
 kubernetes-cronjob
 kubernetes-custom-resources
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 9085a27759b..625d974e2bf 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -2580,6 +2580,20 @@ public interface ComponentsBuilderFactory {
     static KnativeComponentBuilderFactory.KnativeComponentBuilder knative() {
         return KnativeComponentBuilderFactory.knative();
     }
+    /**
+     * KServe (camel-kserve)
+     * Provide access to AI model servers with the KServe standard to run
+     * inference with remote models
+     * 
+     * Category: ai
+     * Since: 4.10
+     * Maven coordinates: org.apache.camel:camel-kserve
+     * 
+     * @return the dsl builder
+     */
+    static KserveComponentBuilderFactory.KserveComponentBuilder kserve() {
+        return KserveComponentBuilderFactory.kserve();
+    }
     /**
      * Kubernetes ConfigMap (camel-kubernetes)
      * Perform operations on Kubernetes ConfigMaps and get notified on
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KserveComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KserveComponentBuilderFactory.java
new file mode 100644
index 00000000000..5a2942574dc
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KserveComponentBuilderFactory.java
@@ -0,0 +1,253 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.component.dsl;
+
+import javax.annotation.processing.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.kserve.KServeComponent;
+
+/**
+ * Provide access to AI model servers with the KServe standard to run inference
+ * with remote models
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface KserveComponentBuilderFactory {
+
+    /**
+     * KServe (camel-kserve)
+     * Provide access to AI model servers with the KServe standard to run
+     * inference with remote models
+     * 
+     * Category: ai
+     * Since: 4.10
+     * Maven coordinates: org.apache.camel:camel-kserve
+     * 
+     * @return the dsl builder
+     */
+    static KserveComponentBuilder kserve() {
+        return new KserveComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the KServe component.
+     */
+    interface KserveComponentBuilder extends ComponentBuilder<KServeComponent> 
{
+    
+        /**
+         * The configuration.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.kserve.KServeConfiguration&lt;/code&gt; 
type.
+         * 
+         * Group: producer
+         * 
+         * @param configuration the value to set
+         * @return the dsl builder
+         */
+        default KserveComponentBuilder 
configuration(org.apache.camel.component.kserve.KServeConfiguration 
configuration) {
+            doSetProperty("configuration", configuration);
+            return this;
+        }
+    
+        /**
+         * The name of the model used for inference.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param modelName the value to set
+         * @return the dsl builder
+         */
+        default KserveComponentBuilder modelName(java.lang.String modelName) {
+            doSetProperty("modelName", modelName);
+            return this;
+        }
+    
+        /**
+         * The version of the model used for inference.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param modelVersion the value to set
+         * @return the dsl builder
+         */
+        default KserveComponentBuilder modelVersion(java.lang.String 
modelVersion) {
+            doSetProperty("modelVersion", modelVersion);
+            return this;
+        }
+    
+        
+        /**
+         * The target URI of the client. See:
+         * 
https://grpc.github.io/grpc-java/javadoc/io/grpc/Grpc.html#newChannelBuilder%28java.lang.String,io.grpc.ChannelCredentials%29.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: localhost:8001
+         * Group: common
+         * 
+         * @param target the value to set
+         * @return the dsl builder
+         */
+        default KserveComponentBuilder target(java.lang.String target) {
+            doSetProperty("target", target);
+            return this;
+        }
+    
+        
+        /**
+         * 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
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default KserveComponentBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    
+        
+        /**
+         * 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 then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default KserveComponentBuilder autowiredEnabled(boolean 
autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    
+        
+        /**
+         * Used for enabling or disabling all consumer based health checks from
+         * this component.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: health
+         * 
+         * @param healthCheckConsumerEnabled the value to set
+         * @return the dsl builder
+         */
+        default KserveComponentBuilder healthCheckConsumerEnabled(boolean 
healthCheckConsumerEnabled) {
+            doSetProperty("healthCheckConsumerEnabled", 
healthCheckConsumerEnabled);
+            return this;
+        }
+    
+        
+        /**
+         * Used for enabling or disabling all producer based health checks from
+         * this component. Notice: Camel has by default disabled all producer
+         * based health-checks. You can turn on producer checks globally by
+         * setting camel.health.producersEnabled=true.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: health
+         * 
+         * @param healthCheckProducerEnabled the value to set
+         * @return the dsl builder
+         */
+        default KserveComponentBuilder healthCheckProducerEnabled(boolean 
healthCheckProducerEnabled) {
+            doSetProperty("healthCheckProducerEnabled", 
healthCheckProducerEnabled);
+            return this;
+        }
+    
+        /**
+         * The credentials of the client.
+         * 
+         * The option is a: &lt;code&gt;io.grpc.ChannelCredentials&lt;/code&gt;
+         * type.
+         * 
+         * Group: security
+         * 
+         * @param credentials the value to set
+         * @return the dsl builder
+         */
+        default KserveComponentBuilder credentials(io.grpc.ChannelCredentials 
credentials) {
+            doSetProperty("credentials", credentials);
+            return this;
+        }
+    }
+
+    class KserveComponentBuilderImpl
+            extends AbstractComponentBuilder<KServeComponent>
+            implements KserveComponentBuilder {
+        @Override
+        protected KServeComponent buildConcreteComponent() {
+            return new KServeComponent();
+        }
+        private org.apache.camel.component.kserve.KServeConfiguration 
getOrCreateConfiguration(KServeComponent component) {
+            if (component.getConfiguration() == null) {
+                component.setConfiguration(new 
org.apache.camel.component.kserve.KServeConfiguration());
+            }
+            return component.getConfiguration();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "configuration": ((KServeComponent) 
component).setConfiguration((org.apache.camel.component.kserve.KServeConfiguration)
 value); return true;
+            case "modelName": getOrCreateConfiguration((KServeComponent) 
component).setModelName((java.lang.String) value); return true;
+            case "modelVersion": getOrCreateConfiguration((KServeComponent) 
component).setModelVersion((java.lang.String) value); return true;
+            case "target": getOrCreateConfiguration((KServeComponent) 
component).setTarget((java.lang.String) value); return true;
+            case "lazyStartProducer": ((KServeComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "autowiredEnabled": ((KServeComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "healthCheckConsumerEnabled": ((KServeComponent) 
component).setHealthCheckConsumerEnabled((boolean) value); return true;
+            case "healthCheckProducerEnabled": ((KServeComponent) 
component).setHealthCheckProducerEnabled((boolean) value); return true;
+            case "credentials": getOrCreateConfiguration((KServeComponent) 
component).setCredentials((io.grpc.ChannelCredentials) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 8de8e48658e..22f306dcffe 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -193,6 +193,7 @@ public interface EndpointBuilderFactory
             
org.apache.camel.builder.endpoint.dsl.Jt400EndpointBuilderFactory.Jt400Builders,
             
org.apache.camel.builder.endpoint.dsl.JteEndpointBuilderFactory.JteBuilders,
             
org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory.KMS2Builders,
+            
org.apache.camel.builder.endpoint.dsl.KServeEndpointBuilderFactory.KServeBuilders,
             
org.apache.camel.builder.endpoint.dsl.KafkaEndpointBuilderFactory.KafkaBuilders,
             
org.apache.camel.builder.endpoint.dsl.KameletEndpointBuilderFactory.KameletBuilders,
             
org.apache.camel.builder.endpoint.dsl.KeyVaultEndpointBuilderFactory.KeyVaultBuilders,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index 964a0c9a493..47370e3cbe7 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -190,6 +190,7 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.Jt400EndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.JteEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory,
+            org.apache.camel.builder.endpoint.dsl.KServeEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.KafkaEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.KameletEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.KeyVaultEndpointBuilderFactory,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 05b1000e832..9c741712064 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -8464,6 +8464,52 @@ public class StaticEndpointBuilders {
     public static KnativeEndpointBuilderFactory.KnativeEndpointBuilder 
knative(String componentName, String path) {
         return KnativeEndpointBuilderFactory.endpointBuilder(componentName, 
path);
     }
+    /**
+     * KServe (camel-kserve)
+     * Provide access to AI model servers with the KServe standard to run
+     * inference with remote models
+     * 
+     * Category: ai
+     * Since: 4.10
+     * Maven coordinates: org.apache.camel:camel-kserve
+     * 
+     * Syntax: <code>kserve:api</code>
+     * 
+     * Path parameter: api (required)
+     * The KServe API
+     * There are 6 enums and the value can be one of: infer, model/ready,
+     * model/metadata, server/ready, server/live, server/metadata
+     * 
+     * @param path api
+     * @return the dsl builder
+     */
+    public static KServeEndpointBuilderFactory.KServeEndpointBuilder 
kserve(String path) {
+        return kserve("kserve", path);
+    }
+    /**
+     * KServe (camel-kserve)
+     * Provide access to AI model servers with the KServe standard to run
+     * inference with remote models
+     * 
+     * Category: ai
+     * Since: 4.10
+     * Maven coordinates: org.apache.camel:camel-kserve
+     * 
+     * Syntax: <code>kserve:api</code>
+     * 
+     * Path parameter: api (required)
+     * The KServe API
+     * There are 6 enums and the value can be one of: infer, model/ready,
+     * model/metadata, server/ready, server/live, server/metadata
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path api
+     * @return the dsl builder
+     */
+    public static KServeEndpointBuilderFactory.KServeEndpointBuilder 
kserve(String componentName, String path) {
+        return KServeEndpointBuilderFactory.endpointBuilder(componentName, 
path);
+    }
     /**
      * Kubernetes ConfigMap (camel-kubernetes)
      * Perform operations on Kubernetes ConfigMaps and get notified on
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KServeEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KServeEndpointBuilderFactory.java
new file mode 100644
index 00000000000..0ffe4e88d2c
--- /dev/null
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KServeEndpointBuilderFactory.java
@@ -0,0 +1,287 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.processing.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Provide access to AI model servers with the KServe standard to run inference
+ * with remote models
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface KServeEndpointBuilderFactory {
+
+    /**
+     * Builder for endpoint for the KServe component.
+     */
+    public interface KServeEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedKServeEndpointBuilder advanced() {
+            return (AdvancedKServeEndpointBuilder) this;
+        }
+
+        /**
+         * The name of the model used for inference.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: common
+         * 
+         * @param modelName the value to set
+         * @return the dsl builder
+         */
+        default KServeEndpointBuilder modelName(String modelName) {
+            doSetProperty("modelName", modelName);
+            return this;
+        }
+        /**
+         * The version of the model used for inference.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: common
+         * 
+         * @param modelVersion the value to set
+         * @return the dsl builder
+         */
+        default KServeEndpointBuilder modelVersion(String modelVersion) {
+            doSetProperty("modelVersion", modelVersion);
+            return this;
+        }
+        /**
+         * The target URI of the client. See:
+         * 
https://grpc.github.io/grpc-java/javadoc/io/grpc/Grpc.html#newChannelBuilder%28java.lang.String,io.grpc.ChannelCredentials%29.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Default: localhost:8001
+         * Group: common
+         * 
+         * @param target the value to set
+         * @return the dsl builder
+         */
+        default KServeEndpointBuilder target(String target) {
+            doSetProperty("target", target);
+            return this;
+        }
+        /**
+         * The credentials of the client.
+         * 
+         * The option is a: <code>io.grpc.ChannelCredentials</code> type.
+         * 
+         * Group: security
+         * 
+         * @param credentials the value to set
+         * @return the dsl builder
+         */
+        default KServeEndpointBuilder credentials(io.grpc.ChannelCredentials 
credentials) {
+            doSetProperty("credentials", credentials);
+            return this;
+        }
+        /**
+         * The credentials of the client.
+         * 
+         * The option will be converted to a
+         * <code>io.grpc.ChannelCredentials</code> type.
+         * 
+         * Group: security
+         * 
+         * @param credentials the value to set
+         * @return the dsl builder
+         */
+        default KServeEndpointBuilder credentials(String credentials) {
+            doSetProperty("credentials", credentials);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the KServe component.
+     */
+    public interface AdvancedKServeEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default KServeEndpointBuilder basic() {
+            return (KServeEndpointBuilder) this;
+        }
+
+        /**
+         * 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
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedKServeEndpointBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * 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
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedKServeEndpointBuilder lazyStartProducer(String 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    }
+
+    public interface KServeBuilders {
+        /**
+         * KServe (camel-kserve)
+         * Provide access to AI model servers with the KServe standard to run
+         * inference with remote models
+         * 
+         * Category: ai
+         * Since: 4.10
+         * Maven coordinates: org.apache.camel:camel-kserve
+         * 
+         * @return the dsl builder for the headers' name.
+         */
+        default KServeHeaderNameBuilder kserve() {
+            return KServeHeaderNameBuilder.INSTANCE;
+        }
+        /**
+         * KServe (camel-kserve)
+         * Provide access to AI model servers with the KServe standard to run
+         * inference with remote models
+         * 
+         * Category: ai
+         * Since: 4.10
+         * Maven coordinates: org.apache.camel:camel-kserve
+         * 
+         * Syntax: <code>kserve:api</code>
+         * 
+         * Path parameter: api (required)
+         * The KServe API
+         * There are 6 enums and the value can be one of: infer, model/ready,
+         * model/metadata, server/ready, server/live, server/metadata
+         * 
+         * @param path api
+         * @return the dsl builder
+         */
+        default KServeEndpointBuilder kserve(String path) {
+            return KServeEndpointBuilderFactory.endpointBuilder("kserve", 
path);
+        }
+        /**
+         * KServe (camel-kserve)
+         * Provide access to AI model servers with the KServe standard to run
+         * inference with remote models
+         * 
+         * Category: ai
+         * Since: 4.10
+         * Maven coordinates: org.apache.camel:camel-kserve
+         * 
+         * Syntax: <code>kserve:api</code>
+         * 
+         * Path parameter: api (required)
+         * The KServe API
+         * There are 6 enums and the value can be one of: infer, model/ready,
+         * model/metadata, server/ready, server/live, server/metadata
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path api
+         * @return the dsl builder
+         */
+        default KServeEndpointBuilder kserve(String componentName, String 
path) {
+            return KServeEndpointBuilderFactory.endpointBuilder(componentName, 
path);
+        }
+
+    }
+    /**
+     * The builder of headers' name for the KServe component.
+     */
+    public static class KServeHeaderNameBuilder {
+        /**
+         * The internal instance of the builder used to access to all the
+         * methods representing the name of headers.
+         */
+        private static final KServeHeaderNameBuilder INSTANCE = new 
KServeHeaderNameBuilder();
+
+        /**
+         * The name of the model used for inference.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code KServeModelName}.
+         */
+        public String kServeModelName() {
+            return "CamelKServeModelName";
+        }
+        /**
+         * The version of the model used for inference.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code KServeModelVersion}.
+         */
+        public String kServeModelVersion() {
+            return "CamelKServeModelVersion";
+        }
+    }
+    static KServeEndpointBuilder endpointBuilder(String componentName, String 
path) {
+        class KServeEndpointBuilderImpl extends AbstractEndpointBuilder 
implements KServeEndpointBuilder, AdvancedKServeEndpointBuilder {
+            public KServeEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new KServeEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index 8b5f9aedc9f..3a95ab32a3c 100644
--- 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -201,6 +201,7 @@ org.apache.camel.component.jte.JteComponent=camel:jte
 org.apache.camel.component.kafka.KafkaComponent=camel:kafka
 org.apache.camel.component.kamelet.KameletComponent=camel:kamelet
 org.apache.camel.component.knative.KnativeComponent=camel:knative
+org.apache.camel.component.kserve.KServeComponent=camel:kserve
 
org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsComponent=camel:kubernetes
 
org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobComponent=camel:kubernetes
 
org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesComponent=camel:kubernetes
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
index 46574dc0a19..0cb06f8df16 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
@@ -42,7 +42,7 @@ public final class MojoHelper {
                         dir.resolve("camel-langchain4j-embeddings"), 
dir.resolve("camel-langchain4j-tokenizer"),
                         dir.resolve("camel-langchain4j-tools"), 
dir.resolve("camel-langchain4j-web-search"),
                         dir.resolve("camel-qdrant"), 
dir.resolve("camel-milvus"),
-                        dir.resolve("camel-pinecone"));
+                        dir.resolve("camel-pinecone"), 
dir.resolve("camel-kserve"));
             case "camel-as2":
                 return 
Collections.singletonList(dir.resolve("camel-as2-component"));
             case "camel-avro-rpc":


Reply via email to