20949: Adds query string based redirections from wb1's actions controller. 20949-wb-redirects-improvements
authorLucas Di Pentima <lucas.dipentima@curii.com>
Fri, 6 Oct 2023 17:23:20 +0000 (14:23 -0300)
committerLucas Di Pentima <lucas.dipentima@curii.com>
Fri, 6 Oct 2023 17:30:57 +0000 (14:30 -0300)
Matches '/actions?uuid=X' URLs and redirects to an appropriate WB2 URL.

Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima@curii.com>

tools/salt-install/config_examples/multi_host/aws/pillars/nginx_workbench_configuration.sls
tools/salt-install/config_examples/single_host/multiple_hostnames/pillars/nginx_workbench_configuration.sls

index 87ed7c4507fa21b5d10f875556ca312e7d9fa537..e610ec158ffc380275ba5619bdc86036061e804d 100644 (file)
@@ -33,6 +33,16 @@ nginx:
         requires:
           __CERT_REQUIRES__
         config:
+          # Maps WB1 '/actions?uuid=X' URLs to their equivalent on WB2
+          - 'map $request_uri $actions_redirect':
+            - '~^/actions\?uuid=(.*-4zz18-.*)': '/collections/$1'
+            - '~^/actions\?uuid=(.*-j7d0g-.*)': '/projects/$1'
+            - '~^/actions\?uuid=(.*-tpzed-.*)': '/projects/$1'
+            - '~^/actions\?uuid=(.*-7fd4e-.*)': '/workflows/$1'
+            - '~^/actions\?uuid=(.*-xvhdp-.*)': '/processes/$1'
+            - '~^/actions\?uuid=(.*)': '/'
+            - default: 0
+
           - server:
             - server_name: workbench.__DOMAIN__
             - listen:
@@ -49,6 +59,10 @@ nginx:
     # rewrite ^/projects.* /projects redirect;
     # rewrite ^/trash /trash redirect;
 
+            # WB1 '/actions?uuid=X' URL Redirects
+            - 'if ($actions_redirect)':
+              - return: '301 $actions_redirect'
+
     # Redirects that include a uuid
             - rewrite: '^/work_units/(.*) /processes/$1 redirect'
             - rewrite: '^/container_requests/(.*) /processes/$1 redirect'
index 87ed7c4507fa21b5d10f875556ca312e7d9fa537..e610ec158ffc380275ba5619bdc86036061e804d 100644 (file)
@@ -33,6 +33,16 @@ nginx:
         requires:
           __CERT_REQUIRES__
         config:
+          # Maps WB1 '/actions?uuid=X' URLs to their equivalent on WB2
+          - 'map $request_uri $actions_redirect':
+            - '~^/actions\?uuid=(.*-4zz18-.*)': '/collections/$1'
+            - '~^/actions\?uuid=(.*-j7d0g-.*)': '/projects/$1'
+            - '~^/actions\?uuid=(.*-tpzed-.*)': '/projects/$1'
+            - '~^/actions\?uuid=(.*-7fd4e-.*)': '/workflows/$1'
+            - '~^/actions\?uuid=(.*-xvhdp-.*)': '/processes/$1'
+            - '~^/actions\?uuid=(.*)': '/'
+            - default: 0
+
           - server:
             - server_name: workbench.__DOMAIN__
             - listen:
@@ -49,6 +59,10 @@ nginx:
     # rewrite ^/projects.* /projects redirect;
     # rewrite ^/trash /trash redirect;
 
+            # WB1 '/actions?uuid=X' URL Redirects
+            - 'if ($actions_redirect)':
+              - return: '301 $actions_redirect'
+
     # Redirects that include a uuid
             - rewrite: '^/work_units/(.*) /processes/$1 redirect'
             - rewrite: '^/container_requests/(.*) /processes/$1 redirect'