= Apache Camel K

[NOTE]
--
This version ({page-component-display-version}) of {page-component-title} depends on:

* https://github.com/apache/camel-k-runtime.git[camel-k-runtime] (undocumented) at version {camel-k-runtime-version}, and therefore:
** xref:{camel-quarkus-docs-version}@camel-quarkus::index.adoc[] at version {camel-quarkus-version}.
** xref:{camel-docs-version}@components::index.adoc[Camel] at version {camel-version}
** https://quarkus.io[Quarkus] at version {quarkus-version}
** https://www.graalvm.org[GraalVM] at version {graalvm-version}
* xref:{camel-kamelets-docs-version}@camel-kamelets::index.adoc[] at version {camel-kamelets-version}

ifdef::lts[This long term service release will be supported until {lts}.]
ifndef::lts[]
ifdef::prerelease[This is the development version of {page-component-title}. It should not be used in production.]
ifndef::prerelease[This release will not be updated, but rather replaced by a new release.]
endif::[]
--

Apache Camel K is a lightweight integration framework built from Apache Camel that runs natively on Kubernetes and is specifically designed for serverless and microservice architectures.

Users of Camel K can instantly run integration code written in Camel DSL on their preferred cloud (Kubernetes or OpenShift).

[[how-it-works]]
== How It Works

Just write a _helloworld.groovy_ integration file with the following content:

```groovy
from('timer:tick?period=3000')
  .setBody().constant('Hello world from Camel K')
  .to('log:info')
```

You can then execute the following command:

```
kamel run helloworld.groovy
```

The integration code immediately runs in the cloud. **Nothing else** is needed.

Continue reading the documentation to xref:installation/installation.adoc[install and get started with Camel K].

== Compatibility Matrix

[caption=]
.Compatibility between Camel K and dependencies
[width="100%",cols="4,2,2,2,2,2,2,1,3",options="header"]
|===
|Camel K Version
|Camel K Runtime version
|Camel Version
|Camel-Quarkus Version
|Quarkus Version
|GraalVM Version
|Kamelets Version
|LTS Until
|Branch
|===

//cannot use top level index.adoc as the page with the query is always omitted.
indexTable::[version="*",relative="running/running.adoc",cellformats="util.ckRef(pageComponentDisplayVersion, pageComponentVersion)|camelKRuntimeVersion|util.camelRef(camelVersion, camelDocsVersion)|util.camelQuarkusRef(camelQuarkusVersion, camelQuarkusDocsVersion)|util.quarkusRef(quarkusVersion)|util.graalvmRef(graalvmVersion, graalvmDocsVersion)|util.kameletsRef(camelKameletsVersion, camelKameletsDocsVersion)|lts|ck.branch(pageComponentVersion)", requires={requires},transform=util.sortCompatibilityItems]
