Skip to content
Snippets Groups Projects
Select Git revision
  • 4128d039740387f58f6cc79a28573c9f3cf734fe
  • master default protected
  • release-1.9 protected
  • release-1.10 protected
  • dev protected
  • replication_test
  • 551-init-broker-service-permissions
  • 549-test-oai-pmh
  • 545-saving-multiple-times-breaks-pid-metadata
  • 499-standalone-compute-service-2
  • 539-load-tests
  • hotfix/helm-chart
  • luca_ba_new_interface
  • 534-bug-when-adding-access-to-user-that-is-not-registered-at-dashboard-service
  • release-1.8 protected
  • 533-integrate-semantic-recommendation
  • feature/openshift
  • 518-spark-doesn-t-map-the-headers-correct
  • 485-fixity-checks
  • 530-various-schema-problems-with-subsets
  • release-1.7 protected
  • v1.10.1 protected
  • v1.10.0-rc13 protected
  • v1.10.0-rc12 protected
  • v1.10.0-rc11 protected
  • v1.10.0-rc10 protected
  • v1.10.0-rc9 protected
  • v1.10.0-rc8 protected
  • v1.10.0-rc7 protected
  • v1.10.0-rc6 protected
  • v1.10.0-rc5 protected
  • v1.10.0-rc4 protected
  • v1.10.0-rc3 protected
  • v1.10.0-rc2 protected
  • v1.10.0rc1 protected
  • v1.10.0rc0 protected
  • v1.10.0 protected
  • v1.9.3 protected
  • v1.9.2 protected
  • v1.9.2-rc0 protected
  • v1.9.1 protected
41 results

upload-service.md

Blame
  • author: Martin Weise

    tl;dr

    !!! debug "Debug Information"

    Image: [`docker.io/tusproject/tusd:v1.12`](https://hub.docker.com/r/tusproject/tusd)
    
    * Ports: 1080/tcp
    * Prometheus: `http://<hostname>:1080/api/upload/metrics`
    * API: `http://<hostname>:1080/api/upload`
    
    To directly access in Kubernetes (for e.g. debugging), forward the svc port to your local machine:
    
    ```shell
    kubectl [-n namespace] port-forward svc/upload-service 1080:80
    ```

    Overview

    We use the TUS open protocol for resume-able file uploads which based entirely on HTTP. Even though the Upload Service is part of the standard installation, it is an entirely optional component and can be replaced with any S3-compatible Blob Storage.

    Architecture

    The Upload Service communicates internally with the Storage Service (c.f. Figure 1).

    Architecture of the Upload Service
    Figure 1: Architecture of the Upload Service

    The Upload Service is responsible for uploading files (mainly CSV-files) into a Blob Storage that can be accesses trough the S3 protocol (e.g. our Storage Service). Make sure that the Upload Service can be accessed from the Gateway Service.

    Limitations

    • No support for authentication.

    !!! question "Do you miss functionality? Do these limitations affect you?"

    We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
    in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming 
    experience!

    Security

    1. We strongly encourage to limit the clients allowed to upload by adding your subnet, e.g. 128.130.0.0/16 (=TU Wien subnet) to the Gateway Service configuration file like this:

      ```nginx title="dbrepo.conf"
      location /api/upload {
        allow 128.130.0.0/16;
        deny all;
        ...
      }
      ```