From d8f46f8bfba9667459b447cc5e84d99f2c32dcce Mon Sep 17 00:00:00 2001 From: Masaki Muranaka Date: Sat, 13 Apr 2019 11:24:26 +0900 Subject: [PATCH] Fix routes. Support the machine token. Signed-off-by: Masaki Muranaka --- dockerfiles/gwt-ide/traefik.toml | 50 +++++++++++++++++++++++++---- dockerfiles/gwt-ide/traefik_conf.sh | 1 + 2 files changed, 44 insertions(+), 7 deletions(-) diff --git a/dockerfiles/gwt-ide/traefik.toml b/dockerfiles/gwt-ide/traefik.toml index 96cb63b0fd..afe4ce7b24 100644 --- a/dockerfiles/gwt-ide/traefik.toml +++ b/dockerfiles/gwt-ide/traefik.toml @@ -53,22 +53,58 @@ defaultEntryPoints = ["http"] [backends.chemaster.servers.server1] url = "http://che-host:8080" [frontends] - [frontends.frontend2] - priority = 10 + [frontends.liveness] + priority = 20 + backend = "ide" + passHostHeader = true + entrypoints = ["http2"] + [frontends.liveness.routes.api_workspace] + rule = "PathPrefix:/api/liveness" + [frontends.api] + backend = "chemaster" + priority = 19 + passHostHeader = true + [frontends.api.headers.customrequestheaders] + Authorization = 'Bearer che_machine_token_placeholder' + [frontends.api.routes.api] + rule = "PathPrefix:/api" + [frontends.api_entrypoint] + priority = 15 backend = "chemaster" passHostHeader = true - [frontends.frontend2.routes.api] - rule = "PathPrefix:/api/" + [frontends.api_entrypoint.redirect] + regex = "^(http|https)://(.*)/gwt/ide/sidecar/entrypoint/api/(.*)" + replacement = "$1://$2/api/$3" + [frontends.api_entrypoint.routes.ide] + rule = "PathPrefix:/api/" [frontends.frontend1] - priority = 5 + priority = 10 backend = "ide" passHostHeader = true [frontends.frontend1.redirect] regex = "^(http|https)://(.*)/gwt/ide/sidecar/entrypoint" replacement = "$1://$2/che_workspace_namespace_placeholder/che_workspace_name_placeholder" [frontends.frontend1.routes.ide] - rule = "PathPrefix: /; AddPrefix: /ide" - [frontends.frontend3] + rule = "PathPrefix:/; AddPrefix:/ide" + [frontends.workspace-loader] + priority = 10 + backend = "ide" + passHostHeader = true + [frontends.workspace-loader.redirect] + regex = "^(http|https)://(.*)/workspace-loader/che_workspace_namespace_placeholder/che_workspace_name_placeholder" + replacement = "$1://$2/che_workspace_namespace_placeholder/che_workspace_name_placeholder" + [frontends.workspace-loader.routes.ide] + rule = "PathPrefix:/; AddPrefix:/ide" + [frontends.loader] + priority = 5 + backend = "ide" + passHostHeader = true + [frontends.loader.redirect] + regex = "^(http|https)://(.*)/_app/loader.html" + replacement = "$1://$2/" + [frontends.loader.routes.ide] + route = "PathPrefix:/" + [frontends.default] backend = "ide" passHostHeader = true entrypoints = ["http2"] diff --git a/dockerfiles/gwt-ide/traefik_conf.sh b/dockerfiles/gwt-ide/traefik_conf.sh index 61e39a1254..9f2b604b53 100755 --- a/dockerfiles/gwt-ide/traefik_conf.sh +++ b/dockerfiles/gwt-ide/traefik_conf.sh @@ -1,3 +1,4 @@ #!/bin/sh sed -i "s/che_workspace_namespace_placeholder/${CHE_WORKSPACE_NAMESPACE}/g" /home/user/agent/traefik/traefik.toml sed -i "s/che_workspace_name_placeholder/${CHE_WORKSPACE_NAME}/g" /home/user/agent/traefik/traefik.toml +sed -i "s/che_machine_token_placeholder/${CHE_MACHINE_TOKEN}/g" /home/user/agent/traefik/traefik.toml