Commit Graph

937 Commits

Author SHA1 Message Date
Marius 6d987aa226 core: Handle errors from reading request body centrally 2021-04-26 10:08:37 +02:00
Marius 97602c3d62 filestore: Handle os.ErrNotExist not in core handler 2021-04-25 23:17:42 +02:00
Márk Sági-Kazár 36ecc269ae
misc: Update alpine version in Dockerfile (#470) 2021-04-06 00:15:45 +02:00
Marius 8031aabb7e cli: Add flag to disable SSL for S3 2021-03-29 15:12:17 +02:00
Ole-Martin Bratteng 56723a5ea6
ci: Compile tusd for arm64 (#461) 2021-03-11 18:20:14 +01:00
Adam Jensen e85d630748
s3store: Fix data loss when using deferred upload lengths (#462) 2021-03-11 18:17:47 +01:00
Marius d152c5bbf8 Merge branch 'master' of github.com:tus/tusd 2021-02-10 23:07:38 +01:00
Marius fdb19a7904 s3store: Temporary workaround against data loss on connection resets 2021-02-10 23:07:16 +01:00
Abdelhadi Khiati 734c630069 Update for build step also, uses a stable version of go 2021-01-18 13:46:09 +01:00
Abdelhadi Khiati 8b81859a80 Use setup-go@v2 to avoid old commands. 2021-01-18 13:41:07 +01:00
Marius 67fd74e129 Add flag to disable calculating expensive hashes for S3 2021-01-18 13:31:07 +01:00
Ahmed J 0822c0ac43
handler: Use correct separation symbol for parsing Forwarded header (#433)
* fix forwarded header separator

* added tests

* fix tests

* updated test

* Reuse existing test for Forwarded header

Co-authored-by: Ahmed J <ahjabir@earthlink.iq>
Co-authored-by: Marius <marius@transloadit.com>
2020-10-12 12:36:55 +02:00
Ruben Garcia f863189009
docs: Mention support for HTTPS hooks (#430)
* Clarify that HTTPS is supported in hooks.

* Fix markdown.

* Fix Blocking hooks section.
2020-10-10 18:21:33 +02:00
Marius 9b934ebca7 Remove double spaces 2020-10-02 12:45:16 +02:00
Marius e5a79650cf Use new URL for public tus demo server 2020-10-02 12:44:12 +02:00
Joey Coleman f4d1b7c443
cli: Allow accepting requests over HTTPS (#423)
* Add TLS support to tusd

* Adds `-tls-certificate`, `-tls-key`, and `-tls-mode` flags
* Alter printed URL to reflect protocol in use
* For non-TLS, do an eary-exit if http.Serve() returns
* Configure TLS for the following modes
    * TLSv1.3-only
    * (default) TLSv1.3+TLSv1.2, with recommended ciphersuites from Mozilla + matching RSA key transport modes
    * TLSv1.2 only, with only 256-bit AES ciphersuites
* All modes disable HTTP/2, given that it’s not supported in non-TLS mode
* Update documentation

* * Remove RSA-based key transport ciphersuites as they don’t support forward secrecy

* Improve the TLS/HTTPS example in the usage documentation

Signed-off-by: Joey Coleman <joey.coleman@kirasystems.com>

* Update docs further to a) record that the key file must be unencrypted, and b) clean up the RSA-based ciphersuite comments.
2020-09-29 15:19:10 +02:00
Ifedapo .A. Olarewaju ed85c526cb
build: remove k8s related build (#426)
* build: remove k8s related build

* build: there's more
2020-09-11 20:47:45 +02:00
Ifedapo .A. Olarewaju 2c7735e697
Heroku deployment (#425)
* add heroku deployment

* build: remove duplicate step
2020-09-11 15:20:18 +02:00
Kevin McGee 90e208a286
cli: Add flag to enable S3 transfer acceleration (#411)
* Enable S3 transfer acceleration in SDK

* Format better

* Setup for flag changes

* Place feature behind new flag

* Fix a docs issue

Co-authored-by: Cloud User <centos@ip-10-0-0-184.us-west-2.compute.internal>
2020-08-01 15:07:03 +02:00
Márk Sági-Kazár 3a344c5e81
memorylocker: Fix function names in documentation (#412) 2020-08-01 15:02:46 +02:00
Márk Sági-Kazár ec9c56bb03
docs: Fix typo (#413) 2020-08-01 15:01:18 +02:00
Marius 9831c8b4da
s3store: Increase default part size (#410)
* s3store: Increase default part size

* Update tests and add flag

* Fix minor issues
2020-08-01 14:58:31 +02:00
Adam Jensen 6662f43d01
s3Store: Concurrently write upload parts to S3 while reading from client (#402)
* Allow empty metadata values

* Make tests less fragile by allowing loose call ordering

* Add s3ChunkProducer

* Integrate s3ChunkProducer to support chunk buffering

* Remove completed chunk files inline to reduce disk space usage

* Add tests for chunk producer

* docs: Use value from Host header to forward to tusd

* Use int64 for MaxBufferedParts field

* Default to 20 buffered parts

* Rename s3ChunkProducer -> s3PartProducer

* Document s3PartProducer struct

* Clarify misleading comment

* Revert "Remove completed chunk files inline to reduce disk space usage"

This reverts commit b72a4d43d6.

* Remove redundant seek

This is already being done in s3PartProducer.

* Clean up any remaining files in the channel when we return

* Make putPart* functions responsible for cleaning up temp files

* handler: Add tests for empty metadata pairs

* Factor out cleanUpTempFile func

* Add test to ensure that temporary files get cleaned up

Co-authored-by: Jens Steinhauser <jens.steinhauser@gmail.com>
Co-authored-by: Marius <marius@transloadit.com>
2020-07-29 15:24:46 +02:00
Marius 26b84bcb1c handler: Add tests for empty metadata pairs 2020-07-15 17:30:17 +02:00
Marius 59c3d42f8f Merge branch 'metadata' of https://github.com/JenSte/tusd 2020-07-15 17:27:37 +02:00
Marius ec5f50090a
docs: Use value from Host header to forward to tusd 2020-06-24 13:35:35 +02:00
Jens Steinhauser 87045a8fbf Allow empty metadata values 2020-06-20 13:24:07 +02:00
Vincenzo Demasi c822a3afb1
cli: Fix help description for "hooks-enabled-events" (#399)
* Update flags.go

* change hooks-enabled-events documentation
2020-06-19 17:32:34 +02:00
Marius 52181920c2 cli: Fix upload creation when using -basepath=/
Closes https://github.com/tus/tusd/issues/387
2020-05-25 09:25:55 +02:00
Hamish Forbes fdf168fbb6
cli: Add pre-finish hook (#382)
* core: add new synchronous event: pre-finish

* docs: pre-finish hook event

* docs: Added information about CORS to the FAQ. (#384)

* Added information about CORS to the FAQ.

* docs: Expand explanation of CORS

Co-authored-by: Marius <marius@transloadit.com>

* cli: add header forwarding in HTTP hooks (#371)

* cli: add header forwarding in HTTP hooks

* docs: Reword header forwarding flag, add documentation

* Don't enable pre-finish hooks by default

* Enable pre-finish hooks for plugins

* docs: default enabled hooks

* Rename callback

Co-authored-by: josh-marshall-jax <52457971+josh-marshall-jax@users.noreply.github.com>
Co-authored-by: Marius <marius@transloadit.com>
2020-05-15 17:27:09 +02:00
Hamish Forbes a4a733fb39
cli: add header forwarding in HTTP hooks (#371)
* cli: add header forwarding in HTTP hooks

* docs: Reword header forwarding flag, add documentation
2020-05-07 14:31:44 +02:00
josh-marshall-jax c9dc9e6c06
docs: Added information about CORS to the FAQ. (#384)
* Added information about CORS to the FAQ.

* docs: Expand explanation of CORS

Co-authored-by: Marius <marius@transloadit.com>
2020-05-07 14:12:59 +02:00
Marius 5692b8f34a Merge branch 'master' of github.com:tus/tusd 2020-04-27 12:43:11 +02:00
Marius 9210fbe0fc s3store: Allow concatenation of uploads with less than 5MB 2020-04-27 12:42:56 +02:00
kiloreux 9deabf9d80
Merge pull request #372 from tus/k8s-improve
Kubernetes upgrades maintenance
2020-04-16 12:50:59 +01:00
Abdelhadi Khiati 5604bbc8d4 Update APIs 2020-04-15 03:23:42 +01:00
Abdelhadi Khiati 3034947e30 Better improve 2020-04-15 03:20:27 +01:00
Abdelhadi Khiati 25eec49577 Use newer version of Azure 2020-04-15 03:18:18 +01:00
Marius cfebf1778e cli: Fix build time error of gRPC hooks 2020-04-06 13:46:58 +02:00
Marius 936f465cc3 Merge branch 'master' of github.com:tus/tusd 2020-04-06 12:24:05 +02:00
Marius 286d2d1e23 handler: Add request ID to log output 2020-04-06 12:20:57 +02:00
Hamish Forbes 15a89ec676
docs: correct data type of headers in hooks (#366)
* docs: Headers are a list of values

* docs: Remove the header fields for gRPC as it does not exist

Co-authored-by: Marius <Acconut@users.noreply.github.com>
2020-04-03 11:51:53 +02:00
Clement Peyrabere acfa974c10
cli: Add hook name to gRPC message (#364)
* Make use of gRPC metadatas to pass on Hook-Name. Fixes #362

* Add Hook name in proto.

* Pass the hook name into the hook proto instead of gRPC metadatas.

Co-authored-by: Clément Peyrabère <clement.peyrabere@idcapture.fr>
2020-03-27 20:48:02 +01:00
Ibrahim Almuqrin e5e9a74c66
docs: Fix link in faq.md (#363)
Changed `docs/....` to `/docs/....`
2020-03-22 20:45:45 +01:00
Iñigo 1f0b0f515d
cli: Fix gRPC Hook reference (#358)
close #357
2020-03-16 21:15:04 +01:00
Rafael Cossovan c7f6428884
docs: Update command help in README (#352) 2020-02-24 20:58:15 +01:00
dmmakita 43bd4b0ccb
core: Allow Authorization header in CORS (#355)
* Update cors_test.go

Adding Allow Authorization Header

* Update unrouted_handler.go

Adding Allow Authorization Header to CORS
2020-02-24 20:47:54 +01:00
Marius 973a4fe066 s3store: Fix bug when completing empty upload 2020-02-23 20:26:00 +01:00
Iñigo 8ef7648713
cli: add gRPC hooks (#316)
* add grpc hook

* add retry/backoff params
make streaming RPC call

* Update cmd/tusd/cli/flags.go

Co-Authored-By: Márk Sági-Kazár <sagikazarmark@users.noreply.github.com>

* move one time grpc configuration to `Setup`

* remove stream grpc

Co-authored-by: Márk Sági-Kazár <sagikazarmark@users.noreply.github.com>
2020-02-06 17:35:37 +01:00
Adam Jensen 9c0e0c8f11
s3store: Add optional key prefix for metadata objects (#347)
* Add MetadataObjectPrefix field to S3Store

* Add metadataKeyWithPrefix helper function

* Use metadataKeyWithPrefix for .info and .part operations

* Add s3store tests for metadata object prefixes

* Clarify ObjectPrefix docs
2020-02-01 17:33:02 +01:00