From 33dbbe49ff64147effb0561fe65bf0f0e1df3418 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Mon, 8 Oct 2018 10:36:20 +0100 Subject: [PATCH 01/11] Add makefile and basic dockerfile --- services/git-bridge/.gitignore | 2 ++ services/git-bridge/Dockerfile | 15 +++++++++++++++ services/git-bridge/Makefile | 23 +++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 services/git-bridge/Dockerfile create mode 100644 services/git-bridge/Makefile diff --git a/services/git-bridge/.gitignore b/services/git-bridge/.gitignore index 43696eb643..ddd7ab399f 100644 --- a/services/git-bridge/.gitignore +++ b/services/git-bridge/.gitignore @@ -1,6 +1,8 @@ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 +conf/local.json + # Let's not share anything because we're using Maven. .idea diff --git a/services/git-bridge/Dockerfile b/services/git-bridge/Dockerfile new file mode 100644 index 0000000000..1c4e35bfeb --- /dev/null +++ b/services/git-bridge/Dockerfile @@ -0,0 +1,15 @@ +# Dockerfile for git-bridge + + +FROM ubuntu:latest + + +RUN apt-get update && \ + apt-get install -y make maven openjdk-8-jdk && \ + update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/bin/java 100 && \ + update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 100 && \ + update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/bin/java && \ + update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac + + +RUN mkdir /app \ No newline at end of file diff --git a/services/git-bridge/Makefile b/services/git-bridge/Makefile new file mode 100644 index 0000000000..f27d9f156e --- /dev/null +++ b/services/git-bridge/Makefile @@ -0,0 +1,23 @@ +# git-bridge makefile + +run: package + java -jar target/writelatex-git-bridge-1.0-SNAPSHOT-jar-with-dependencies.jar config/local.json + + +build: + mvn package + + +test: + mvn test + + +clean: + mvn clean + + +package: + mvn package + + +.PHONY: build clean test From 9ba5517915e24b19527c826a46f18241b757646b Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Mon, 8 Oct 2018 10:41:26 +0100 Subject: [PATCH 02/11] Add git to docker packages --- services/git-bridge/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/git-bridge/Dockerfile b/services/git-bridge/Dockerfile index 1c4e35bfeb..b3e8d97cfd 100644 --- a/services/git-bridge/Dockerfile +++ b/services/git-bridge/Dockerfile @@ -5,7 +5,7 @@ FROM ubuntu:latest RUN apt-get update && \ - apt-get install -y make maven openjdk-8-jdk && \ + apt-get install -y git make maven openjdk-8-jdk && \ update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/bin/java 100 && \ update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 100 && \ update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/bin/java && \ From a1ac1bf17f8e5d7ddd8ee1b7074814cb40975a01 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Mon, 8 Oct 2018 10:57:20 +0100 Subject: [PATCH 03/11] Fix makefile, seems to work now --- services/git-bridge/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/git-bridge/Makefile b/services/git-bridge/Makefile index f27d9f156e..79bb308a86 100644 --- a/services/git-bridge/Makefile +++ b/services/git-bridge/Makefile @@ -1,7 +1,7 @@ # git-bridge makefile -run: package - java -jar target/writelatex-git-bridge-1.0-SNAPSHOT-jar-with-dependencies.jar config/local.json +run: + java -jar target/writelatex-git-bridge-1.0-SNAPSHOT-jar-with-dependencies.jar conf/local.json build: From 394fd17dfa11c82ae61444d984c9e4cdea7cffb0 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Mon, 15 Oct 2018 11:06:18 +0100 Subject: [PATCH 04/11] Working docker setup --- services/git-bridge/Dockerfile | 5 +++-- services/git-bridge/Makefile | 5 +++-- services/git-bridge/docker-compose.yml | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 services/git-bridge/docker-compose.yml diff --git a/services/git-bridge/Dockerfile b/services/git-bridge/Dockerfile index b3e8d97cfd..a8b16e79f2 100644 --- a/services/git-bridge/Dockerfile +++ b/services/git-bridge/Dockerfile @@ -5,11 +5,12 @@ FROM ubuntu:latest RUN apt-get update && \ - apt-get install -y git make maven openjdk-8-jdk && \ + apt-get install -y git make maven openjdk-8-jdk curl && \ update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/bin/java 100 && \ update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 100 && \ update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/bin/java && \ update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac -RUN mkdir /app \ No newline at end of file +RUN mkdir /app +WORKDIR /app \ No newline at end of file diff --git a/services/git-bridge/Makefile b/services/git-bridge/Makefile index 79bb308a86..18ec01588e 100644 --- a/services/git-bridge/Makefile +++ b/services/git-bridge/Makefile @@ -1,6 +1,7 @@ # git-bridge makefile -run: + +run: package java -jar target/writelatex-git-bridge-1.0-SNAPSHOT-jar-with-dependencies.jar conf/local.json @@ -20,4 +21,4 @@ package: mvn package -.PHONY: build clean test +.PHONY: run package build clean test diff --git a/services/git-bridge/docker-compose.yml b/services/git-bridge/docker-compose.yml new file mode 100644 index 0000000000..6efadb0e59 --- /dev/null +++ b/services/git-bridge/docker-compose.yml @@ -0,0 +1,17 @@ +version: "3" + +networks: + default: + external: + name: sharelatex_overleaf + +services: + git_bridge: + build: + context: . + dockerfile: Dockerfile + volumes: + - .:/app + command: make run + ports: + - 8000:8000 From ceb8d8ad16dc805131473627468cc56c15fd7599 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Thu, 25 Oct 2018 11:28:19 +0100 Subject: [PATCH 05/11] Update readme with instructions on how to set up with dev-env --- services/git-bridge/README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/services/git-bridge/README.md b/services/git-bridge/README.md index 92d86fdb47..ce882052b6 100644 --- a/services/git-bridge/README.md +++ b/services/git-bridge/README.md @@ -93,3 +93,18 @@ The configuration file is in `.json` format. } You have to restart the server for configuration changes to take effect. + + +## Setup with v2 Dev-Environment + +- Set `APP_GIT_BRIDGE_URL=http://localhost:8000` in v1 `common.env` +- In this repo, copy `conf/example.json` to `conf/local.json` +- Set up an OAuth app in v1 + - with `scopes = 'git_bridge'`, and `callback = 'http://v1.overleaf.test:500/no-callback'` +- Update values in `conf/local.json`: + - Set oauth creds + - `swapStore = {type: "noop"}"` + - `apiBaseUrl = "http://www.overleaf.test:5000/api/v0"` + - `postbackBaseUrl = "http://git_bridge:8000"` + - `oauth2Server = "http://www.overleaf.test:5000"` +- From this repo, do `make run` From f898f43b4e8439cffe9da46c0203373d37f47860 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Thu, 25 Oct 2018 11:30:17 +0100 Subject: [PATCH 06/11] Correct instructions for starting service --- services/git-bridge/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/git-bridge/README.md b/services/git-bridge/README.md index ce882052b6..f51f308116 100644 --- a/services/git-bridge/README.md +++ b/services/git-bridge/README.md @@ -107,4 +107,4 @@ You have to restart the server for configuration changes to take effect. - `apiBaseUrl = "http://www.overleaf.test:5000/api/v0"` - `postbackBaseUrl = "http://git_bridge:8000"` - `oauth2Server = "http://www.overleaf.test:5000"` -- From this repo, do `make run` +- From this repo, `docker-compose up` From b6a44fdd339b03af047e063bd6ffafcb332c5109 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Thu, 25 Oct 2018 14:48:48 +0100 Subject: [PATCH 07/11] Add local conf file, for dev environment --- services/git-bridge/.gitignore | 2 -- services/git-bridge/conf/local.json | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 services/git-bridge/conf/local.json diff --git a/services/git-bridge/.gitignore b/services/git-bridge/.gitignore index ddd7ab399f..43696eb643 100644 --- a/services/git-bridge/.gitignore +++ b/services/git-bridge/.gitignore @@ -1,8 +1,6 @@ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 -conf/local.json - # Let's not share anything because we're using Maven. .idea diff --git a/services/git-bridge/conf/local.json b/services/git-bridge/conf/local.json new file mode 100644 index 0000000000..ca7cbe6607 --- /dev/null +++ b/services/git-bridge/conf/local.json @@ -0,0 +1,26 @@ +{ + "port": 8000, + "rootGitDirectory": "/tmp/wlgb", + "apiBaseUrl": "http://v2.overleaf.test:4000/api/git-bridge", + "username": "user", + "password": "pass", + "postbackBaseUrl": "http://git_bridge:8000", + "serviceName": "Overleaf", + "oauth2": { + "oauth2ClientID": "264c723c925c13590880751f861f13084934030c13b4452901e73bdfab226edc", + "oauth2ClientSecret": "e6b2e9eee7ae2bb653823250bb69594a91db0547fe3790a7135acb497108e62d", + "oauth2Server": "http://www.overleaf.test:5000" + }, + "repoStore": { + "maxFileSize": 52428800 + }, + "swapStore": { + "type": "noop" + }, + "swapJob": { + "minProjects": 50, + "lowGiB": 128, + "highGiB": 256, + "intervalMillis": 3600000 + } +} From ad5515953b714669301bbff86845a44230ef6c5d Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Thu, 25 Oct 2018 14:56:42 +0100 Subject: [PATCH 08/11] Add oauth-app sql to readme --- services/git-bridge/README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/services/git-bridge/README.md b/services/git-bridge/README.md index f51f308116..0b730b8546 100644 --- a/services/git-bridge/README.md +++ b/services/git-bridge/README.md @@ -101,6 +101,7 @@ You have to restart the server for configuration changes to take effect. - In this repo, copy `conf/example.json` to `conf/local.json` - Set up an OAuth app in v1 - with `scopes = 'git_bridge'`, and `callback = 'http://v1.overleaf.test:500/no-callback'` + - (see below for SQL to do this) - Update values in `conf/local.json`: - Set oauth creds - `swapStore = {type: "noop"}"` @@ -108,3 +109,24 @@ You have to restart the server for configuration changes to take effect. - `postbackBaseUrl = "http://git_bridge:8000"` - `oauth2Server = "http://www.overleaf.test:5000"` - From this repo, `docker-compose up` + + +## Creating OAuth app + +```sql +INSERT INTO public.oauth_applications ( + "name", uid, secret, redirect_uri, scopes, skip_authorization, + created_at, updated_at, partner, confidential +) VALUES ( + 'gitbridge', + '264c723c925c13590880751f861f13084934030c13b4452901e73bdfab226edc', + 'e6b2e9eee7ae2bb653823250bb69594a91db0547fe3790a7135acb497108e62d', + 'http://www.overleaf.test:5000/no-callback-required', + 'git_bridge', + true, + now(), + now(), + null, + true +); +``` From d6c509496cca2ba8a455130e50dd28de5e771549 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Thu, 25 Oct 2018 15:27:22 +0100 Subject: [PATCH 09/11] Fix postback url --- services/git-bridge/conf/local.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/git-bridge/conf/local.json b/services/git-bridge/conf/local.json index ca7cbe6607..b2dd1a2c77 100644 --- a/services/git-bridge/conf/local.json +++ b/services/git-bridge/conf/local.json @@ -4,7 +4,7 @@ "apiBaseUrl": "http://v2.overleaf.test:4000/api/git-bridge", "username": "user", "password": "pass", - "postbackBaseUrl": "http://git_bridge:8000", + "postbackBaseUrl": "http://git-bridge:8000", "serviceName": "Overleaf", "oauth2": { "oauth2ClientID": "264c723c925c13590880751f861f13084934030c13b4452901e73bdfab226edc", From cf31ccbea07900b9feaab77d4a6a63eebc618278 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Tue, 6 Nov 2018 13:55:58 +0000 Subject: [PATCH 10/11] Update to account for dev-env changes --- services/git-bridge/README.md | 19 +++---------------- services/git-bridge/docker-compose.yml | 17 ----------------- 2 files changed, 3 insertions(+), 33 deletions(-) delete mode 100644 services/git-bridge/docker-compose.yml diff --git a/services/git-bridge/README.md b/services/git-bridge/README.md index 0b730b8546..1b01ddc49e 100644 --- a/services/git-bridge/README.md +++ b/services/git-bridge/README.md @@ -95,24 +95,11 @@ The configuration file is in `.json` format. You have to restart the server for configuration changes to take effect. -## Setup with v2 Dev-Environment - -- Set `APP_GIT_BRIDGE_URL=http://localhost:8000` in v1 `common.env` -- In this repo, copy `conf/example.json` to `conf/local.json` -- Set up an OAuth app in v1 - - with `scopes = 'git_bridge'`, and `callback = 'http://v1.overleaf.test:500/no-callback'` - - (see below for SQL to do this) -- Update values in `conf/local.json`: - - Set oauth creds - - `swapStore = {type: "noop"}"` - - `apiBaseUrl = "http://www.overleaf.test:5000/api/v0"` - - `postbackBaseUrl = "http://git_bridge:8000"` - - `oauth2Server = "http://www.overleaf.test:5000"` -- From this repo, `docker-compose up` - - ## Creating OAuth app +In dev-env, run `bin/run rails_v1 rake db:seed`, or, if using this solo, run the following in the v1 +database: + ```sql INSERT INTO public.oauth_applications ( "name", uid, secret, redirect_uri, scopes, skip_authorization, diff --git a/services/git-bridge/docker-compose.yml b/services/git-bridge/docker-compose.yml deleted file mode 100644 index 6efadb0e59..0000000000 --- a/services/git-bridge/docker-compose.yml +++ /dev/null @@ -1,17 +0,0 @@ -version: "3" - -networks: - default: - external: - name: sharelatex_overleaf - -services: - git_bridge: - build: - context: . - dockerfile: Dockerfile - volumes: - - .:/app - command: make run - ports: - - 8000:8000 From 51957ab78b2847b9a2848902014705069a81bc9e Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Mon, 12 Nov 2018 11:23:04 +0000 Subject: [PATCH 11/11] Update api base url --- services/git-bridge/conf/local.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/git-bridge/conf/local.json b/services/git-bridge/conf/local.json index b2dd1a2c77..3c280ad726 100644 --- a/services/git-bridge/conf/local.json +++ b/services/git-bridge/conf/local.json @@ -1,7 +1,7 @@ { "port": 8000, "rootGitDirectory": "/tmp/wlgb", - "apiBaseUrl": "http://v2.overleaf.test:4000/api/git-bridge", + "apiBaseUrl": "http://v2.overleaf.test:4000/api/v0", "username": "user", "password": "pass", "postbackBaseUrl": "http://git-bridge:8000",