claudio4j opened a new issue, #5196:
URL: https://github.com/apache/camel-k/issues/5196

   ### Requirement
   
   Camel K operator should use the camel route as input, given in any of the 
supported DSLs (java, groovy, yaml, pipe, etc.) and discover all the required 
camel dependencies to help the user not bother to manually set each camel 
dependency. By camel dependencies, it's all the maven artifacts needed to run 
the materialized integration for the chosen camel runtime, as camel-quarkus, 
camel-main or camel-spring-boot (when this runtime becomes supported).
   
   
   ### Problem
   
   Currently Camel K operator, developed in Golang has to [inspect the 
route](https://github.com/apache/camel-k/blob/main/pkg/util/source/inspector.go)
 using a regular expression parser to probe the possible camel components, 
however there are several reports (#527 #2600 #4027) by users about 
dependencies not discovered.
   There are several ways that a camel component may be used in a route, such 
as a marshal, header, eip, etc., making it very hard to use a regular 
expression to probe the camel dependencies.
   
   
   ### Proposal
   
   Camel JBang has a [dependency list 
mechanism](https://github.com/apache/camel/blob/main/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyList.java)
 that under the hood uses Kamelet Main to discover all the camel dependencies.
   
   
   
   ### Open questions
   
   There were some discussion about some approaches:
   * Having camel-k-operator spawn an OS process to invoke a command line 
`camel dependency list`, capture the output and set in the Integration CR 
object.
   * Having camel-jbang-plugin-k to discover the dependencies and set in the 
Integration CR object. This approach is not interesting as it's a client side 
operation, also it would exclude any Integraiton CR yaml object not created by 
the camel-jbang-k-plugin as a Pipe.
   * Having a side card container in the camel-k-operator pod, with a rest 
service materialized from a camel-jbang image. This approach has to consider 
the security implication of an http endpoint and the maintenance of a 
camel-jbang image release coupled with a camel release.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to