Jakob Ackermann
c5e1584fcc
[FSPersistorManager] fix the stream opening for node10+
...
Attaching a `readable` listener causes the stream to hang otherwise.
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-12-16 10:53:23 +00:00
Simon Detheridge
dab44f6fec
Merge branch 'master' into logging/keep-logger-name
2019-12-16 09:42:18 +00:00
Simon Detheridge
32b7f25404
Merge pull request #49 from das7pad/misc/node10plus-support
...
[misc] add support for node 10+
2019-12-16 09:39:00 +00:00
Simon Detheridge
6f326d5650
Use SSL setting based on url protocol
2019-12-09 17:41:20 +00:00
Simon Detheridge
48aa141591
Add metric for s3 ingress
2019-12-09 17:06:00 +00:00
Simon Detheridge
1d1106bc67
Add metric for s3 egress
2019-12-09 17:06:00 +00:00
Simon Detheridge
c01603b1e7
Support custom S3 endpoints
2019-12-09 17:06:00 +00:00
Simon Detheridge
86b9e4b53a
Rename request -> s3Request to prevent overwriting main import
2019-12-09 17:05:58 +00:00
Brian Gough
2ec38068aa
add comments about aws-sdk and s3 backends
2019-12-06 14:35:13 +00:00
Eric Mc Sween
7d900b57bf
Fix createUnbufferedStream() function call
...
In 49a21155f642670dfea264ac73fb60241f37cb87, I managed to incorrectly
write the `createUnbufferedStream()` function from the AWS SDK as
`getUnbufferedStream()` and to consistently use that naming in the unit
tests.
This commit fixes that. I have tested again on S3.
2019-06-19 12:58:17 -04:00
Eric Mc Sween
f2521a29b9
Use AWS SDK for getFileStream()
...
The AWS SDK has a retry strategy to deal with rate limiting or transient
unavailability of S3. We hope it will reduce our error rates.
2019-06-19 08:18:11 -04:00
Eric Mc Sween
3575c89d03
Return file size on HEAD request
...
This will be used by the file preview feature when it gets partial
content.
2019-06-17 08:23:59 -04:00
Jakob Ackermann
a79adcd325
[logging] do not overwrite the logger name
...
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-05-02 12:48:43 +02:00
Jakob Ackermann
c59a3db4e8
[FSPersistorManager] fix the stream opening for node10+
...
Attaching a `readable` listener causes the stream to hang otherwise.
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-05-02 02:47:53 +02:00
Henry Oswald
2adae20368
remove a console.log
2019-02-06 11:43:11 +00:00
Henry Oswald
5eec00db51
don't run conversions test when disabled
2019-02-05 14:06:51 +00:00
Henry Oswald
3fccf79ca8
cleanup
2019-02-05 12:50:08 +00:00
Henry Oswald
19007befb2
Merge branch 'master' into ho-docker
2019-02-01 16:26:45 +00:00
Brian Gough
9d93eee3e8
return a 404 error (instead of a 500) when copying a missing file
2019-01-09 10:31:59 +00:00
Henry Oswald
3614f217e6
add enableConversions flag to disable conversions which we can't do on
...
k8
2019-01-07 15:54:24 +00:00
Christopher Hoskin
aab5a1af6a
Merge branch 'master' into csh-ho-docker
2019-01-02 09:51:35 +00:00
Brian Gough
cf12ec1154
use the aws sdk to copy files in S3PersistorManager
...
to work around problems with knox
2018-12-20 16:11:18 +00:00
Brian Gough
8951f297aa
Merge pull request #37 from sharelatex/bg-reduce-logging-of-not-found-errors
...
reduce logging of not found errors
2018-11-13 14:06:19 +00:00
Brian Gough
0d6de10b5c
Merge pull request #34 from sharelatex/bg-make-backends-consistent
...
make filestore backends consistent
2018-11-13 10:12:18 +00:00
Brian Gough
23a6d6e81d
consider 403 and 404 as NotFound errors
2018-11-09 14:05:38 +00:00
Brian Gough
69b164092c
suppress unnecessary error logging for NotFound
2018-11-09 14:05:38 +00:00
Brian Gough
8744b3aa4e
serve file from disk to avoid read-after-write inconsistency
2018-11-08 15:09:34 +00:00
Brian Gough
40ac59090b
make backends consistent by deleting temporary files
2018-11-07 16:22:09 +00:00
Henry Oswald
38f565d35f
logout settings
2018-09-28 15:53:57 +01:00
Henry Oswald
aacb54d54c
Merge branch 'master' into ho-docker
2018-09-14 17:16:18 +01:00
Henry Oswald
089bf3e084
seperate the standard s3 creds from the bucket s3 creds
2018-07-10 14:17:37 +01:00
Michael Mazour
7feafccf31
Amend: safely navigate to bucket credentials
2018-07-06 09:28:09 +01:00
Michael Mazour
03033409c6
Amend: remove unused params
2018-07-06 09:12:59 +01:00
Michael Mazour
336a38ec1e
Amend: scrub secrets from logs
...
Calls to `getFile` can now include S3 credentials in `opts`, so sanitize before writing to opts to log.
2018-07-04 16:41:31 +01:00
Michael Mazour
600ab3ce67
Amend: remove problematic ampersand
2018-07-04 16:39:41 +01:00
Michael Mazour
cfbf0d81ba
Amend: fix params retrieval
2018-07-04 12:11:09 +01:00
Michael Mazour
ece650741a
Amend per several review comments
...
- Removed unused vars
- Label the metric with the bucket name
2018-07-04 12:02:09 +01:00
Michael Mazour
feca8933f1
Add endpoint for arbitrary bucket fetch
...
Add `/bucket/:bucket/key/*`, which fetches the file from the given bucket at the given path. Uses auth stored at `settings.filestore.s3.{{bucketName}}` if present, and otherwise default auth.
2018-07-04 11:22:36 +01:00
Henry Oswald
8efd562eb3
fix broken acceptence tests, bad quotes in file path
2018-05-21 13:40:03 +01:00
Henry Oswald
e3514e84cd
fix up mocha migration tests
2018-05-21 11:02:53 +01:00
Henry Oswald
3cf2e1d7c3
add null checks and new body parser
2018-05-21 10:11:47 +01:00
Henry Oswald
fda6cb0084
fix acceptence tests, add them back into jenkins, upgrade express
2018-05-21 09:37:54 +01:00
Shane Kilkelly
23fe93ccfd
Prevent double-logging
2017-06-22 15:28:08 +01:00
Shane Kilkelly
ba9477cdb3
Re-work error checking
2017-06-22 09:41:36 +01:00
Shane Kilkelly
d0bbe8beae
If optipng is sigkilled by timeout, then ignore that error
2017-06-21 15:18:36 +01:00
Shane Kilkelly
b12f69722f
Begin fixing health-check
2017-03-08 14:59:34 +00:00
Henry Oswald
e0f39da616
null check fsPath on unlink file
2016-12-19 14:48:09 +00:00
Henry Oswald
bf93fc3f50
run health check max 1 a at a time
2016-12-19 13:26:21 +00:00
Henry Oswald
fd99887753
running check in background
2016-12-19 12:29:08 +00:00
Henry Oswald
d41bf2e974
result path not in final cb
2016-12-14 18:11:28 +00:00
Henry Oswald
4bba56ed28
added missing files
2016-12-14 17:14:15 +00:00
Henry Oswald
b166c86197
added missing originalFsPath
2016-12-13 14:29:04 +00:00
Henry Oswald
b38e7d3078
* delete both file and converted file if there is an error
...
* increase timeout of optpng
2016-12-13 12:43:57 +00:00
James Allen
be43330208
Allow convert command to be prefixed by security commands
2016-05-09 11:37:35 +01:00
Henrique Santos
0bb12f32fa
remove project controller / handler
...
add unit test scaffolding
2016-03-13 16:22:14 -03:00
Henrique Santos
1f20744a68
add size function for each persitor
2016-03-12 11:08:07 -03:00
Henrique Santos
5d2fc89137
scaffolding project methods
2016-03-12 04:35:49 -03:00
Henrique Santos
099d0fef2f
scaffolding project size
2016-03-11 22:31:46 -03:00
James Allen
bc6c8d6afc
Don't send multiple status codes on insertFile error
2015-11-25 16:07:51 +00:00
Xavier Trochu
81a7203315
Fix the checkIfFileExists API.
2015-11-25 15:40:35 +01:00
Xavier Trochu
3b6270236c
Replace indentation from 2 space to tabs.
2015-11-20 14:38:23 +01:00
Xavier Trochu
0219900933
Forward the options argument to getFileStream
2015-11-20 12:07:04 +01:00
Xavier Trochu
bfd41fdaf9
Add aws-sdk unit test.
...
Fix Aws-Sdk persistor to return a correct error on file not found.
Fix FileHandler after some change were lost on a previous merge
2015-11-20 12:02:22 +01:00
Xavier Trochu
476db58c3f
Add the opts parameter to getFileStream and implement Range requests
2015-11-17 12:52:25 +01:00
Xavier Trochu
26523b011a
small fixes
2015-11-16 09:59:27 +01:00
Xavier Trochu
63aef6b832
Fix postmerge issue
2015-11-05 12:11:02 +01:00
Xavier Trochu
a367190a21
Merge remote-tracking branch 'sharelatex/master'
2015-11-04 15:20:15 +01:00
Shane Kilkelly
0d450b4e33
Tighten up error handling.
2015-09-10 11:10:30 +01:00
Shane Kilkelly
fcfc595c35
Handle potential error before calling LocalFileWriter.writeStream
.
2015-09-10 09:12:49 +01:00
Shane Kilkelly
da5a538095
Fix calls to PersistorManager.getFileStream
which were missed in initial refactor.
...
This should fix a breakage in the template publishing workflow.
Ref: b70b837b7ba29b0631f3105ec1dd5f6cdebbd195
2015-09-08 09:23:08 +01:00
Shane Kilkelly
9b8f11f517
Fix the check for a success response from S3.
...
We need to handle both a 200 and 206 (partial content) response.
2015-09-01 12:25:10 +01:00
Shane Kilkelly
82af1be756
Improve testing of error conditions in the FSPersistorManager.
2015-09-01 12:10:30 +01:00
Shane Kilkelly
edc06c82e5
Correct usage of '==' rather than '=' when checking err.code.
2015-09-01 12:10:05 +01:00
Shane Kilkelly
8bbf81f4bc
If the S3 service produces an error, handle it.
2015-09-01 11:36:28 +01:00
Shane Kilkelly
47fdf3c5c9
Ensure that Filestore responds with 404 when a file does not exist.
2015-08-31 16:47:16 +01:00
Shane Kilkelly
8a631e70f7
Refactor, and log when we have a 'range' header.
2015-08-28 12:16:41 +01:00
Shane Kilkelly
387e96ab67
Refactor to make _get_range testable.
2015-08-28 12:02:50 +01:00
Shane Kilkelly
97cdc243d3
Parse out the range header and set start
and end
properties on options.
2015-08-28 11:45:16 +01:00
Shane Kilkelly
76506ed91e
Pass start/end options down to the S3PersistorManager.
...
Test that those options cause a 'Range' header to be attached to the
request sent to S3.
2015-08-28 10:09:41 +01:00
Shane Kilkelly
d88736e3b5
Pass the start
and end
options down to fs.createReadStream
, and test for same.
2015-08-27 16:12:11 +01:00
Shane Kilkelly
57aedefdd3
Begin work towards obeying 'Range' headers, thread the opts
down to persistence layer.
2015-08-27 15:21:33 +01:00
Xavier Trochu
f417b9b171
Fix the AWS-SDK Persistor
2015-07-24 15:48:46 +02:00
Xavier Trochu
7ef46a79a0
Fix aws-sdk persistor.
...
Also fix some typos.
2015-07-24 09:06:52 +02:00
Xavier Trochu
41397821b1
Add a manager using the aws-sdk library
...
The knox library does not support the AWS Instance Role.
So use the official AWS SDK to connect to S3
2015-07-22 16:42:45 +02:00
Xavier Trochu
3289451ece
Revert "Make S3 Key/Secret pair optional."
...
This reverts commit 65122e603099a4f9ef5c5186b7eb8832340a993f.
knox requires the key and secret arguments.
2015-07-22 16:41:45 +02:00
Xavier Trochu
566e69c6cc
Make S3 Key/Secret pair optional.
...
When using Instance Role in AWS, the credentials are unneeded. So
make them optional to use.
2015-07-21 10:00:59 +02:00
Brian Gough
8ebbacee5a
move pipe after error handler setup
2015-05-08 15:19:45 +01:00
Brian Gough
7e9f8b885b
add support for public files
2015-05-08 15:15:48 +01:00
Henry Oswald
7c2e4b00ed
no file subtype can be an issue, added a check on it in the keybuilder
2015-04-13 12:01:49 +01:00
Henry Oswald
158b640b59
Merge branch 'master' of https://github.com/sharelatex/filestore-sharelatex
2015-04-09 17:16:23 +01:00
Henry Oswald
b3432f016c
allow proxying of template images though filestore
2015-04-09 17:14:47 +01:00
Brian Gough
07e53bbb2f
handle error when listing bucket
2015-03-31 10:35:33 +01:00
Brian Gough
a5e63f7261
Merge pull request #18 from sharelatex/terminate-processes
...
Use process group to terminate processes
2015-03-13 11:32:57 +00:00
Brian Gough
a7b9376919
use SIGTERM instead of SIGKILL to allow process to shut down cleanly
2015-03-13 10:15:37 +00:00
Brian Gough
9aaef729ad
cleanup and comments
2015-03-13 10:10:51 +00:00
Brian Gough
63ee4d1e7d
use close event instead of exit to capture stdout/stderr correctly
2015-03-13 10:10:21 +00:00
Brian Gough
33d8974d02
kill process group on timeout of convert commands
2015-03-12 17:09:27 +00:00
James Allen
45689fd2b8
Only call getFileStream callback once
2015-02-26 11:32:05 +00:00
Brian Gough
dad209262f
execute success callback when filesystem copyfile completed
2014-12-22 11:27:00 +00:00
Brian Gough
72ebaea5e2
log FS delete errors only on failure
2014-12-22 11:11:31 +00:00