All, I wanted to bring up the topic of how to do docker integration. There's some discussions I saw pop up on both the regular ActiveMQ distribution as well as the Artemis project. This started from a potential donation to Artemis to add a dockerfile (its apparently pretty popular on dockerhub - https://hub.docker.com/r/vromero/activemq-artemis/ )
I've gotten some concrete information from infra. There's two ways we do docker integration at the ASF - automatic builds to dockerhub or manual builds to bintray. The problem with the dockerhub approach is that its based on git tags or pushes to branches. We can setup some rules around what does or does not get pushed, but ultimately its all static contents. Its also manual only. In talking with infra, there's some stuff that can be done to retroactively add builds, or replace contents, but its nothing too robust. The bintray approach seems to be the stronger option though. Its based on bintray's APIs, meaning we can push during a release the artifacts up to bintray. I believe there is syncing to dockerhub as well, so by pushing (as a part of a release) to bintray it could sync the docker container up to the central hub. It does give the PMC better control over what goes where, and would allow ActiveMQ to self-manage the release process of the containers. One interesting thing. The main way to integrate into a build is to use the docker-maven -plugin (since we're already using maven), https://github.com/spotify/docker-maven-plugin . This would allow pushing based on the dockerfile, and combined with our normal pom files. It also means it could be fully automated as a part of the maven release process which is pretty nice. I will also point out that there are some concerns over a handful of the integration strategies out there, so unfortunately the data is a bit jagged so far. We don't want to have a docker container that does a build as a part of its spin up. We also don't want to have pre-release software out on docker containers, similar to the usage of maven central (for releases only) but having a nexus based repository for snapshots for devs who want to try the release early on. So I'm putting all this out there (and didn't think this was going to end up being such a long email!). I want to understand from the broader group what type of integration strategy should be used. John
