From 5f9c9bd56fd3ed580d20bc36979467fcc998c1ab Mon Sep 17 00:00:00 2001 From: Myztiq Date: Tue, 24 Jan 2017 13:50:12 -0800 Subject: [PATCH 1/7] Added logic to rewrite urls to gh gamma. --- src/nginx-https-proxy.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/nginx-https-proxy.conf b/src/nginx-https-proxy.conf index 3f8f0e4..be26ec6 100644 --- a/src/nginx-https-proxy.conf +++ b/src/nginx-https-proxy.conf @@ -6,8 +6,9 @@ server { } listen 8000; location / { - proxy_set_header HOST api.github.com; + rewrite ^/(.*) /api/v3/$1; + proxy_set_header HOST github.runnable-gamma.com; proxy_set_header "User-Agent" "runnable-github-proxy"; - proxy_pass https://api.github.com; + proxy_pass https://github.runnable-gamma.com; } } From 0bb3c8458b231b0e29faaf6606df66335627be31 Mon Sep 17 00:00:00 2001 From: Myztiq Date: Tue, 24 Jan 2017 13:57:30 -0800 Subject: [PATCH 2/7] Added break --- src/nginx-https-proxy.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nginx-https-proxy.conf b/src/nginx-https-proxy.conf index be26ec6..687ac1e 100644 --- a/src/nginx-https-proxy.conf +++ b/src/nginx-https-proxy.conf @@ -6,7 +6,7 @@ server { } listen 8000; location / { - rewrite ^/(.*) /api/v3/$1; + rewrite ^/(.*) /api/v3/$1 break; proxy_set_header HOST github.runnable-gamma.com; proxy_set_header "User-Agent" "runnable-github-proxy"; proxy_pass https://github.runnable-gamma.com; From ca14848c43e1fdcf425edcc343d2300f8a7dc23f Mon Sep 17 00:00:00 2001 From: Myztiq Date: Tue, 24 Jan 2017 15:45:44 -0800 Subject: [PATCH 3/7] Updated to dynamically build based on env vars --- Dockerfile | 5 ++++- src/{nginx-https-proxy.conf => nginx-https-proxy.tmpl} | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) rename src/{nginx-https-proxy.conf => nginx-https-proxy.tmpl} (57%) diff --git a/Dockerfile b/Dockerfile index 84b9e97..7f31fae 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,10 @@ RUN chmod 0755 /start.sh ENV VARNISH_PORT 80 ENV VARNISH_MALLOC 100M ADD src/default.vcl /etc/varnish/default.vcl -COPY src/nginx-https-proxy.conf /etc/nginx/sites-available/default +COPY src/nginx-https-proxy.tmpl /etc/nginx/sites-available/default +RUN sed -i 's/{GITHUB_DOMAIN}/${GITHUB_DOMAIN}/' /etc/nginx/sites-available/default +RUN sed -i 's/{GITHUB_PROTOCOL}/${GITHUB_PROTOCOL}/' /etc/nginx/sites-available/default +RUN if $GITHUB_DOMAIN; then sed -i 's/#GITHUB_ENTERPRISE_REWRITE //' /etc/nginx/sites-available/default; fi # Expose the port and start the proxies EXPOSE 80 diff --git a/src/nginx-https-proxy.conf b/src/nginx-https-proxy.tmpl similarity index 57% rename from src/nginx-https-proxy.conf rename to src/nginx-https-proxy.tmpl index 687ac1e..828ec15 100644 --- a/src/nginx-https-proxy.conf +++ b/src/nginx-https-proxy.tmpl @@ -6,9 +6,9 @@ server { } listen 8000; location / { - rewrite ^/(.*) /api/v3/$1 break; - proxy_set_header HOST github.runnable-gamma.com; + #GITHUB_ENTERPRISE_REWRITE rewrite ^/(.*) /api/v3/$1 break + proxy_set_header HOST {GITHUB_DOMAIN}; proxy_set_header "User-Agent" "runnable-github-proxy"; - proxy_pass https://github.runnable-gamma.com; + proxy_pass {GITHUB_PROTOCOL}://{GITHUB_DOMAIN}; } } From 4b00c90eb0dcbc68e68619ed4642748f067459ed Mon Sep 17 00:00:00 2001 From: Myztiq Date: Tue, 24 Jan 2017 16:01:42 -0800 Subject: [PATCH 4/7] Updated dockerfile --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7f31fae..1a367a7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,8 +18,8 @@ ENV VARNISH_PORT 80 ENV VARNISH_MALLOC 100M ADD src/default.vcl /etc/varnish/default.vcl COPY src/nginx-https-proxy.tmpl /etc/nginx/sites-available/default -RUN sed -i 's/{GITHUB_DOMAIN}/${GITHUB_DOMAIN}/' /etc/nginx/sites-available/default -RUN sed -i 's/{GITHUB_PROTOCOL}/${GITHUB_PROTOCOL}/' /etc/nginx/sites-available/default +RUN sed -i s/{GITHUB_DOMAIN}/${GITHUB_DOMAIN}/ /etc/nginx/sites-available/default +RUN sed -i s/{GITHUB_PROTOCOL}/${GITHUB_PROTOCOL}/ /etc/nginx/sites-available/default RUN if $GITHUB_DOMAIN; then sed -i 's/#GITHUB_ENTERPRISE_REWRITE //' /etc/nginx/sites-available/default; fi # Expose the port and start the proxies From 92d14ef985977aa6d4a3f4774b14ab3eeb2b1f4d Mon Sep 17 00:00:00 2001 From: Myztiq Date: Tue, 24 Jan 2017 16:05:15 -0800 Subject: [PATCH 5/7] Updated dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 1a367a7..62c1218 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,7 +20,7 @@ ADD src/default.vcl /etc/varnish/default.vcl COPY src/nginx-https-proxy.tmpl /etc/nginx/sites-available/default RUN sed -i s/{GITHUB_DOMAIN}/${GITHUB_DOMAIN}/ /etc/nginx/sites-available/default RUN sed -i s/{GITHUB_PROTOCOL}/${GITHUB_PROTOCOL}/ /etc/nginx/sites-available/default -RUN if $GITHUB_DOMAIN; then sed -i 's/#GITHUB_ENTERPRISE_REWRITE //' /etc/nginx/sites-available/default; fi +RUN if $IS_GITHUB_ENTERPRISE; then sed -i 's/#GITHUB_ENTERPRISE_REWRITE //' /etc/nginx/sites-available/default; fi # Expose the port and start the proxies EXPOSE 80 From dab7096f765fbf2aa6c763266b4e9a5d263e500a Mon Sep 17 00:00:00 2001 From: Myztiq Date: Tue, 24 Jan 2017 16:19:02 -0800 Subject: [PATCH 6/7] Moved rename logic to start.sh script instead of tmpl. --- Dockerfile | 3 --- src/start.sh | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 62c1218..ceaddb9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,9 +18,6 @@ ENV VARNISH_PORT 80 ENV VARNISH_MALLOC 100M ADD src/default.vcl /etc/varnish/default.vcl COPY src/nginx-https-proxy.tmpl /etc/nginx/sites-available/default -RUN sed -i s/{GITHUB_DOMAIN}/${GITHUB_DOMAIN}/ /etc/nginx/sites-available/default -RUN sed -i s/{GITHUB_PROTOCOL}/${GITHUB_PROTOCOL}/ /etc/nginx/sites-available/default -RUN if $IS_GITHUB_ENTERPRISE; then sed -i 's/#GITHUB_ENTERPRISE_REWRITE //' /etc/nginx/sites-available/default; fi # Expose the port and start the proxies EXPOSE 80 diff --git a/src/start.sh b/src/start.sh index 55483b5..5de4885 100644 --- a/src/start.sh +++ b/src/start.sh @@ -3,6 +3,10 @@ # Fail fast if any command fails set -e +sed -i s/{GITHUB_DOMAIN}/${GITHUB_DOMAIN}/ /etc/nginx/sites-available/default +sed -i s/{GITHUB_PROTOCOL}/${GITHUB_PROTOCOL}/ /etc/nginx/sites-available/default +if $IS_GITHUB_ENTERPRISE; then sed -i 's/#GITHUB_ENTERPRISE_REWRITE //' /etc/nginx/sites-available/default; fi + # Start nginx service nginx start From 0db997108210ee6841e5570e4e4d2e06f8b5e1ac Mon Sep 17 00:00:00 2001 From: Myztiq Date: Tue, 24 Jan 2017 16:46:25 -0800 Subject: [PATCH 7/7] Added semicolon --- src/nginx-https-proxy.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nginx-https-proxy.tmpl b/src/nginx-https-proxy.tmpl index 828ec15..42b1dfc 100644 --- a/src/nginx-https-proxy.tmpl +++ b/src/nginx-https-proxy.tmpl @@ -6,7 +6,7 @@ server { } listen 8000; location / { - #GITHUB_ENTERPRISE_REWRITE rewrite ^/(.*) /api/v3/$1 break + #GITHUB_ENTERPRISE_REWRITE rewrite ^/(.*) /api/v3/$1 break; proxy_set_header HOST {GITHUB_DOMAIN}; proxy_set_header "User-Agent" "runnable-github-proxy"; proxy_pass {GITHUB_PROTOCOL}://{GITHUB_DOMAIN};