>>>>> Cedric Jonas <[email protected]>: > Hi, > We currently distribute new versions via tar-ball / ZIPs. > It is intended to be distributed as a Maven dependency which could then be > used as a "template" / platform distribution to be customized again via the > karaf-maven-plugin. But we weren't able to get that done so far. > Docker could be a topic in future.
Hm... then I don't know if this helps: I have created a debian package for karaf: https://steinar.bang.priv.no/2018/01/23/installing-apache-karaf-on-debian/ And then I just edit the files I need to in /etc/karaf/ and apt upgrades leaves that config alone and/or tells me if there is a conflict. Alternatively I've done a, shall we say, non-standard docker image thing... (sort of breaking/subverting the docker ideal of packing everything into containers). I do all of my karaf apps as "install with maven", meaning that I deploy/release to maven karaf features that can be loaded via maven. For the applications running on my debian packaged karaf, I have created a master feature to load them all: https://github.com/steinarb/myapps (so when I "apt upgrade" the karaf and all installed apps are wiped I can ssh into karaf and install all apps with a single maven-loaded feature) But anyway: I have leveraged the install-from-maven bit when creating docker images, e.g. like this one: https://github.com/steinarb/sonar-collector/tree/master/docker/docker Basically what I do is start with the standard karaf docker image and then replace the org.karaf.features.cfg file with a file that adds the application's feature to the boot set (version LATEST) and add a datasource config file that uses environment variables to set the JDBC URL, the username and the password. Both config files are dropped into the etc directory of the karaf in the docker image and the end result is the LATEST version of the app, pulled from maven central, running inside the docker container after startup.
