blob: a238186b774783e2cdbf46d111c7ce301250d6ed [file] [log] [blame]
: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/kubernetes.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/latest/[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/latest/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/latest/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/latest/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/latest/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/latest/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/latest/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/latest/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.