[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17874790#comment-17874790 ] Claus Ibsen commented on CAMEL-20904: - Most of this work is done so lets resolve this ticket, and more new work can be tracked in new tickets > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Assignee: Christoph Deppisch >Priority: Major > Fix For: 4.8.0 > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17868059#comment-17868059 ] Andrea Cosentino commented on CAMEL-20904: -- [~christophd] I set you as assignee, since you've done most of the work with [~tdiesler] > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Assignee: Christoph Deppisch >Priority: Major > Fix For: 4.8.0 > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17866281#comment-17866281 ] Andrea Cosentino commented on CAMEL-20904: -- I think it makes sense to collect all the related tasks here and use the issue as epic. > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Assignee: Andrea Cosentino >Priority: Major > Fix For: 4.8.0 > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17866269#comment-17866269 ] Christoph Deppisch commented on CAMEL-20904: [~acosentino] I think we can resolve this as fixed. Or do you want to leave it open as an umbrella for the other related tasks? > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Assignee: Andrea Cosentino >Priority: Major > Fix For: 4.x > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17860398#comment-17860398 ] Christoph Deppisch commented on CAMEL-20904: I did some experiments and the approach of a project export, then build and deploy via SB / Quarkus standards looks promising. In my POC I have generated a Kubernetes Manifest (kubernetes.yaml) as part of the export. The Manifest includes all required Kubernetes resources (e.g. Deployment, Service, ConfigMap, etc.) required to successfully run the Camel application on Kubernetes. Usually the Manifest gets added to the project in "{_}src/main/kubernetes{_}" folder. As soon as we have this Kubernetes Manifest generated as part of the Camel JBang project export the standard tooling in Quarkus and Spring Boot may take over to do the actual deployment to Kubernetes. So we complement with what developers already are doing when running Java apps on Kubernetes. Also, I think the traits that Camel K operator provides can help with the Manifest generation, too. The traits represent an easy configuration entry point for users because they act as an abstraction layer for Kubernetes specific configuration. The user does not necessarily need to know much about Kubernetes details to add some configuration to the deployment (e.g. volume mounts, env vars, etc.). The Camel K JBang plugin already makes use of the trait config options. For instance the option in the command {noformat} camel k run --resource configmap:my-data{noformat} results in a volume mount configuration being added to the Kubernetes deployment container. {noformat} --- apiVersion: apps/v1 kind: Deployment metadata: name: sample spec: selector: matchLabels: camel.apache.org/integration: sample template: metadata: labels: camel.apache.org/integration: sample spec: containers: - image: quay.io/camel/sample:1.0-SNAPSHOT name: sample volumeMounts: - mountPath: /etc/camel/resources.d/_configmaps/my-data name: my-data readOnly: true volumes: - configMap: name: my-data name: my-data{noformat} The trait options give us some syntactical sugar to generate the Kubernetes Manifest and it also gives us the opportunity to establish some best practices (e.g. how to use mount points and paths inside the Camel app container). Usually the trait logic is applied during the Camel K operator reconciliation loop, but we can think about also making this part of the Camel JBang tooling to generate the Kubernetes Manifest. IMO it would be a good idea to use the same logic on both Camel JBang and Camel K operator. There have been discussions already in Camel K community to have Camel JBang as the single source of truth because this is the natural entry point where developers start to write Camel applications. Of course we need to think about how the Camel K operator can reuse the trait logic once available in Camel JBang. The [Camel K JBang plugin Http agent|https://github.com/apache/camel/blob/main/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/Agent.java] that is supposed to act as a sidecar to the Camel K operator is a promising solution for that IMO. > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Assignee: Andrea Cosentino >Priority: Major > Fix For: 4.x > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856715#comment-17856715 ] Andrea Cosentino commented on CAMEL-20904: -- I'll try to have a look. > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Assignee: Andrea Cosentino >Priority: Major > Fix For: 4.x > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856709#comment-17856709 ] Claus Ibsen commented on CAMEL-20904: - see docs https://camel.apache.org/manual/camel-jbang.html#_exporting_to_camel_main_for_kubernetes > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Priority: Major > Fix For: 4.x > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856708#comment-17856708 ] Claus Ibsen commented on CAMEL-20904: - But you can create a standard quarkus app via code.quarkus.io and add the stuff needed to make it run and deploy to k8s. Then you can see what needs to be included in the pom.xml and application.properties. And then work backwards to improve the jbang exporter > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Priority: Major > Fix For: 4.x > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856707#comment-17856707 ] Claus Ibsen commented on CAMEL-20904: - Yeah so export with camel-main has k8s support if you have jkube.xx values in application.properties. A similar logic can be done for export to quarkus or there is a new flag in the export to turn on k8s mode or something. > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Priority: Major > Fix For: 4.x > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CAMEL-20904) camel-jbang - Run and deploy to Kubernetes
[ https://issues.apache.org/jira/browse/CAMEL-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856706#comment-17856706 ] Andrea Cosentino commented on CAMEL-20904: -- We need to add also a subcommand to manage plugins section of the POM, because both Quarkus and Spring Boot will need to add some bits to make the deploy work. > camel-jbang - Run and deploy to Kubernetes > -- > > Key: CAMEL-20904 > URL: https://issues.apache.org/jira/browse/CAMEL-20904 > Project: Camel > Issue Type: New Feature > Components: camel-jbang >Reporter: Claus Ibsen >Priority: Major > Fix For: 4.x > > > Lets see if we can make a command to camel-jbang that can build and deploy a > standard Camel Spring Boot / Camel Quarkus (and potentially camel-main) to > kubernetes. > This would mean to export first, and then build and deploy via SB / Quarkus > standard using how you would normally do this via their maven plugins. > -- This message was sent by Atlassian Jira (v8.20.10#820010)