karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré ...@nanthrax.net>
Subject [PROPOSAL] Introduce "static" resolver
Date Mon, 04 Mar 2019 14:00:45 GMT
Hi guys,

During the introduction thread about "kloud initiative", we quickly
discussed about the resolver.

Today, we can see concerns about the current features resolver, especially:
- the resolution at runtime can be different than the one done during verify
- the resolution at runtime can be impacted by the version range
- the resolution can cause bunch of refresh, impacting startup and
resolution time

If the current resolver is great for a "container/dynamic" approach
where karaf is running and we deploy things in it, it's not good for a
"static" bootstrapping as expected for a runtime running on cloud or docker.

I would like to propose to introduce a feature resolver named "karaf".
The idea is to use a resolver that reads the features repositories as
they are and install bundles/configuration/etc without checking all
capabilities and requirements. It sounds a bit like a mix of the simple
resolver we use in the Karaf maven plugin in the verify goal, and what
we had in the past (in Karaf 2.x for instance). It doesn't perform any
refresh, it's up to the developer (and of course the tooling) to provide
a complete features definition.

The resolver could be configured in etc/org.apache.karaf.features.cfg
and we can have a "static" distribution with this resolver by default.

I would propose to rename "standard" distribution as "container", and we
will provide the "static" distribution.

Thoughts ?

Another idea around this is Karaf Winegrower. Winegrower is kind of
Karaf Boot, using a single/unique classloader instead of one classloader
per bundle. It's pretty convenient for cloud as well.
Maybe we can have winegrower as Karaf subproject.
Currently Winegrower is here: https://github.com/jbonofre/winegrower

Thoughts ?

Jean-Baptiste Onofré
Talend - http://www.talend.com

View raw message