Apache Karaf is a small OSGi based runtime which provides a lightweight container onto which various components and applications can be deployed.

Here is a short list of features supported by the Karaf:

  • Hot deployment: Karaf supports hot deployment of OSGi bundles by monitoring jar files inside the [home]/deploy directory. Each time a jar is copied in this folder, it will be installed inside the runtime. You can then update or delete it and changes will be handled automatically. In addition, the Karaf also supports exploded bundles and custom deployers (blueprint and spring ones are included by default).
  • Dynamic configuration: Services are usually configured through the ConfigurationAdmin OSGi service. Such configuration can be defined in Karaf using property files inside the [home]/etc directory. These configurations are monitored and changes on the properties files will be propagated to the services.
  • Logging System: using a centralized logging back end supported by Log4J, Karaf supports a number of different APIs (JDK 1.4, JCL, SLF4J, Avalon, Tomcat, OSGi)
  • Provisioning: Provisioning of libraries or applications can be done through a number of different ways, by which they will be downloaded locally, installed and started.
  • Native OS integration: Karaf can be integrated into your own Operating System as a service so that the lifecycle will be bound to your Operating System.
  • Extensible Shell console: Karaf features a nice text console where you can manage the services, install new applications or libraries and manage their state. This shell is easily extensible by deploying new commands dynamically along with new features or applications.
  • Remote access: use any SSH client to connect to Karaf and issue commands in the console
  • Security framework based on JAAS
  • Managing instances: Karaf provides simple commands for managing multiple instances. You can easily create, delete, start and stop instances of Karaf through the console.
  • Karaf 3.0.x branch Supports the latest OSGi 4.3 containers: Apache Felix Framework 4.0 and Eclipse Equinox 3.8
  • Karaf 2.3.x branch Supports the latest OSGi 4.3 containers: Apache Felix Framework 4.0 and Eclipse Equinox 3.8
  • Karaf 2.2.x branch Supports the latest OSGi 4.2 containers: Apache Felix Framework 3.0 and Eclipse Equinox 3.6

News

Jamie Goodyear posted on April 30, 2013
Karaf 2.2.11 released

The Karaf team is pleased to announce the availability of Karaf 2.2.11.

This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.10. It contains bug fixes identified in the prior release, and introduces improvements including; repaired command history, allowing LDAP login module to properly pick up keystore and/or truststore, and a fix for when Karaf scripts contain spaces in paths.
For more information, please see the release notes.

Jamie Goodyear posted on March 15, 2013
Karaf 3.0.0.RC1 released!

The Karaf team is pleased to announce the availability of Karaf 3.0.0.RC1.

!! This is a technology preview release of Apache Karaf, and should NOT be considered a production ready version !!

Apache Karaf 3.0.0.RC1 represents a major refactoring of the project, and includes numerous new features. We ask that users provide the community with their feed back so that the full Apache Karaf 3.0.0 release can be as feature complete and stable as possible.
For more information, please see the release notes.

Jamie Goodyear posted on March 3, 2013
Karaf 2.3.1 released!

The Karaf team is pleased to announce the availability of Karaf 2.3.1.

In this patch update to the 2.3.x line contains multiple bug fixes, improvements, and dependency updates including; an upgrade to OSGi spec 4.3.1, Spring 3.1.4.RELEASE, Pax Exam 2.6.0, Pax Web 1.1.12, Jetty 7.6.8.v20121106, Aries Blueprint Core 1.1.0, and fixes to the LDAP login module, improved failover lock logic, removes a console shutdown -f hang, and adds a jre-1.8 to jre.properties.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on February 17, 2013
Karaf EIK 0.9.0 released

The Karaf team is pleased to announce the availability of Karaf EIK 0.9.0.

This is the first release of Karaf EIK, allowing you to integrate Karaf in your Eclipse environment.

For more information, please see the release notes.

Jamie Goodyear posted on December 21, 2012
Karaf 2.2.10 released

The Karaf team is pleased to announce the availability of Karaf 2.2.10.

This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.9. It contains bug fixes identified in the prior release, and introduces improvements including; Making pom.xml eclipse 3.7 m2e friendly, updating Spring to 2.5.6.SEC03, improved terminal behavior when sshing from windows to unix, and improved lock logic to wait while start level change occurs. Several dependencies were also updated, bringing Felix Webconsole to 4.0.0, pax-logging to 1.6.10, pax-web to 1.0.12, and the Apache pom to version 12.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on December 06, 2012
Karaf Cellar 2.2.5 released!

The Karaf team is pleased to announce the availability of Karaf Cellar 2.2.5.

This release of Apache Karaf Cellar is based off of the 2.2.x series branch, representing a major update to Apache Karaf Cellar 2.2.4. It contains a lot of bug fixes and some important new features.
Especially, the bundle and configuration synchronization mechanism have been improved, the local node state (group, producers, consumers, handlers) is now persistent, the cluster commands and MBeans haven been improved, including the addition of cluster:sync command.
For more information, please see the release notes.

Jamie Goodyear posted on October 15, 2012
Karaf 2.3.0 released!

The Karaf team is pleased to announce the availability of Karaf 2.3.0.

This release of Apache Karaf sets the stage for the 3.0.x line, introducing OSGi rev 4.3 support, new commands, features, improvements, and a mulititude of dependency updates. At Karaf's core you'll find Equinox 3.8.0.v20120529-1548 and Apache Felix framework 4.0.3. New additions such as Karaf-pax-exam, commands back ported from Karaf 3.x, and command aliases to help make migrating betwen 2.3.x and 3.x easier.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on September 03, 2012
Welcome Brian Topping as a new Karaf committer

The Karaf team is pleased to announce Brian Topping as a new committer.

Welcome aboard Brian !

Jamie Goodyear posted on August 18, 2012
Karaf 2.2.9 released

The Karaf team is pleased to announce the availability of Karaf 2.2.9.

This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.8. It contains bug fixes identified in the prior release, and introduces improvements including; An update to fix a NullPointerException when using JDK 6 update 33 or JDK 7 update5, a new JDBC lock implementation for Postgres, a fix for using version with the wrap protocol, and renaming command-watch to watch. Several dependences were also updated, bringing Felix Framework to 3.2.2, pax-logging to 1.6.9, slf4j to 1.6.6, xbean to 3.11.1, aries proxy to 0.3.1, and a multitude of updates to maven plugins.
For more information, please see the release notes.

Jamie Goodyear posted on June 25, 2012
Karaf 2.2.8 released

The Karaf team is pleased to announce the availability of Karaf 2.2.8.

This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.7. It contains bug fixes identified in the prior release, and introduces improvements including; A command that can not be loaded no longer breaks the whole completion, removing a KAR now uninstalls the shipped features, and SSH keystore is now compatible with IBM JDK. Several dependences were also updated, bringing ServiceMix Specs to version 2.0, pax-logging to 1.6.7, Jansi to 1.9, JLine to 2.7, Felix Utils to 1.2.0, Felix FileInstall to 3.2.4, and sshd to 0.7.0.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on May 20, 2012
Karaf Cellar 2.2.4 released

The Karaf team is pleased to announce the availability of Karaf Cellar 2.2.4.
This release of Apache Karaf Cellar is considered a high priority update for users of Apache Karaf Cellar 2.2.3. It includes a lot of bug fixes and new features.
For more information, please see the release notes.

Jamie Goodyear posted on April 27, 2012
Karaf 2.2.7 released

The Karaf team is pleased to announce the availability of Karaf 2.2.7.
This release of Apache Karaf is considered a high priority update for users of Apache Karaf 2.2.6. An issue in which configuration updates were not being persisted to storage was detected, an update to FileInstall version 3.2.2 was made necessary. In addition to the above other bug fixes have been resolved, including; updating the features repo pointer for pax-wicket, removing an unnecessary warning on missing repository name when the name is defined however not presently loaded, the SSHD authorized key provider now logs in DEBUG, and SSH now correctly uses the karaf.base variable. A version update to pax web 1.0.9 has also been included in the dependencies.
For more information, please see the release notes.

Jamie Goodyear posted on April 8, 2012
Karaf 2.2.6 released

The Karaf team is pleased to announce the availability of Karaf 2.2.6.
This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.5. It contains bug fixes identified in the prior release, and introduces improvements including; improved Windows, AIX, HP-UX, and Solaris support in the service wrapper, three new deployer demos showing how to make an OSGi bundle, a features file, and how to wrap a third party jar into a bundle, and support for ssh public key authentication and agent forwarding. A few new commands also appear in this release including; features:status to indicate feature loaded or not, feature:chooseurl to make it easy to install well known feature files, and a watch command to allow users to watch the output of a karaf command like when using the unix watch mechanism. Several dependencies were also updated, bringing Spring to 3.0.7-RELEASE, eventadmin to 1.2.14, Apache Pom to version 10, the maven bundle plugin to 2.3.7, and fileinstall to 3.2.0.
For more information, please see the release notes.