Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • F File
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 24
    • Issues 24
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 7
    • Merge requests 7
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Open Subsurface Data Universe SoftwareOpen Subsurface Data Universe Software
  • Platform
  • System
  • File
  • Issues
  • #29
Closed
Open
Issue created May 18, 2021 by Krishna Nikhil Vedurumudi@krveduruMaintainer2 of 5 checklist items completed2/5 checklist items

ADR: Rationalizing File and File DMS services.

Decision Title

Rationalizing File and File DMS services.

Status

  • Proposed
  • Trialing
  • Under review
  • Approved
  • Retired

Context & Scope

The Dataset service in its implementation of the DMS APIs (getStorageInstructions and getRetrievalInstructions) delegates the call to specific DMS's implementation of the get*Instructons API. That lead to creation of new service called File-DMS which supports the APIs that Dataset Service requires.

Note: The File-DMS does not have an approved ADR, and is not an approved by the community yet.

On the other hand, we already have a File Service that owns the responsibility for the management of files. Also, the design and APIs of the File service are approved by a thorough process of ADR.

So, instead of having two services who own the similar responsibility of managing files (File and File-DMS) we should rationalize both the services and move the APIs that Dataset Service requires to File Service itself. It would reduce the additional maintenance overhead of managing another service.

Decision

The decision is to merge File and File DMS services and consolidate all the File management APIs in File Service keeping inline with the File Service ADR that was approved File Service ADR.

Rationale

Having multiple services with similar functionalities and responsibilities is an additional overhead w.r.t maintenance. Since there is already one approved service for supporting Files, the Additional APIs on Files required to support DMS Functionalities should be hosted by File Service.

Consequences

The DMS APIs getStorageInstructions and getRetrievalInstructions for Files and File-Collections will be moved to File Service.

Functionality API to be Added in File Service Existing API in File-DMS Service Status Capability
File Get-Storage Instructions POST /files/storageInstructions GET /file/getStorageInstructions Moved from File-DMS Service to File Service Generates the Signed URLs / temporary access tokens required to upload Files
File Get-Retrieval Instructions POST /files/retrievalInstructions POST /file/getRetrievalInstructions Moved from File-DMS Service to File Service Generates the Signed URLs / temporary access tokens required to download Files
File Collection Get-Storage Instructions POST /file-collections/storageInstructions GET /file-collection/getStorageInstructions Moved from File-DMS Service to File Service Generates the Signed URLs / temporary access tokens required to upload File Collections
File Collection Get-Retrieval Instructions POST /file-collections/retrievalInstructions POST /file-collection/getRetrievalInstructions Moved from File-DMS Service to File Service Generates the Signed URLs / temporary access tokens required to download File Collections

Pros of merging File DMS APIs into File Service

  • Existing File Service clients will not be impacted because the existing APIs will continue to stay.
  • The Core-Logic of handling File uploads and downloads already exist in File Service and are well tested. So, the DMS APIs that are required for Dataset ADR will be able to directly hook into it reducing the development time.
  • Features such as "Uploading to staging container" will be available out of the box. This reduces gaps between Dataset Architecture and existing File Service, which in-turn enables easier migration for clients.
Edited May 18, 2022 by Chad Leong
Assignee
Assign to
Time tracking