Apache karaf is OSGi based runtime.
It is where our bundles (OSGi components) run. Fuse uses apache karaf as its OSGi container to make run bundles which collaborate to provide business functionality. So in order to understand fuse we have to understand karaf.
Apache karaf is very small and lightweight OSGi container which runs OSGi bundles ( components which make up our application).
It is built on Felix and equinox which are OSGi framework.
Apache karaf adds below functionalities to core OSGi framework.
Karaf supports hot deployment. It contains deploy directory. Whatever copied in that directory is automatically picked up by karaf and deployed runtume.
Karaf contains etc directory where all the configurations are stored . These configuration files are polled by karaf and changes are propagated directly without container restart.
Karaf provides number of ways to install ,deploy start and stop components(bundles). It provides better approach for provisioning of libraries and components.
Apache karaf allows centralized ligging system
Karaf provides nice text based admin console. From where we can manage various components and monitor or change karaf configuration at run time using commands.
The admin cinsole is extensible. By adding new bhndle to karaf we can get new cimmands in that container. This allows karaf to extends its commands set at run time.
Karaf allows remote ssh access to its shell from remote hosts.
Karaf provides really easy and effective way to create,start and stop child instances.
For more information on apache karaf please refer official site.