Re: [infinispan-dev] The future of Infinispan Docker image
IMHO we should ship things like scripts, external modules, drivers, etc with the server itself, leaving the least amount of logic in the Docker image. What you are proposing is the opposite: introducing a templating engine that adds a level of indirection to the Docker image (the Dockerfile is generated) plus it grabs jars, modules, scripts, xmls, etc from potentially external sources and does several patches to the server at Docker image creation time. WRT the docker hub, I think it could be used with Concreate by using hooks, I did a quick experiment of a Dockerhub automated build having a dynamically generating a Dockerfile in [1], but I guess the biggest question is if the added overall complexity is worth it. I'm leaning towards a -1, but would like to hear more opinions :) [1] https://hub.docker.com/r/gustavonalle/dockerhub-test/ Thanks, Gustavo On Tue, Nov 7, 2017 at 3:14 PM, Sebastian Laskawiecwrote: > Hey! > > Together with Ryan we are thinking about the future of Infinispan Docker > image [1]. > > Currently we use a single Dockerfile and a bootstrap script which is > responsible for setting up memory limits and creating/generating (if > necessary) credentials. Our build pipeline uses Docker HUB integration > hooks, so whenever we push a new commit (or a tag) our images are being > rebuilt. This is very simple to understand and very powerful setup. > > However we are thinking about bringing product and project images closer > together and possibly reusing some bits (a common example might be Jolokia > - those bits could be easily reused without touching core server > distribution). This however requires converting our image to a framework > called Concreate [2]. Concreate divides setup scripts into modules which > are later on assembled into a single Dockerfile and built. Modules can also > be pulled from other public git repository and I consider this as the most > powerful option. It is also worth to mention, that Concreate is based on > YAML file - here's an example of JDG image [3]. > > As you can see, this can be quite a change so I would like to reach out > for some opinions. The biggest issue I can see is that we will lose our > Docker HUB build pipeline and we will need to build and push images on our > CI (which already does this locally for Online Services). > > WDYT? > > Thanks, > Sebastian > > [1] https://github.com/jboss-dockerfiles/infinispan/tree/master/server > [2] http://concreate.readthedocs.io/en/latest/ > [3] https://github.com/jboss-container-images/jboss- > datagrid-7-openshift-image/blob/datagrid71-dev/image.yaml > > ___ > infinispan-dev mailing list > infinispan-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/infinispan-dev > ___ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev
[infinispan-dev] The future of Infinispan Docker image
Hey! Together with Ryan we are thinking about the future of Infinispan Docker image [1]. Currently we use a single Dockerfile and a bootstrap script which is responsible for setting up memory limits and creating/generating (if necessary) credentials. Our build pipeline uses Docker HUB integration hooks, so whenever we push a new commit (or a tag) our images are being rebuilt. This is very simple to understand and very powerful setup. However we are thinking about bringing product and project images closer together and possibly reusing some bits (a common example might be Jolokia - those bits could be easily reused without touching core server distribution). This however requires converting our image to a framework called Concreate [2]. Concreate divides setup scripts into modules which are later on assembled into a single Dockerfile and built. Modules can also be pulled from other public git repository and I consider this as the most powerful option. It is also worth to mention, that Concreate is based on YAML file - here's an example of JDG image [3]. As you can see, this can be quite a change so I would like to reach out for some opinions. The biggest issue I can see is that we will lose our Docker HUB build pipeline and we will need to build and push images on our CI (which already does this locally for Online Services). WDYT? Thanks, Sebastian [1] https://github.com/jboss-dockerfiles/infinispan/tree/master/server [2] http://concreate.readthedocs.io/en/latest/ [3] https://github.com/jboss-container-images/jboss-datagrid-7-openshift-image/blob/datagrid71-dev/image.yaml ___ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev
Re: [infinispan-dev] Counters and their configurations in Infinispan server (DMR)
Hi everyone, Here is most of the implementation with example use outlined in https://github.com/infinispan/infinispan/pull/5570 Would you please review it as I am not an expert in DMR and I need one now :-) Regards, Vladimir On Fri, Nov 3, 2017 at 8:58 AM, Vladimir Blagojevicwrote: > Thanks Galder and Pedro. I'll implement them as you suggested! > Cheers > On 2017-11-03 6:02 AM, Galder ZamarreƱo wrote: > > At first glance, I'd agree with Pedro. > > On 2 Nov 2017, at 16:07, Pedro Ruivo > wrote: > > Hi, > > IMO, I would separate the concept of counter and configuration. > > Even if an user doesn't create many counters, I think most of them will > share the same configuration. As a bad example, if you want to counter > oranges and apples, you're going to use the same configuration... > probably :) > > In addition, it is symmetric to the cache DMR tree. This would reduce > the learning curve if the user is already used to cli (i.e create caches). > > Cheers, > Pedro > > > > On 02-11-2017 12:33, Vladimir Blagojevic wrote: > > Hey guys, > > How do you anticipate users are going to deal with counters? Are they > going to be creating a lot of them in their applications, say dozens, > hundreds, thousands? > > I am asking because I have a dilemma about their representation in DMR > and therefore in the admin console and potentially wider. The dilemma is > related to splitting the concepts and the mapping between counter > configuration and counter instances. On one end of the possible spectrum > use, if users are going to have many counters that have the same > configuration then it makes sense to delineate the DMR concept of the > counter configuration and its counter instance just like we do for > caches and cache configuration templates. We deal with cache > configurations as templates; one could create hundreds of caches from > the same template. Similarly, we can do with counters. On the other end > if users are going to create very few counters then it likely does not > make much sense to separate counter configurations from its instance, > they would have one to one mapping. For each new counter, users would > just enter counter configuration and launch an instance of a > corresponding counter. > > The first approach saves resources and makes large counter > instantiations easier while the second approach is easier to understand > conceptually but is inefficient if we are going to have many counter > instance. > > Thoughts? > > Vladimir > > ___ > infinispan-dev mailing list > infinispan-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/infinispan-dev > > ___ > infinispan-dev mailing list > infinispan-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/infinispan-dev > > > -- > Galder ZamarreƱo > Infinispan, Red Hat > > > > ___ > infinispan-dev mailing > listinfinispan-dev@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/infinispan-dev > > > > ___ > infinispan-dev mailing list > infinispan-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/infinispan-dev > ___ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev