diff --git a/services/git-bridge/README.md b/services/git-bridge/README.md index fa8c76f7db..d3a3673f8b 100644 --- a/services/git-bridge/README.md +++ b/services/git-bridge/README.md @@ -37,11 +37,23 @@ The configuration file is in `.json` format. "username" (string, optional): username for http basic auth, "password" (string, optional): password for http basic auth, "postbackBaseUrl" (string): the postback url, - "serviceName" (string): current name of writeLaTeX in case it ever changes + "serviceName" (string): current name of writeLaTeX in case it ever changes, "oauth2" (object): { /* null or missing if oauth2 shouldn't be used */ - "oauth2ClientID" (string): oauth2 client ID - "oauth2ClientSecret" (string): oauth2 client secret + "oauth2ClientID" (string): oauth2 client ID, + "oauth2ClientSecret" (string): oauth2 client secret, "oauth2Server" (string): oauth2 server, with protocol and without trailing slash + }, + "swapStore" (object, optional): { the place to swap projects to. if null, type defaults to "noop" + "type" (string): "s3", "memory", "noop" (not recommended), + "awsAccessKey" (string, optional): only for s3, + "awsSecret" (string, optional): only for s3, + "s3BucketName" (string, optional): only for s3 + }, + "swapJob" (object, optional): { configure the project swapping job. if null, defaults to no-op + "minProjects" (int64): you will never go below this many projects; if above low watermark, it should WARN, + "lowGiB" (int32): the low watermark for swapping, i.e. try to swap until disk usage is below this, + "highGiB" (int32): the high watermark for swapping, i.e. start swapping when disk usage becomes this, + "intervalMillis" (int64): the repeat time in milliseconds that the swap job will check the watermark. 3600000 is 1 hour. } } diff --git a/services/git-bridge/conf/example_config.json b/services/git-bridge/conf/example_config.json new file mode 100644 index 0000000000..c7f1193811 --- /dev/null +++ b/services/git-bridge/conf/example_config.json @@ -0,0 +1,26 @@ +{ + "port": 8080, + "rootGitDirectory": "/tmp/wlgb", + "apiBaseUrl": "https://localhost/api/v0", + "username": "user", + "password": "pass", + "postbackBaseUrl": "https://localhost", + "serviceName": "Overleaf", + "oauth2": { + "oauth2ClientID": "asdf", + "oauth2ClientSecret": "asdf", + "oauth2Server": "https://localhost" + }, + "swapStore": { + "type": "s3", + "awsAccessKey": "asdf", + "awsSecret": "asdf", + "s3BucketName": "com.overleaf.testbucket" + }, + "swapJob": { + "minProjects": 50, + "lowGiB": 128, + "highGiB": 256, + "intervalMillis": 3600000 + } +}