RockefellerArchiveCenter / zorya

A microservice to package bags

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

zorya

A microservice to package bags.

zorya is part of Project Electron, an initiative to build sustainable, open and user-centered infrastructure for the archival management of digital records at the Rockefeller Archive Center.

Setup

Install git and clone the repository:

$ git clone https://github.com/RockefellerArchiveCenter/zorya.git

Copy the example config file so zorya can find it. Once this is copied you can make changes to values as necesary:

$ cp zorya/zorya/config.py.example zorya/zorya/config.py

Install Docker and run docker-compose from the root directory:

$ cd zorya
$ docker-compose up

Once the application starts successfully, you should be able to access the application in your browser at http://localhost:8011

When you're done, shut down docker-compose:

$ docker-compose down

Or, if you want to remove all data:

$ docker-compose down -v

Services

  • Validate and rename bag
  • Get rights information from external service
  • Create delivery package
  • Create TAR archive of delivery package
  • Send archived delivery package to an external application

Routes

Method URL Parameters Response Behavior
GET /bags 200 Returns a list of bags
GET /bags/{id} 200 Returns data about an individual bag
POST /discover-bags 200 Discovers bags waiting to be processed
POST /assign-rights 200 Fetches rights information from external service
POST /make-package 200 Assembles a package to be delivered to an external service
POST /archive-package 200 Archives a package to be delivered to an external service
POST /deliver-package 200 Delivers package to an external service

Requirements

Using this repo requires having Docker installed.

Development

This repository contains a configuration file for git pre-commit hooks which help ensure that code is linted before it is checked into version control. It is strongly recommended that you install these hooks locally by installing pre-commit and running pre-commit install.

License

Code is released under an MIT License, as all your code should be. See LICENSE for details.

About

A microservice to package bags

License:MIT License


Languages

Language:Python 73.5%Language:HTML 19.3%Language:Shell 6.8%Language:Dockerfile 0.3%Language:CSS 0.2%