camel-k icon indicating copy to clipboard operation
camel-k copied to clipboard

Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers

:toc: macro :toclevels: 3

= :camel: + :cloud: = 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://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/kubernetes/badge.svg["Kubernetes", link="https://github.com/apache/camel-k/actions/workflows/common.yml"] image:https://github.com/apache/camel-k/workflows/knative/badge.svg["Knative", link="https://github.com/apache/camel-k/actions/workflows/knative.yml"] image:https://github.com/apache/camel-k/actions/workflows/openshift.yml/badge.svg["OpenShift", link="https://github.com/apache/camel-k/actions/workflows/openshift.yml"] 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 a Kubernetes or OpenShift 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,groovy] .hello.groovy

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


kamel run hello.groovy

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 defails].

== :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.