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.