[Geoserver-devel] GeoServer DC/OS Universe Package

We have just recently developed a DC/OS (https://dcos.io) Universe package that allows GeoServer to be easily deployed in a high-availability configuration on the Data Center Operation System (DC/OS). This takes in to account the production recommendations by the GeoServer team for JVM tweaking and includes Marlin high-performance renderer out-of-the-box.

The high level overview is that there are 2 unique services running to create this package: a single sync service and multiple GeoServer services. All services are running in Docker containers and maintained by Marathon within the DC/OS cluster. The GeoServer configuration is placed in shared storage that is mounted to all containers. The sync service monitors the shared storage for updates and then uses the GeoServer REST API to force a configuration reload from disk. This allows a full GeoServer deployment to be present on all nodes and eliminates complexity of separating GeoServer into slave/master groups. Marathon-LB is used to front the GeoServer instances and provides sticky sessions per user and round-robin load-balancing among users.

You can find the Universe package for review here:

https://universe.serv.sh/#/package/geoserver/version/latest

Quick start documentation can be found here:

https://universe.serv.sh/#/package/geoserver/docs

If the above links are broken, try this address:

https://github.com/dcos/examples/tree/master/1.8/geoserver

Any feedback would be appreciated!

Cheers,
Jonathan Meyer
Sr. Software Engineer
Applied Information Sciences