20 Aug 2018 - jbo

Most of the Karaf users know the Apache Karaf “standard” distribution.

Apache Karaf dynamic approach (“standard” distribution)

You can download Apache Karaf “standard” or “minimal” distributions, you download a “dynamic” distribution. By “dynamic”, it means that you start the Karaf runtime and, later, you deploy applications in it.

The resolution is performed at runtime, at deployment time. It’s a “application container” approach (like Apache Tomcat, …). You can create your own custom Karaf runtime (using boot features for instance), where the container starts a set of applications at bootstrap.

However, it’s not the only approach ! Apache Karaf is a complete polymorphic application runtime, meaning that it can take different form to match your expectations, use cases and devops requirements. Apache Karaf static approach (likely immutable)

You can use a “static” approach with Apache Karaf. It’s similar to kind of spring-boot bootstrap and especially very convenient used with docker and on the cloud.

The resolution is made at build time, predictable.

This approach is super light, standalone/immutable while supporting all Karaf features !

We also have new tools coming that can directly generate dockerfile or even docker images.

In this blog, I will show how to create a application running in Karaf “static” runtime.

As I have some work in progress, this blog is based on the current pull request: https://github.com/apache/karaf/pull/789.