Karaf Cave

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.

Quick Start

To install and start Cave into a running Karaf instance, you have to install the Cave server feature:

karaf@root> features:addurl mvn:org.apache.karaf.cave/apache-karaf-cave/2.3.0/xml/features
karaf@root> features:install cave-server

You're ready to use Cave server. Take a look on the user guide.