|
16 | 16 |
|
17 | 17 | [//]: # (list changes here, using '-' for each new entry, remove this when items are added) |
18 | 18 |
|
| 19 | +[1.25.0](https://github.com/bird-house/birdhouse-deploy/tree/1.25.0) (2023-04-01) |
| 20 | +------------------------------------------------------------------------------------------------------------------ |
| 21 | + |
| 22 | +## Fixes |
| 23 | +- Geoserver: update to latest version 2.22.2 to get vulnerability fix |
| 24 | + |
| 25 | + For vulnerability in `jt-jiffle` < 1.1.22, see |
| 26 | + https://nvd.nist.gov/vuln/detail/CVE-2022-24816, and |
| 27 | + https://github.com/geosolutions-it/jai-ext/security/advisories/GHSA-v92f-jx6p-73rx. |
| 28 | + |
| 29 | + Changed to use the CORS (Cross-Origin Resource Sharing) default config from |
| 30 | + the image instead of our own. Both are quite similar so if we can use the |
| 31 | + default config, future upgrade will be simpler. |
| 32 | + |
| 33 | + New Geoserver version will have `jt-jiffle` 1.1.24. The old one had version 1.1.20. |
| 34 | + ``` |
| 35 | + $ docker run -it --rm --entrypoint bash pavics/geoserver:2.22.2-kartoza-build20230226-r5-allow-change-context-root-and-fix-missing-stable-plugins |
| 36 | +
|
| 37 | + | |/ /__ _ _ __| |_ ___ ______ _ | _ \ ___ ___| | _____ _ __ / ___| ___ ___/ ___| ___ _ ____ _____ _ __ |
| 38 | + | ' // _` | '__| __/ _ \_ / _` | | | | |/ _ \ / __| |/ / _ \ '__| | | _ / _ \/ _ \___ \ / _ \ '__\ \ / / _ \ '__| |
| 39 | + | . \ (_| | | | || (_) / / (_| | | |_| | (_) | (__| < __/ | | |_| | __/ (_) |__) | __/ | \ V / __/ | |
| 40 | + |_|\_\__,_|_| \__\___/___\__,_| |____/ \___/ \___|_|\_\___|_| \____|\___|\___/____/ \___|_| \_/ \___|_| |
| 41 | +
|
| 42 | + root@c3787dccea2d:/geoserver# find / -iname '**jt-jiffle**' |
| 43 | + /usr/local/tomcat/webapps/geoserver/WEB-INF/lib/jt-jiffle-language-1.1.24.jar |
| 44 | + /usr/local/tomcat/webapps/geoserver/WEB-INF/lib/jt-jiffle-op-1.1.24.jar |
| 45 | + root@c3787dccea2d:/geoserver# |
| 46 | + ``` |
| 47 | + |
| 48 | + Used our own custom build image because the original kartoza image is missing 2 plugins that we use, see https://github.com/kartoza/docker-geoserver/issues/508 and to avoid excessively slow startup due to https://github.com/kartoza/docker-geoserver/issues/515. |
| 49 | + |
| 50 | + CORS config difference: |
| 51 | + ```diff |
| 52 | + --- web.xml.old 2023-03-22 16:10:20.000000000 -0400 |
| 53 | + +++ web.xml.new 2023-03-22 16:10:06.000000000 -0400 |
| 54 | + |
| 55 | + <filter> |
| 56 | + <filter-name>CorsFilter</filter-name> |
| 57 | + <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> |
| 58 | + <init-param> |
| 59 | + - <param-name>cors.allowed.methods</param-name> |
| 60 | + - <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value> |
| 61 | + - </init-param> |
| 62 | + - <init-param> |
| 63 | + <param-name>cors.allowed.origins</param-name> |
| 64 | + <param-value>*</param-value> |
| 65 | + </init-param> |
| 66 | + <init-param> |
| 67 | + <param-name>cors.allowed.headers</param-name> |
| 68 | + - <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization,Authentication</param-value> |
| 69 | + + <param-value>Content-Type,X-Requested-With,accept,Access-Control-Request-Method,Access-Control-Request-Headers,If-Modified-Since,Range,Origin,Authorization</param-value> |
| 70 | + + </init-param> |
| 71 | + + <init-param> |
| 72 | + + <param-name>cors.exposed.headers</param-name> |
| 73 | + + <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value> |
| 74 | + </init-param> |
| 75 | + </filter> |
| 76 | + ``` |
| 77 | + Missing `cors.allowed.methods`, new `cors.exposed.headers`. |
| 78 | + |
| 79 | + For `cors.allowed.headers`, missing `Authentication`, new `If-Modified-Since,Range`. |
| 80 | + |
| 81 | + Hopefully everything still works with the new CORS config and future upgrade will be simpler. |
| 82 | + |
| 83 | + Tested with the following notebooks, hopefully CORS changes are effectively tested there: |
| 84 | + * https://github.com/Ouranosinc/pavics-sdi/blob/f4aecf64889f0c8503ea67b59b6558ae18407cf6/docs/source/notebooks/WFS_example.ipynb |
| 85 | + * https://github.com/Ouranosinc/pavics-sdi/blob/f4aecf64889f0c8503ea67b59b6558ae18407cf6/docs/source/notebooks/regridding.ipynb |
| 86 | + * https://github.com/bird-house/finch/blob/877312d325d4de5c3efcb4f1f75fbe5cd22660d6/docs/source/notebooks/subset.ipynb |
| 87 | + * https://github.com/Ouranosinc/raven/blob/0be6d77d71bcaf4546de97b13bafc6724068a73d/docs/source/notebooks/01_Getting_watershed_boundaries.ipynb |
| 88 | + with `RAVEN_GEO_URL` pointing to another Geoserver (also from this PR) to |
| 89 | + test CORS (Cross-Origin Resource Sharing) |
| 90 | + |
| 91 | +## Changes |
| 92 | +- Raven: allow to customize the Geoserver it will use |
| 93 | + |
| 94 | + Useful to test the local Geoserver or to have your own Geoserver with your |
| 95 | + own data. Default to PAVICS Geoserver. |
| 96 | + |
| 97 | + Set `RAVEN_GEO_URL` in `env.local` to something like `https://host/geoserver/`. |
| 98 | + |
| 99 | +- env.local.example: change default Geoserver admin user from 'admin' to 'admingeo' |
| 100 | + |
| 101 | + This only impacts new deployment when `env.local.example` is instanciated |
| 102 | + to `env.local`. |
| 103 | + |
| 104 | + This is to avoid confusion with the admin user of Magpie, which is also 'admin'. |
| 105 | + |
| 106 | + |
19 | 107 | [1.24.1](https://github.com/bird-house/birdhouse-deploy/tree/1.24.1) (2023-03-27) |
20 | 108 | ------------------------------------------------------------------------------------------------------------------ |
21 | 109 |
|
|
32 | 120 | [1.24.0](https://github.com/bird-house/birdhouse-deploy/tree/1.24.0) (2023-03-22) |
33 | 121 | ------------------------------------------------------------------------------------------------------------------ |
34 | 122 | ## Fixes |
35 | | -- The default stack was not configurable. This meant that if someone wanted to deploy a |
| 123 | +- Make all components pluggable |
| 124 | + |
| 125 | + The default stack was not configurable. This meant that if someone wanted to deploy a |
36 | 126 | subset of the default stack there was no good way of configuring birdhouse-deploy to run |
37 | 127 | this subset only. |
38 | 128 |
|
|
0 commit comments