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!! Thanks, François Papon fpa...@apache.org 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 >>