Git Product home page Git Product logo

sda-pipeline's Introduction

sda-pipeline

License GoDoc

Build Status Go Report Card Code Coverage

DeepSource

sda-pipeline is part of NeIC Sensitive Data Archive and implements the components required for data submission. It can be used as part of a Federated EGA or as a isolated Sensitive Data Archive. sda-pipeline was built with support for both S3 and POSIX storage.

Deployment

Recommended provisioning method for production is:

For local development/testing see instructions in dev_utils folder.

Core Components

Component Role
intercept The intercept service relays message between the queue provided from the federated service and local queues. (Required only for Federated EGA use case)
ingest The ingest service accepts messages for files uploaded to the inbox, registers the files in the database with their headers, and stores them header-stripped in the archive storage.
verify The verify service reads and decrypts ingested files from the archive storage and sends accession requests.
finalize The finalize command accepts messages with accessionIDs for ingested files and registers them in the database.
mapper The mapper service registers the mapping of accessionIDs (IDs for files) to datasetIDs.
sync The sync service accepts messages with accessionIDs for ingested files and copies them to the second/backup storage.

Internal Components

Component Role
broker Package containing communication with Message Broker https://github.com/neicnordic/sda-mq
config Package for managing configuration.
database Provides functionalities for using the database, providing high level functions https://github.com/neicnordic/sda-db.
storage Provides interface for storage areas such as a regular file system or as a S3 object store.

Documentation

sda-pipeline documentation can be found at: https://neicnordic.github.io/sda-pipeline/pkg/sda-pipeline/

NeIC Sensitive Data Archive documentation can be found at: https://neic-sda.readthedocs.io/en/latest/

Contributing

We happily accepts contributions. Please see our contributing documentation for some tips on getting started.

sda-pipeline's People

Contributors

blankdots avatar dbampalikis avatar dependabot-preview[bot] avatar dependabot[bot] avatar dtitov avatar jbygdell avatar jonandernovella avatar pontus avatar viklund avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.