Commit graph

660 commits

Author SHA1 Message Date
Shane Kilkelly
a8aa1dde79 Merge pull request #127 from overleaf/spd-reupgrade-jetty-again
Revert jetty downgrade
2021-07-01 15:59:37 +01:00
Shane Kilkelly
49aa2ef845 Fix query for oldest (un-swapped) project 2021-07-01 14:57:58 +01:00
Shane Kilkelly
9170f6fdb3 Upgrade sqlite jdbc library to 3.36.0.1 2021-07-01 14:35:30 +01:00
Simon Detheridge
33b6ffd4a2 Drop default jetty idle timeout to 30sec 2021-07-01 11:46:42 +01:00
Simon Detheridge
f8f60eabad Revert "Merge pull request #125 from overleaf/spd-revert-jetty-changes"
This reverts commit 9c324c378c46aa8b4b14e529e90ad9cbfca969cd, reversing
changes made to 63ccd609405952aa8749299c8a5cf7895f14a1bd.
2021-07-01 11:45:16 +01:00
Shane Kilkelly
93de1d0946 Upgrade jgit to 5.12.0 2021-07-01 09:37:53 +01:00
Simon Detheridge
4c11b69167 Revert "Merge pull request #107 from overleaf/sk-upgrade-jetty-2106"
This reverts commit f13d8a990a927f5983442ffce00ff009cdc0e8ab, reversing
changes made to cb3ba256b7b27e424616d7bc67b73385fef55be8.
2021-06-28 17:01:43 +01:00
Simon Detheridge
a239b70bfc Revert change to make Jetty idle timeout configurable 2021-06-28 17:00:52 +01:00
Shane Kilkelly
899e781b33 Set sqlite soft_heap_limit via pragma 2021-06-25 12:03:57 +01:00
Shane Kilkelly
048571a3f6 Add sqlite to the base image 2021-06-25 11:06:03 +01:00
Simon Detheridge
9b8b13877a Make idleTimeout an integer in the config template 2021-06-24 20:49:33 +01:00
Eric Mc Sween
6a5892f996 Fix typo in config 2021-06-24 14:56:31 -04:00
Simon Detheridge
d816a0f02d Merge pull request #121 from overleaf/spd-idletimeout
Add support for configuring idle timeout and bind IP via settings
2021-06-24 17:43:17 +01:00
Simon Detheridge
d12b564ec3 Use ServerConnector to specify bind IP and idle timeout 2021-06-24 17:20:43 +01:00
Simon Detheridge
cafa94fcba Add support for bindIp and idleTimeout to config object 2021-06-24 17:00:04 +01:00
Simon Detheridge
28d98f1a25 Add settings for idle timeout and bind IP to config template 2021-06-24 16:59:11 +01:00
Simon Detheridge
928e6fed42 Use timestamp as version number for compiler 2021-06-24 16:12:31 +01:00
dependabot[bot]
9c2fd4b331 Bump commons-io from 2.6 to 2.10.0
Bumps commons-io from 2.6 to 2.10.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-24 09:05:16 +00:00
dependabot[bot]
81e095283b Bump guava from 24.0-jre to 30.1.1-jre
Bumps [guava](https://github.com/google/guava) from 24.0-jre to 30.1.1-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-24 09:04:45 +00:00
dependabot[bot]
0beee9be53 Bump commons-compress from 1.15 to 1.20
Bumps commons-compress from 1.15 to 1.20.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-24 09:04:42 +00:00
dependabot[bot]
88b46a43dd Bump junit from 4.12 to 4.13.2
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.2.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.2)

---
updated-dependencies:
- dependency-name: junit:junit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-24 09:04:32 +00:00
Shane Kilkelly
8d5fa9f1bc Add a config file for dependabot
This allows us to set the separator used by dependabot
when setting the branch name. Otherwise, we end up with
branches that break our cloud build workflows
2021-06-24 08:48:06 +01:00
Simon Detheridge
72233ec334 Add parameters to enable debug agent to startup script 2021-06-23 15:05:21 +01:00
Simon Detheridge
9c8ff2f022 Add cloud debug agent to Docker image 2021-06-23 14:58:49 +01:00
Simon Detheridge
a469bc6732 Add parameters to enable profile agent to startup script 2021-06-23 14:58:25 +01:00
Simon Detheridge
c46f460527 Add cloud profiler to Docker image 2021-06-23 14:22:04 +01:00
Simon Detheridge
ad8fafc5b4 Add http endpoint to print out native memory diagnostics 2021-06-23 12:43:30 +01:00
Simon Detheridge
f51b8139e9 Allow overriding JVM args with an environment variable 2021-06-23 12:43:00 +01:00
Simon Detheridge
1eb22a7d6d Export prometheus metrics directly from handler 2021-06-22 16:40:18 +01:00
Simon Detheridge
63ca055637 Use ServletHolder lifecycle more carefully
Fixes metrics with Jetty > 9.4.20
2021-06-22 15:41:24 +01:00
Simon Detheridge
70f4e5801d Merge pull request #107 from overleaf/sk-upgrade-jetty-2106
Upgrade jetty and jetty-servlet
2021-06-22 13:15:03 +01:00
Simon Detheridge
eb9cf6f256 Export prometheus metrics 2021-06-22 13:06:40 +01:00
Shane Kilkelly
c29795f043 Upgrade jetty-servlet to 9.4.38.v20210224 2021-06-22 11:33:14 +01:00
dependabot[bot]
c6897d3b42 Bump jetty-server from 9.4.8.v20171121 to 9.4.38.v20210224
Bumps [jetty-server](https://github.com/eclipse/jetty.project) from 9.4.8.v20171121 to 9.4.38.v20210224.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.8.v20171121...jetty-9.4.38.v20210224)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-22 10:36:28 +01:00
Simon Detheridge
7a934b8eba Update mockito 2021-06-21 11:22:44 +01:00
Simon Detheridge
6009393013 Add some core tools for debugging processes 2021-06-21 11:21:58 +01:00
Simon Detheridge
bce5af615f Add gc logging to the Git Bridge 2021-06-21 11:21:58 +01:00
Simon Detheridge
9ef4d1ee5c Update Java to 11 2021-06-21 11:21:53 +01:00
Shane Kilkelly
594009aeab Reduce memory limit to 50 percent 2021-06-17 14:24:07 +01:00
Shane Kilkelly
ed3507977b Switch to UseContainerSupport and MaxRAMPercentage 2021-06-16 17:23:38 +01:00
Shane Kilkelly
8a68c3aef0 Merge pull request #102 from overleaf/sk-add-sqlite-prod
Add sqlite3 package to the production image
2021-06-16 10:36:33 +01:00
Shane Kilkelly
cbad8bcfb6 Add sqlite3 package to the production image 2021-06-16 09:46:53 +01:00
Shane Kilkelly
d824cb8451 Add heap flags to production entry script 2021-06-15 14:48:45 +01:00
Shane Kilkelly
82ab89fab3 Remove exception from signature 2021-05-21 09:57:28 +01:00
Shane Kilkelly
2efc7f22a7 Remove old username/password settings
These were once used to secure interactions with the web api, back when
we allowed anonymous access to git repositories. This feature was
dropped in the migration to Overleaf v2, and we use OAuth on those
interactions anyway, so these settings are not actually used for
anything, and keeping these around is just confusing.
2021-05-20 15:59:26 +01:00
Shane Kilkelly
c043988027 Remove default user/pass in config template 2021-05-20 10:05:27 +01:00
Shane Kilkelly
ae08604417 Fix variable name in config template 2021-05-20 09:50:05 +01:00
Shane Kilkelly
bbc062f942 default user/pass for development 2021-05-18 16:08:59 +01:00
Christopher Hoskin
725a9e0669 Use CMD as in other apps 2021-05-12 12:32:14 +01:00
Christopher Hoskin
0827795fc7 Consistently use GIT_BRIDGE 2021-05-12 08:42:45 +01:00
Shane Kilkelly
b47f21a44e Configure from env vars at run time
In both local developent, and production.  Also, vendor the `envsubst`
binary from https://github.com/a8m/envsubst, as it supports default
values, which the gnu envsubst (from gettext-base) does not.
2021-05-07 09:47:49 +01:00
Christopher Hoskin
f1c9d6108e Generate a config file from env vars and template 2021-04-30 15:49:37 +01:00
Shane Kilkelly
927d401111 Merge branch 'jpa-silent-download' 2021-04-06 13:34:50 +01:00
Shane Kilkelly
465a39c564 Wait one second between checks in swap test 2021-02-04 09:52:13 +00:00
Shane Kilkelly
b010622442 Change default compressionMethod to gzip 2021-02-04 09:52:13 +00:00
Shane Kilkelly
b92c737814 Use configured compression method in swap job 2021-02-04 09:52:13 +00:00
Shane Kilkelly
c67014b859 Update SqliteDBStoreTest with swap/compression 2021-02-04 09:52:13 +00:00
Shane Kilkelly
961cec5bc8 Implement swap/restore in SqliteDBStore 2021-02-04 09:52:13 +00:00
Shane Kilkelly
a3d4976ce2 Implement swap/restore on NoopDbStore 2021-02-04 09:52:13 +00:00
Shane Kilkelly
83d9d122bf Add swap/restore methods to DBStore interface 2021-02-04 09:52:13 +00:00
Shane Kilkelly
21c524d8b6 Log actions when (un)compressing project 2021-02-04 09:52:13 +00:00
Shane Kilkelly
eba7cbe696 Implement gzip in FSGitRepoStore 2021-02-04 09:52:13 +00:00
Shane Kilkelly
1c81fcf501 Add gzip to RepoStore interface 2021-02-04 09:52:13 +00:00
Shane Kilkelly
8496871ab2 Add gzip support to Tar helper 2021-02-04 09:52:13 +00:00
Shane Kilkelly
169de1fead Configure swap compression method: bzip2 or gzip 2021-02-04 09:52:13 +00:00
Shane Kilkelly
c520ecd70d Allow configuration of AWS region 2021-01-27 10:41:32 +00:00
Jakob Ackermann
fcdc244a11 [misc] add --no-transfer-progress to all the mvn commands
Apparently `mvn clean` downloads all the packages when running
 `make package`.
2021-01-04 10:31:40 +00:00
Jakob Ackermann
275bb1b330 [misc] hide the download progress of dependencies 2021-01-04 10:31:39 +00:00
Jakob Ackermann
4644faf212 [misc] integrate git-bridge with overleaf dev-env and prod setup
- Add `base` target for dev-env
- Add `node` user for dev-env and prod
- Use `make` all the way
2020-12-10 17:37:09 +00:00
Jakob Ackermann
3e7cf07c8e Merge branch 'master' into jpa-docker-image
# Conflicts:
#	README.md
2020-12-10 14:28:03 +00:00
Eric Mc Sween
8a5027255a Merge pull request #86 from overleaf/em-handle-history-error
Handle errors from the history service
2020-12-09 09:05:24 -05:00
Eric Mc Sween
8bbeee0f8d Strip token from blob URLs when using cache
Blob URLs coming from web may now contain a token for authentication
with history v1. This token will change every request, which makes the
URL not suitable as a cache key. Removing the token fixes that.
2020-12-04 15:15:10 -05:00
Eric Mc Sween
2430d5fe1d Handle errors from the history service
If the history service returns a non-success status code when we request
a blob, chances are the payload is not the expected blob contents. We
throw an exception in that case, which will abort the git operation.
2020-12-04 11:27:00 -05:00
Shane Kilkelly
f89fab5abb Upgrade to JGit 5.9.0 2020-10-20 10:23:06 +01:00
Shane Kilkelly
de23035e80 Add test for pulling ignored file 2020-09-29 13:00:36 +01:00
Shane Kilkelly
c6cfd51fb4 Use the NoGitignoreIterator recursively 2020-09-29 12:44:33 +01:00
Shane Kilkelly
03af20113f Force add the test file, sigh. 2020-09-24 13:29:39 +01:00
Shane Kilkelly
935770e2ab Add test for reset before pull 2020-09-24 11:24:47 +01:00
Shane Kilkelly
d07ecd2a1b During pull: reset repo before writing data 2020-09-23 11:38:22 +01:00
Shane Kilkelly
bb7831012b When logging IOException for put, include error 2020-09-01 13:28:35 +01:00
Shane Kilkelly
2b8f3f4de8 Use 422 status when rejecting Git LFS request 2020-08-05 13:00:20 +01:00
Shane Kilkelly
f7125b9159 Handle Git LFS requests, with error message
We don't support Git LFS. This change adds a handler for
POST requests to "<project>.git/info/lfs/objects/batch",
and sends back a 406 response, with json data that the
client can use to print a nice error message.
2020-08-05 10:08:40 +01:00
Shane Kilkelly
e7b19ea4a0 Update src/main/java/uk/ac/ic/wlgitbridge/server/StatusHandler.java
Co-authored-by: John Lees-Miller <jdleesmiller@gmail.com>
2020-06-26 13:37:18 +01:00
Shane Kilkelly
4161416659 Update src/main/java/uk/ac/ic/wlgitbridge/server/HealthCheckHandler.java
Co-authored-by: John Lees-Miller <jdleesmiller@gmail.com>
2020-06-26 13:37:09 +01:00
Shane Kilkelly
5e31a11938 Respond to HEAD request in /status, /health_check 2020-06-26 11:54:18 +01:00
Shane Kilkelly
a9a7f54a96 Handle trailing slash on status and health_check 2020-06-25 16:43:57 +01:00
Shane Kilkelly
6ff3877dd1 Fix status and healthcheck tests 2020-06-19 15:50:51 +01:00
Shane Kilkelly
ec278ffe0a Fix log lines 2020-06-19 15:50:42 +01:00
Shane Kilkelly
ed778639a8 Move the status and healthcheck to root level 2020-06-19 15:50:27 +01:00
Shane Kilkelly
8def058d85 Fix log level 2020-06-19 15:50:16 +01:00
Shane Kilkelly
3c6ef38036 Fix alignment of function 2020-06-18 15:00:17 +01:00
Shane Kilkelly
40a171d44a Also check we can touch the filesystem in healthcheck 2020-06-18 14:56:50 +01:00
Shane Kilkelly
973a18b1b8 Clean up new healthcheck test 2020-06-18 14:56:38 +01:00
Shane Kilkelly
badeea3e0b Add test for status and health-check endpoints 2020-06-18 13:54:10 +01:00
Shane Kilkelly
689362b24f Use the bridge.healthCheck method 2020-06-18 11:45:21 +01:00
Shane Kilkelly
86769eedea Add a healthCheck method to the Bridge, check db 2020-06-18 11:45:04 +01:00
Shane Kilkelly
1befc3582b wip: add skeleton health-check handler 2020-06-17 16:15:40 +01:00
Shane Kilkelly
eba6c907e9 wip: status handler 2020-06-17 16:05:53 +01:00
Jakob Ackermann
090e58a953 [misc] add documentation on how to run commands from the dev-environment 2020-03-11 11:46:46 +01:00
Jakob Ackermann
f98212e96b [misc] make: skip tests for the build and package target
http://maven.apache.org/plugins-archives/maven-surefire-plugin-2.12.4/examples/skipping-test.html
2020-03-10 15:35:50 +01:00