camel-k

module
v1.12.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 29, 2023 License: Apache-2.0

README

: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/release.yml/badge.svg["Nightly", link="https://github.com/apache/camel-k/actions/workflows/release.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 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.

Directories

Path Synopsis
keda/duck/v1alpha1
Package duck contains a partial schema of the KEDA APIs +kubebuilder:object:generate=true +groupName=keda.sh
Package duck contains a partial schema of the KEDA APIs +kubebuilder:object:generate=true +groupName=keda.sh
strimzi
Package strimzi contains integrations with the Strimzi project for running Apache Kafka on Kubernetes
Package strimzi contains integrations with the Strimzi project for running Apache Kafka on Kubernetes
strimzi/duck/client/internalclientset
This package has the automatically generated clientset.
This package has the automatically generated clientset.
strimzi/duck/client/internalclientset/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
strimzi/duck/client/internalclientset/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
strimzi/duck/client/internalclientset/typed/duck/v1beta2
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
strimzi/duck/client/internalclientset/typed/duck/v1beta2/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
strimzi/duck/v1beta2
Package duck contains a partial schema of the Strimzi APIs +kubebuilder:object:generate=true +groupName=kafka.strimzi.io
Package duck contains a partial schema of the Strimzi APIs +kubebuilder:object:generate=true +groupName=kafka.strimzi.io
cmd
pkg
base
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
cmd
metadata
Package metadata contains tools to discover metadata from Camel routes
Package metadata contains tools to discover metadata from Camel routes
platform
Package platform allows to retrieve information about the current installed platform
Package platform allows to retrieve information about the current installed platform
trait
Package trait contains implementations of all available traits (features)
Package trait contains implementations of all available traits (features)
util/bindings
Package bindings provides APIs to transform Kubernetes objects into Camel URIs equivalents
Package bindings provides APIs to transform Kubernetes objects into Camel URIs equivalents
util/minikube
Package minikube contains utilities for Minikube deployments
Package minikube contains utilities for Minikube deployments
util/sync
Package sync provides useful tools to get notified when a file system resource changes
Package sync provides useful tools to get notified when a file system resource changes
apis/camel Module
client/camel Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL