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.
  • Supports the latest OSGi 4.2 containers: Apache Felix Framework 3.0 and Eclipse Equinox 3.6

News

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.

Jean-Baptiste Onofré posted on January 20, 2012
Karaf Cellar 2.2.3 released

The Karaf tema is pleased to announce the availability of Karaf Cellar 2.2.3.
This release of Apache Karaf Cellar is based off of the 2.2.x series branch, representing an update to Apache Karaf Cellar 2.2.2. It contains bug fixes identified in the prior release, and introduces improvements including: cluster group support for bundles, full access on the Hazelcast configuration file, update to Hazelcast 1.9.4.6 and jclouds 1.3.1, first DOSGi support, new samples including usage with Apache Camel, OBR support in clusters.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on January 20, 2012
New Karaf sub-projects

The Karaf team is pleased to announce three new sub-projects: Cave, EIK, WebConsole.
Take a look on the sub-project pages to have more information.
We are working to provide a first release of these projects, but the sources are already available.

Jamie Goodyear posted on December 25, 2011
Karaf 2.2.5 released

The Karaf team is pleased to announce the availability of Karaf 2.2.5.
This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.4. It contains bug fixes identified in the prior release, and introduces improvements including; multiple JAAS support improvements, better support for Linux systems with certain versions of libc, SCP support, and demos for extending Karaf's console commands and using Karaf Archives (KARs). Several dependencies were also updated, bringing Pax Web to version 1.0.8, Jetty to 7.5.4.v20111024, and Jasypt to 1.8.
For more information, please see the release notes.

Jamie Goodyear posted on October 16, 2011
Karaf 2.2.4 released

The Karaf team is pleased to announce the availability of Karaf 2.2.4.
This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.3. It contains bug fixes identified in the prior release, and introduces improvements including; significant improvements to KAR support, and new MBeans (such as Dev, HTTP, Log, OBR, Bundles, Services and System). Several dependencies were also updated, bringing Apache Felix Gogo to version 0.10.0, and Pax Web to 1.0.7.
For more information, please see the release notes.

Jamie Goodyear posted on September 1, 2011
Karaf 2.2.3 released

The Karaf team is pleased to announce the availability of Karaf 2.2.3.
This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.2. It contains bug fixes identified in the prior release, and introduces improvements including; Optional JDK 7 support, a spring-jms feature, and a macro allowing users to identify the contents of a specific config file. Several dependencies were also updated, bringing Jetty to version 7.4.5.v20110725, Eclispe Equinox to 3.6.2.R36x_v20110210, and Pax web to 1.0.6.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on July 10, 2011
Karaf Cellar 2.2.2 released

The Karaf team is pleased to announce the availability of Karaf Cellar 2.2.2.
This is the first release of Apache Karaf Cellar. Karaf Cellar is clustering solution for Apache Karaf powered by Hazelcast.
Karaf Cellar allows you to manage a cluster of Karaf instances, provising synchronisation between instances.
This release includes bug fixes and new features like jclouds support.
For more information, please see the release notes.