Closed poikilotherm closed 3 years ago
@pdurbin and other: initial work on the building part has been to my feature branch.
Right now this will (of course) not work. The Postgres driver is missing right now and the config part (see #5293) has to be addressed first.
As I wrote in the commit message, the upstream container project is in some parts not very responsive/active (see here, here, here and here).
Will try my best to get things upstream, but maybe better fork and try to get this upstream later:
Also wondering if automated builds and security scans from quay.io could be interesting for this.
I am currently working on an updated payara image, see https://github.com/poikilotherm/docker-payaraserver-full/tree/refactor . Will try to get my work upstream, just a few hours ago they merged stuff :-D
Since the upstream merged a lot of stuff cleaning up most of the issues (see here), I switched back to use those. Some issues still exist with the init system.
I just opened PR payara/docker-payaraserver-full#61 and hope things will get merged.
Current niceness blockers:
@DataSourceDefinition
, see #6819. JMS etc to follow.But maybe we can just deal with it for now. Jenkinsfiles missing. Solr image missing.
There is still plenty of stuff to do. Yet this issue is quite dated and it's starting to become messy. Closing this for now.
Note, that there is traction at https://github.com/gdcc/dataverse/tree/develop+ct, https://github.com/gdcc/dataverse-kubernetes and much MPCONFIG stuff going on.
IMHO this is an epic, not a single story.
This issue is successor to #5187 and closes it.
It is intended to serve as a base for solutions or make life easier in:
5068 - Running integration tests for more than just API
4172 - Payara 5 Upgrade
5072 - Refactoring of S3 storage driver
4665 - Docker in production and projects related to that (IQSS/dataverse-docker and the like)
4040 - OpenShift / Kubernetes deployments
This is blocked by some stuff and relies on some prior art to be done:
#5288 - Dependency HousekeepingDone!5274 - Stripping AWS dependency and TrueZIP from POM
5360 - Dependency Housekeeping, second round
5293 - Simplify configuration of the application.
5345 - Make EJB timers non-persistent to drop database requirement.
5361 - Bootstraping empty instance
Things to consider:
HEALTCHECK CMD
that uses a to-be-built API endpoint reporting on health status?Vision / Proposal
Currently, when running integration tests or deploying Dataverse to Docker/Kubernetes, only kind of heavyweight solutions exist with the DockerAIO for IT tests and most (all?) Docker/Kubernetes/OpenShift approaches relying on the installer script.
I encourage the following vision:
To get there I suggest using:
Things to keep in mind:
Give it a shot! (Testing)
To test, just have Docker, Maven, Git and Java installed. Then do:
Please keep in mind that this is a feature branch. If you already have a cloned dataverse repo, you might better off using:
I regularly update this feature branch to be based on the latest
develop
. This involves rebasing, which will let your local branch be diverged. In that case, simply usegit reset --hard poikilotherm/5292-small-container
after afetch
.