[[Karaf-ApacheKarafSupport]]
= Apache Karaf Support

Apache Camel is designed to work nicely into
http://karaf.apache.org[Apache Karaf] OSGi container.

It includes:

* Camel features descriptor allowing to easily and quickly install Camel
in Karaf.
* Camel Karaf commands allowing you to view, start, stop, get info, about the
Camel contexts and routes running in the Karaf instance.


[[Karaf-InstallCamelinKaraf]]
== Install Camel in Karaf

Assuming that you have a running Karaf instance, you can register the
Camel features descriptor:

[source,sh]
----
karaf@root> features:repo-add camel 2.24.2
----

where 2.24.2 is the Camel version

Now, we have all Camel features available:

To install Camel, just install the `camel` feature:

[source,sh]
----
karaf@root> feature:install camel
----

You have to install the Camel features depending of your requirements.

If, in your route, you use an endpoint like `stream:out`, you have to
install the `camel-stream` feature:

[source,sh]
----
karaf@root> feature:install camel-stream
----

And so on, for example if you use the sql, and http components:

[source,sh]
----
karaf@root> feature:install camel-sql camel-http
----

[[Karaf-CamelKarafcommands]]
== Camel Karaf commands

When you install the camel feature, new Camel Karaf commands become available
automatically.

For example to list all running Camel contexts:
[source,sh]
----
karaf@root> karaf@root> camel:context-list
----

You can see all the Camel commands by typing `camel:` and then pressing TAB key.

TIP: use kbd:[TAB] key for completion on the Camel context name.
