This is an automated email from the ASF dual-hosted git repository. pcongiusti pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 02891fe96eda7e85e4b6225baa3a48388a5fcfb1 Author: Pasquale Congiusti <pasquale.congiu...@gmail.com> AuthorDate: Sat Jan 11 09:28:41 2025 +0100 chore(doc): plain quarkus runtime provider Closes #5999 --- docs/modules/ROOT/pages/architecture/runtime.adoc | 21 ++++++++---------- docs/modules/ROOT/pages/running/running.adoc | 26 +++++++++++++++++++++++ 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/docs/modules/ROOT/pages/architecture/runtime.adoc b/docs/modules/ROOT/pages/architecture/runtime.adoc index 133d952ce..34c3ff020 100644 --- a/docs/modules/ROOT/pages/architecture/runtime.adoc +++ b/docs/modules/ROOT/pages/architecture/runtime.adoc @@ -5,8 +5,6 @@ image::architecture/camel-k-runtimes.jpg[runtimes, width=1024] Camel runtime application is in charge to bridge the output produced by the operator during a `Build` to the Camel runtime. It will finally execute an application containing the `Route` as defined by `Camel K` user. It will take care of converting all the different configuration and tuning into something meaningful to `Apache Camel` framework. We use a java application, `camel-k-runtime` which is based on `camel-quarkus` to achieve the goal. -NOTE: This document reflects Camel K version 1.6. It may not reflect slight changes developed after this review. - [[runtime-quarkus]] == Based on Camel Quarkus @@ -19,16 +17,15 @@ Learn more in the xref:camel-quarkus::index.adoc[Camel Quarkus documentation sec [[runtime-duties]] == Runtime main duties -The main goal of the Camel-k-runtime is to launch a Camel Quarkus application and setup the routes configured by the Camel K user. When a user run a new `Integration`, the xref:architecture/operator.adoc[`Operator`] will take care of building an application containing the `camel-k-runtime dependency`. During application startup, the camel-k-runtime will be in charge to take care of the following aspects: +The main goal of the Camel-k-runtime is to launch a Camel Quarkus application and setup the routes configured by the Camel K user. When a user run a new `Integration`, the xref:architecture/operator.adoc[`Operator`] will take care of building an application basing it on Camel K Runtime dependency. + +[[plain-quarkus]] +== Plain Camel Quarkus runtime -* Sources loading -* Properties setting -* Cron -* Knative -* Kamelet -* Master -* Webhook +More recently we are working to make it easier and run a Camel Quarkus application out of the box instead. You're strongly recommended to use the `plain-quarkus` Camel trait runtime provider for any Integration you're running. You can do this following the example: -Basically the application will apply the configuration/customizations needed to run your application on Camel, transforming those configuration coming from the `Integration` spec into something meaningful to Camel framework. +```shell +kamel run test.yaml -t camel.runtime-provider=plain-quarkus +``` -NOTE: Camel-k-runtime is a very fast evolving project. You may find more relevant details accessing directly to the https://github.com/apache/camel-k-runtime[application source code]. +NOTE: we plan to graduate plain Camel Quarkus runtime as default runtime in the future (likely in the next major release). \ No newline at end of file diff --git a/docs/modules/ROOT/pages/running/running.adoc b/docs/modules/ROOT/pages/running/running.adoc index fea5e083b..bf6462856 100644 --- a/docs/modules/ROOT/pages/running/running.adoc +++ b/docs/modules/ROOT/pages/running/running.adoc @@ -92,6 +92,32 @@ spec: You can see the specification is a lot neater, so, try choosing Yaml DSL whenever it's possible. +== Runtime provider + +Camel K was originally equipped with a dedicated runtime known as Camel K Runtime. This is a lightweight layer on top of Camel Quarkus. However, you can directly run plain regular Camel Quarkus runtime applications as well. You will learn the concept of traits later on. For now, just be aware that you can run any Integration setting the plain Quarkus runtime using `camel` trait configuration. Here an example of how that would be: + +```yaml +apiVersion: camel.apache.org/v1 +kind: Integration +metadata: + name: my-plain-quarkus-it +spec: + flows: + - from: + parameters: + period: "1000" + steps: + - setBody: + simple: Hello Camel from ${routeId} + - log: ${body} + uri: timer:yaml + traits: + camel: + runtimeProvider: plain-quarkus +``` + +NOTE: we plan to graduate plain Camel Quarkus runtime as default runtime in the future (likely in the next major release). We therefore recommend to use the plain Camel Quarkus runtime in any of your Integrations already. + == Using Kamel CLI Camel K works very well with any Kubernetes compatible user interface (such as CLI as `kubectl`, `oc` or any other visual tooling). However we do provide a simple CLI that helps you performing most of the Integration works in an easier fashion: it's xref:running/running-cli.adoc[`kamel` CLI].