-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## Overview Apply latest Weaver to apply all updates and fixes since 5.6.1. ## Changes **Non-breaking changes** - Weaver: update `weaver` component default version to [6.1.0](https://github.com/crim-ca/weaver/tree/6.1.0). ### Relevant changes * Add support of *OGC API - Processes - Part 3: Workflows and Chaining* with *Nested Process* ad-hoc workflow. * Add support of *OGC API - Processes - Part 3: Workflows and Chaining* with *Remote Collection* (STAC and OGC). * Add support of *OGC API - Processes - Part 4: Job Management* endpoints for job "pending" creation and execution. * Add support of *OGC API - Processes - Part 4: Job Management* endpoints for job provenance as *W3C PROV* metadata. * Multiple alignment and fixes related to latest *OGC API - Processes - Part 1: Core* definitions regarding handling of input parameters and headers when submitting jobs to obtain alternate result representations and behavior. * Add HTML responses by default via web browsers or as requested by `Accept` headers or `f` query parameter. * Add improved CWL schema validation with `Weaver`-specific definitions where applicable (see https://github.com/crim-ca/weaver/tree/master/weaver/schemas/cwl). - Weaver: modifications to `proxy` configurations for `weaver` * Add `WEAVER_ALT_PREFIX` optional variable that auto-configures `WEAVER_ALT_PREFIX_PROXY_LOCATION`, which allows setting an alternate endpoint to redirect requests to `weaver`. It uses `/ogcapi` by default which is a very common expectation from servers supporting OGC standards. * Use the `TWITCHER_VERIFY_PATH` approach to accelerate access of `weaver` resources authorization. * Modify proxy pass definitions and URL prefixes to resolve correctly with HTML resources. **Breaking changes** - n/a ## Related Issue / Discussion - Related to OGC Testbed-20 initiatives. ## Additional Information Links to other issues or sources. - The PR is live here: https://hirondelle.crim.ca/weaver/
- Loading branch information
Showing
12 changed files
with
129 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
2.7.3 2025-01-17T18:54:34Z | ||
2.8.0 2025-01-17T23:17:16Z |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
60 changes: 43 additions & 17 deletions
60
birdhouse/components/weaver/config/proxy/conf.extra-service.d/weaver.conf.template
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,51 @@ | ||
|
||
location = /weaver-auth { | ||
internal; | ||
# note: using 'TWITCHER_VERIFY_PATH' path to avoid performing the request via proxy 'TWITCHER_PROTECTED_PATH' | ||
# This ensures that access is validated for the user, but does not trigger its access/download twice. | ||
# It is also more efficient, since less contents are transferred/buffered. | ||
proxy_pass ${BIRDHOUSE_PROXY_SCHEME}://${BIRDHOUSE_FQDN_PUBLIC}${TWITCHER_VERIFY_PATH}/$request_uri; | ||
proxy_pass_request_body off; | ||
proxy_set_header Host $host; | ||
proxy_set_header Content-Length ""; | ||
proxy_set_header X-Original-URI $request_uri; | ||
proxy_set_header X-Forwarded-Proto $real_scheme; | ||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
proxy_set_header X-Forwarded-Host $host:$server_port; | ||
} | ||
|
||
location = /${WEAVER_MANAGER_NAME} { | ||
return 301 /${WEAVER_MANAGER_NAME}/$is_args$args; | ||
} | ||
location ~ ^/${WEAVER_MANAGER_NAME}/(.*)$ { | ||
auth_request /weaver-auth; | ||
auth_request_set $auth_status $upstream_status; | ||
|
||
# NOTE: | ||
# Inject the 'WEAVER_MANAGER_NAME' prefix here to align with 'SCRIPT_NAME' in the docker-compose config. | ||
# This is needed to help UI elements resolve the full URI path with proxy service prefixes since the | ||
# generated locations returned that must be interpreted/retrieved by the client/browser would otherwise | ||
# not be aware of the proxy redirection path prefix, leading to unresolved resources. | ||
proxy_pass http://weaver:4001/${WEAVER_MANAGER_NAME}/$1$is_args$args; | ||
proxy_set_header Host $http_host; | ||
proxy_set_header X-Original-URI $request_uri; | ||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
proxy_set_header X-Forwarded-Proto $real_scheme; | ||
proxy_set_header X-Forwarded-Host $http_host:$server_port; | ||
proxy_buffering off; | ||
} | ||
|
||
# NOTE: | ||
# Redirect to internal network of twitcher with Weaver root endpoint and alias allows to set | ||
# the same 'magpie' permissions on the 'weaver' service defined by "WEAVER_MANAGER_NAME". | ||
# This allows verification of the same service user/group permissions references regardless | ||
# whether the *shortcut* Weaver endpoint, the alias or the explicit 'twitcher' proxy route is used. | ||
# redirect EMS/ADES to actual secured Weaver path | ||
#location /${WEAVER_CONFIG} { | ||
# return 302 ${BIRDHOUSE_PROXY_SCHEME}://${BIRDHOUSE_FQDN_PUBLIC}${TWITCHER_PROTECTED_PATH}/${WEAVER_MANAGER_NAME}; | ||
#} | ||
|
||
location /${WEAVER_MANAGER_NAME} { | ||
proxy_pass ${BIRDHOUSE_PROXY_SCHEME}://${BIRDHOUSE_FQDN_PUBLIC}${TWITCHER_PROTECTED_PATH}/${WEAVER_MANAGER_NAME}; | ||
proxy_set_header Host $host; | ||
proxy_buffering off; | ||
include /etc/nginx/conf.d/cors.include; | ||
location = ${TWITCHER_PROTECTED_PATH}/${WEAVER_MANAGER_NAME} { | ||
return 301 /${WEAVER_MANAGER_NAME}/$is_args$args; | ||
} | ||
location ~ ^${TWITCHER_PROTECTED_PATH}/${WEAVER_MANAGER_NAME}/(.*)$ { | ||
return 308 /${WEAVER_MANAGER_NAME}/$1$is_args$args; | ||
} | ||
|
||
# NOTE: | ||
# this is needed only if not using the location already provided by the core configuration | ||
# see 'birdhouse/components/proxy/conf.d/all-services.include.template' | ||
# location where process job outputs will be accessible | ||
#location ^~ ${WEAVER_WPS_OUTPUTS_PATH}/ { | ||
# alias ${WEAVER_WPS_OUTPUTS_DIR}/; | ||
#} | ||
# optional alternate endpoint to access weaver (see 'components/weaver/default.env') | ||
${WEAVER_ALT_PREFIX_PROXY_LOCATION} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters