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