Repository navigation
feat: upgrade geoserver to 3.0.1 (MAPCO-9312) - #6
roicohen326 wants to merge 6 commits into
Conversation
|
@roicohen326 , Thank you for the PR🚀! Also, make sure to remove AI comments |
Upgrades the kartoza base image from 2.27.1--v2025.07.17 to 3.0.1--v2026.09.04, which addresses CVE-2026-76904 (critical, unauthenticated PostGIS SQL injection via GeoTools). BREAKING CHANGE: GeoServer 3.0 moves to Java 21 and Tomcat 11 (Jakarta EE). The data_dir migration is one-way -- once 3.0.1 rewrites the catalog, 2.27 may not be able to read it back. Back up the data dir before deploying. kartoza restructured their entrypoint scripts in 3.0: functions.sh was split into scripts/lib/*.sh and entrypoint.sh is now a thin orchestrator. The single line this image used to patch out did three things, and in 3.0.1 those three live in three places: chmod o+rw CERT_DIR -> lib/utils.sh, own line (sed) gwc_file_perms -> geo_data_file_perms, guarded (env vars) find ... chmod 400 -> lib/utils.sh, own line (sed) All three fail with EPERM under OpenShift's arbitrary UID and abort the entrypoint (set -e), so all three still need to be disabled. The sed is also given grep pre/post assertions. sed exits 0 when it matches nothing, so the previous form would silently no-op on a restructured upstream and produce an image that builds green and only fails at runtime.
c3a9556 to
b306b2d
Compare
… helm to 3.0.1 (MAPCO-9312)
Hi Niv, thanks for the review. Going through your points: Image tag: Follows the existing scheme, v2.1.0-3.0.1 (package.json bumped to 2.1.0). The image is already built and pushed to ACR.
|
Did you check PostgreSQL SSL connection with certificates? Also, if you locally built and pushed v2.1.0-3.0.1 to our ACR, this is VERY wrong and should never do such a thing. We have release-please workflow and docker build and push workflow that handles release and build. Please delete it ASAP. Thanks. If the PR is ready for my review, please mark it back from draft pr. |
Thanks Niv, and sorry: my previous comment was inaccurate on a few points. ACR: v2.1.0-3.0.1 was not pushed. Versioning: reverted my manual package.json bump; the version is left to the release. PostgreSQL SSL: not checked yet. Our raster-dev deployment doesn't use certificate auth, and cert-start.sh is unchanged in this PR. I'll verify it against a Postgres that requires client certificates and update here. Title: changed to feat: (no breaking changes found). |
|
@roicohen326 you will need to make sure you keep the ACR nice and neat, clean up after you are done testing. |
|
Make sure that if you push to ACR (to test on our Dev env), you push it with rc* postfix tag. Also, I noticed we don't have a release-please workflow on this repository. Are you keen to submit the release-please workflow in a separate PR? |
Sure , no probelm . |
|
@NivGreenstein the release-please workflow is up in #7. It starts from One question:
Still open:
|
|
@NivGreenstein PG SSL with client certs: tested and works on 3.0.1. |
| logScraping: true | ||
|
|
||
| image: | ||
| geoserverRepository: geoserver-os |
There was a problem hiding this comment.
@NivGreenstein if it is a common image why should we nest it under vector ?
There was a problem hiding this comment.
Historically, Geoserver was Vector's domain. We may change it to common.
We may also change repo's owner from Vector team
| geoserverRepository: geoserver-os | ||
| geoserverTag: "v1.0.0-2.19.1" | ||
| geoserverRepository: vector/geoserver-os | ||
| geoserverTag: "v2.1.0-3.0.1" |
| @@ -24,7 +27,14 @@ RUN chmod -R g=u ${CATALINA_HOME} /opt /usr/local/tomcat /settings /etc/certs \ | |||
| /scripts /tmp/ /home /community_plugins/ \ | |||
| ${GEOSERVER_HOME} /usr/share/fonts/ | |||
There was a problem hiding this comment.
@syncush, Mayble let's contribute this part to Kartoza/docker-geoserver ?
| try { | ||
| const packageVersion = await require('./package.json').version; | ||
| const imageName = `${IMAGE_REPO}:v${packageVersion}-${GEOSERVER_VERSION}`; | ||
| const imageName = `${IMAGE_REPO}:v${packageVersion}-${GEOSERVER_VERSION.split('--')[0]}`; |
Related issues: #MAPCO-9312
Further information: