karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Francois Papon <francois.pa...@openobject.fr>
Subject Re: Roadmap for Q1 19, Karaf 4.3 and kloud project (was: [PROPOSAL] Simplify the karaf-maven-plugin to easily create custom distribution)
Date Thu, 20 Dec 2018 18:56:13 GMT
Hi JB,

Thanks for the update and the roadmap!

It's very nice to see the cloud initiative about Karaf and it really
make sense for end users ;)

I also very like the idea about simplify the way for creating custom
distribution, this can be very helpfull for the Kloud initiative!

Let's move forward on it and I would be very happy to help ;)

I think the next ApacheCon will be great around Karaf!!


François Papon

Le 20/12/2018 à 09:57, Jean-Baptiste Onofré a écrit :
> Hi guys,
> Now that Karaf "runtime" 4.2.2 is in vote, I would like to share
> proposal about roadmap for end of this year and Q1 19.
> I would like to call this the "kloud initiative", kloud for Karaf Cloud.
> Karaf is already ready for the cloud (see my blog about Karaf on Azure
> http://blog.nanthrax.net/?p=849). However, the idea is to simplify the
> cloud provisioning.
> About this, there's several main topics:
> 1. On the runtime, we are moving forward on R7 spec, resource
> repositories better support, ... I also would like to propose to have a
> lighter minimal distribution and include a kloud distribution focused on
> cloud packaging.
> 2. A large improvement/refactoring on the karaf-maven-plugin to simplify
> the creation of distribution, but also package docker images directly,
> and also provision cloud (via the jclouds provisioning service on which
> I'm working). The idea is to be able, on a "bundle" or "feature"
> project, to simply do karaf:archive, karaf:docker, karaf:cloud, etc.
> 3. Improve Cellar to better leverage some cloud features (like LB, auto
> scaling, ...)
> 4. Verify that all Karaf projects correctly leverage cloud features when
> available and are ready for that (it's related to the second point as well).
> I started to work on 1 & 2. Hopefully, I should have a PoC/Proposal for
> beginning of Jan. 3 & 4 will come later.
> I will give you an update (and donation proposal) about Karaf Vineyard
> and Winegrower very soon (maybe a Christmas gift ;)).
> By the way, I also started some cloud related features in third party
> projects (ActiveMQ with zookeeper and hazelcast discovery agent, replica
> storage tentative, Pax Web about LB, ...).
> All my tests and evaluation are performed on AWS and Azure, just to
> avoid to be locked on only one cloud provider.
> If you agree, I will propose a concrete plan, creating umbrella Jira and
> introduce the "kloud" tag in Jira.
> Thanks !
> Regards
> JB
> On 13/09/2018 13:51, Jean-Baptiste Onofré wrote:
>> Hi guys,
>> Recently, we received a lot of questions around how to create Karaf
>> custom distribution based on karaf-maven-plugin, and how to use the
>> static profile to create "standalone/static" distribution.
>> If the plugin works fine, it's not easy to understand some "details",
>> like the dependency scope impact, or providing the set of default
>> features repos and features. I already helped users (in private
>> communication) to fix their custom distributions.
>> Obviously, we should simplify the way of creating custom distribution,
>> especially with the new tooling & feature we now provide around Docker.
>> I would like to propose the following:
>> 1. Set the default behavior of the assembly goal to create a custom
>> distribution based on standard. For the user, instead of providing
>> (again) all framework, standard, enterprise features repos and all
>> standard boot features (shell, ...), it will just specify the tar.gz/zip
>> base and his own features repo/repos (or the goal will use the same
>> version of the goal plugin itself). All the rest will be done by the
>> plugin for him. Use the karaf packaging as default to define this. At
>> the end of the day, the user pom.xml will look like:
>> <project>
>> 	<groupId>foo</groupId>
>> 	<artifactId>bar</artifactId>
>> 	<version>1.0-SNAPSHOT</version>
>> 	<packaging>karaf</packaging>
>> 	<dependencies>
>> 		<dependency>
>> 			<groupId>org.apache.karaf</groupId>
>> 			<artifactId>apache-karaf</artifactId>
>> 			<version>4.2.1</version>
>> 			<type>tar.gz</type>
>> 		</dependency>
>> 		<dependency>
>> 			<groupId>foo</groupId>
>> 			<artifactId>my</artifactId>
>> 			<version>1.0-SNAPSHOT</version>
>> 			<classifier>features</classifier>
>> 			<type>xml</type>
>> 		</dependency>
>> 	</dependencies>
>> 	<build>
>> 		<plugins>
>> 			<plugin>
>> 				<groupId>org.apache.karaf.tooling</groupId>
>> <artifactId>karaf-maven-plugin</artifactId>
>> <extensions>true</extensions>
>> <inherited>true</inherited>
>> <configuration>
>> <bootFeatures>
>> 	<feature>my</feature>
>> </bootFeatures>
>> <installedFeatures>
>> 	<feature>my-other</feature>
>> </installedFeatures>
>> </configuration>
>> 			</plugin>
>> 		</plugins>
>> 	</build>
>> </project>
>> The idea is to automatically execute install-kar + assembly for the
>> karaf packaging and let the user focus on its own resources (features,
>> config, ...) just providing the base Karaf archive.
>> The user will be able to use src/main/resources to provide any files in
>> etc, bin, or whatever in the resulting custom distribution.
>> 2. Improve a bit the features XML generation
>> If the custom distribution is the highest priority, just after the
>> improvements on this area, I would like to improve the way of creating
>> features XML.
>> Now, to be honest, almost all of us write features repos XML by hand. It
>> gives us the maximum of flexibility. However, on the other hand, the
>> features XML and code contain should be sync.
>> I would like to improve the generate features MOJO, however leveraging
>> most of all functionalities around features (prerequisites, dependency
>> flag, inner features, ...).
>> I have to dig a little bit around that, but if you want some ideas
>> already, please let me know.
>> Thoughts ?
>> Regards
>> JB

View raw message