Hi,

Some days ago, we discussed about Decanter 2.0.0 and using "external" instances of used engines, like Elasticsearch or Kibana.

Basically, the main reason is that some engines are not easy to embed in Karaf. It's the case of Kibana as it uses node.js.

However, one of the big advantage of embedded instance of Elasticsearch or Kibana is that it's very easy to install and use: it's just a feature:install command to perform.

So, I would like to provide both advantages: easy to install and use with external instances ;)

A first approach would be to create a "exec" bundle starting the instance. But we gonna face the "classic" issues depending of the environment.

Maybe some of you remember the karaf-docker PoC I did month ago:

https://github.com/jbonofre/karaf-docker

This is a simple feature that allows you to manipulate docker images: bootstrapping, starting/running, ...

I think it would help a lot in Decanter or Cellar: we can just provide Karaf Docker commands to bootstrap Elasticsearch, Kibana, OrientDB, ... As a best effort, we will try to provide embedded instance as possible, but it won't be the preferred approach.

As karaf-docker is small project and just basically use docker, I think it doesn't require to be a Karaf subproject. As we have the karaf scheduler (using Quartz internally), I would like to propose to add docker in Karaf container in a dedicated module.

It means that users will be able to do feature:install docker to have the docker commands. I would like also to add a command and configuration to have "ready to go images". Something that will allow users to do:

docker:run elasticsearch

then, elasticsearch will use a ready to go dockerfile.

It would be possible to do:

docker:run mvn:org.apache.karaf.decanter.docker/elasticsearch/6.1.0/docker

Where we can host ready to use "official" dockerfile.

Thoughts ?

Regards
JB
--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to