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 13, 2014
Karaf 2.3.5 and 3.0.1 released!

The Karaf team is pleased to announce the availability of Karaf 2.3.5 and Karaf 3.0.1.

Apache Karaf 2.3.5

This is an update patch for Apache Karaf 2.3.4, containing many bug fixes, dependency updates, and improvements. New feature highlights include: monitoring etc/user.properties with Felix fileInstall, and adding MSSQL datasource type.
For more information, please see the release notes.

Apache Karaf 3.0.1

This is an update patch for Apache Karaf 3.0.0, containing many bug fixes, dependency updates, and improvements. New feature highlights include: the addition of Pax CDI to Karaf enterprise feature, monitoring etc/user.properties with Felix fileInstall, and adding MSSQL datasource type.
For more information, please see the release notes.

Jamie Goodyear posted on February 17, 2014
Karaf 2.3.4 released!

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

This patch update to the 2.3.x line contains multiple bug fixes, improvements, and dependency updates including; Clone and status commands for instances, Hibernate feature, improved managment & debugging, and dependency updates to Aries Blueprint core 1.4.0, json 20131018, bndlib 2.2.0, and various updates to maven plugins.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on January 21, 2014
Karaf Cave 2.3.0 released!

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

Karaf Cave provides an OSGi Bundle Repository (OBR), simple Maven repository, and Karaf Features Repository (KFR).

OBR provides a service that can automatically install a bundle, with its deployment dependencies, from a bundle
repository.

Apache Karaf Cave provides the following features:

  • Storage: Karaf Cave provides a filesystem storage. The storage backend is designed with a kind of plugin system, it means that we can change the default filesystem storage by another kind of storage
  • OBR metadata generation: Karaf Cave automatically creates the OBR metadata for you, using the artifacts presents in the Cave repository.
  • OBR registration: Karaf Cave allows you to directly register a Cave repository into the OBR RepositoryAdmin OSGi service.
  • Artifact upload: you can update any OSGi bundle in a Cave repository, using advanced URL, e.g. mvn:groupId/artifactId/version
  • HTTP Maven/OBR: Karaf Cave provides a HTTP service where you can download artifacts and get OBR information.
  • "External" repository proxy: you can proxy an existing repository (like a Maven one) into a Cave repository. In that case, the artifacts are still resident on the proxied repository, Cave handles the OBR metadata. Cave supports file: and http: like URL, it means that Cave is able to browse a remote HTTP Maven repository.
  • "External" repository population: you can populate your local Cave repository from an external repository. It means that Cave browse the external repository URL (file: or http:), looking for OSGi bundles in the artifacts, and copy the bundles in the Cave repository storage.

For more information, please see the release notes.

Jamie Goodyear posted on December 24, 2013
Karaf 3.0.0 released!

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

This is a major new release of Apache Karaf, containing many refactorings, OSGi rev 5 support, wide ranging dependency upgrades, and new commands.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on December 18, 2013
Karaf repositories moved to Git

The Karaf source repositories have moved from Subversion to Git:

  • https://git-wip-us.apache.org/repos/asf/karaf.git for Karaf
  • https://git-wip-us.apache.org/repos/asf/karaf-cellar.git for Karaf Cellar
  • https://git-wip-us.apache.org/repos/asf/karaf-cave.git for Karaf Cave
  • https://git-wip-us.apache.org/repos/asf/karaf-eik.git for Karaf EIK
  • https://git-wip-us.apache.org/repos/asf/karaf-webconsole.git for Karaf WebConsole

You can find some details on the source page.

Jean-Baptiste Onofré posted on October 14, 2013
Karaf Cellar 2.3.2 released

The Karaf team is pleased to announce the availability of Karaf Cellar 2.3.2.
This release is the second one on the Cellar 2.3.x branch, fully compatible with the Karaf 2.3.x serie. All users of a Karaf 2.3.x have to use this Cellar version.
It includes major bug fixes.
For more information, please see the release notes.

Jamie Goodyear posted on September 20, 2013
Karaf 2.3.3 released!

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

This patch update to the 2.3.x line contains multiple bug fixes, improvements, and dependency updates including; improvements to the service wrapper to detect java, return correct exit codes, have correct karaf.data information on child instances and operate on Solaris, the log command can now list all the logging levels currently set, and dependency updates to Spring 3.2.4.RELEASE, Pax Logging 1.7.1, easymock 3.2, and jasypt 1.9.1.
For more information, please see the release notes.

Jamie Goodyear posted on July 10, 2013
Karaf 2.3.2 released!

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

In this patch update to the 2.3.x line contains multiple bug fixes, improvements, and dependency updates including; restored IBM Java compatibility, DirectoryWatcher for deploy folder now waits for framework start level to reach 60, BundleWatcher now waits for refresh to be finished before updating another bundle, CXF DOSGI feature now included in Karaf repos config, HTTP feature now installs a default web config file, and dependency updates to Spring 3.2.3.RELEASE, Pax Web 1.1.14, Aries Transaction Blueprint 1.0.1, and Pax Url 1.3.6.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on July 1, 2013
Karaf Cellar 2.3.1 released

The Karaf team is pleased to announce the availability of Karaf Cellar 2.3.1.
This release is the second one on the Cellar 2.3.x branch, fully compatible with the Karaf 2.3.x serie. All users of a Karaf 2.3.x have to use this Cellar version.
It includes major bug fixes.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on May 23, 2013
Karaf Cellar 2.3.0 released

The Karaf team is pleased to announce the availability of Karaf Cellar 2.3.0.
This release is the first one on the Cellar 2.3.x branch, fully compatible with the Karaf 2.3.x serie. All users of a Karaf 2.3.x have to use this Cellar version.
It includes a lot of bug fixes and new features.
For more information, please see the release notes.

Jean-Baptiste Onofré posted on May 23, 2013
Karaf Cellar 2.2.6 released

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