:toc: macro
:toclevels: 3

= :camel: + :cloud: = Apache Camel K

image:https://img.shields.io/github/license/openshift/origin.svg?maxAge=2592000["Licensed under Apache License version 2.0", link="https://www.apache.org/licenses/LICENSE-2.0"]
image:https://goreportcard.com/badge/github.com/apache/camel-k["Go Report Card", link="https://goreportcard.com/report/github.com/apache/camel-k"]
image:https://godoc.org/github.com/apache/camel-k?status.svg["GoDoc", link="https://godoc.org/github.com/apache/camel-k"]
image:https://github.com/apache/camel-k/workflows/build/badge.svg["Build", link="https://github.com/apache/camel-k/actions/workflows/build.yml"]
image:https://github.com/apache/camel-k/actions/workflows/nightly-release.yml/badge.svg["Nightly releases", link="https://github.com/apache/camel-k/actions/workflows/nightly-release.yml"]
image:https://img.shields.io/badge/Coverage-62.2-yellow.svg["Code coverage"]
image:https://img.shields.io/badge/zulip-join_chat-brightgreen.svg["Chat on Zulip", link="https://camel.zulipchat.com"]

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** provider.

https://camel.apache.org/camel-k/next/[How does it work?]

== :gear: Installation

Camel K allows you to run integrations directly on any `Kubernetes` cluster. To use it, you need to be connected to a cloud environment or to a local cluster created for development purposes.

https://camel.apache.org/camel-k/next/installation/installation.html[Installation procedure.]

== :arrow_forward: Running an Integration

You can use Camel DSL to define your `Integration`. Just save it in a file and use `kamel` command line interface (https://github.com/apache/camel-k/releases/latest[download latest release]) to run it. As an example, just try running:

[source,yaml]
.hello.yaml
----
- from:
    uri: "timer:tick?period=3000"
    steps:
      - setBody:
          constant: "Hello world from Camel K"
      - to: "log:info"
----
----
kamel run hello.yaml
----

You can even run your integrations in a `dev` mode. Change the code and see the **changes automatically applied (instantly)** to the remote integration pod! We have provided link:/examples[more examples] that you can use to inspire your next `Integration` development.

https://camel.apache.org/camel-k/next/running/running.html[See more details.]

== :camel: All the power from Apache Camel components

You can use any of the Apache Camel components available. The related dependencies will be resolved automatically.

Discover more about https://camel.apache.org/camel-k/next/configuration/dependencies.html[dependencies and components].

== :coffee: Not Just Java

Camel K supports multiple languages for writing integrations.

See all the https://camel.apache.org/camel-k/next/languages/languages.html[languages available].

== :checkered_flag: Traits

The details of how the integration is mapped into Kubernetes resources can be *customized using traits*.

More information is provided in the official documentation https://camel.apache.org/camel-k/next/traits/traits.html[traits section].

== :cloud: Engineered thinking on Cloud Native

Since the inception of the project, our goal was to bring `Apache Camel` to the cloud.

See the https://camel.apache.org/camel-k/next/architecture/architecture.html[software architecture details].

== :heart: Contributing

We love contributions and we want to make Camel K great!

Contributing is easy, just take a look at our https://camel.apache.org/camel-k/next/contributing/developers.html[developer's guide].

== :tickets: Licensing

This software is licensed under the terms you may find in the file named link:LICENSE[LICENSE] in this directory.
