[Fabric] is a set of components for providing a clustering solution for Apache Karaf.
Apache Karaf provides an OSGi runtime, but it lacks some clustering support. [Fabric] aims to provide the needed infrastructure to manage the configuration and provisioning of multiple Karaf nodes.
[Fabric] rely on Apache ZooKeeper, which is highly reliable distributed coordination service, to store the cluster configuration and node registration.
[Fabric] defines a notion of profile that can be applied to Karaf nodes. A profile consist of a list of configurations that will be provided to ConfigAdmin. A single can be associated to multiple profiles, allowing a given node to serve multiple purposes. Profiles can also have inheritence so that parts of configuration can be shared across multiple profiles.
[Fabric] defines a provisioning agent relying on Karaf features through ConfigurationAdmin. The list of features to be installed on a given node is retrieved from a known configuration by the agent and the features are installed / uninstalled as needed.