Skip to content
Snippets Groups Projects
Select Git revision
  • 3ff3644f3c531ed468324f0808c95b811f0ca857
  • master default protected
  • replication_test
  • release-1.10 protected
  • release-1.9 protected
  • dev protected
  • 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
  • Martin Weise's avatar
    Martin Weise authored
    3ff3644f
    History
    author: Martin Weise

    tl;dr

    !!! debug "Debug Information"

    Image: [`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`
    * Swagger UI: <a href="../swagger/upload" target="_blank">:fontawesome-solid-square-up-right: view online</a>

    Overview

    We use the TUS open protocol for resumable 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.

    Settings

    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 and set the url in the User Interface configuration file.

    {
        "upload": {
           "url": "example.com",
           "useSsl": true
        },
        ...
    }

    If your deployment is secured with SSL/TLS (recommended) set the useSsl variable to true.

    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

    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;
        ...
      }
      ```