Closed miceg closed 5 months ago
@miceg Are you able to complete this soon? I need to publish the latest bug fix .1 version. If not I will push the new version and we can update this when you get to it
Thanks for finishing that off – I've been stuck in some other work. The changes you made in the final version look good to me. :)
This PR is based on #658, that'll need to be merged first to get a clean diff.
Fixes: #642
This rearchitects the image's plugin and component downloads:
Detailed change list:
Use
curl
rather thanwget
, becausewget1
doesn't support HTTP/2 and friends (which are faster).Download plugins using a separate Docker image, using a single
curl
process to benefit from connection re-use:apt
.Remove
validate_url
(which calledwget
twice), and just callcurl
directly.Make
download_extension
only try to download each extension once usingcurl
, rather than twice usingcurl
andwget
.Simplify
package_geoserver
so it doesn't repeatedly repeat itself, and doesn't fetch each URL twice. Also makes itexit 1
on errors.Clean up some strange shell syntax.
There are still some error handling weaknesses in the main image – the proper solution to that would be to use
set -e
. I'm hesitant to turn that on without further testing, because there may be assumptions in the existing script.There are still some component downloads in the main image build which could be moved into the plugin downloader (such as GeoServer itself and
libjpeg-turbo
), but this is still a huge improvement.