Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 1.76 KB

repository-layout.md

File metadata and controls

23 lines (15 loc) · 1.76 KB

Repository layout

The code for the storage service isn't contained in a single repo; it's spread across multiple repos. This document lists the key repositories for the storage service, and how to find the code within them.

  • wellcomecollection/storage-service

    This contains:

    • Code for our Scala applications. For a guide to the projects within the repo, see the project guide.
    • Documentation for the storage service, in the docs directory.
    • Infrastructure definitions in Terraform, in the terraform directory. This includes both the infrastructure for the Wellcome instance of the storage service and modules that can be used to run other instances of the storage service.
  • wellcomecollection/scala-libs – some Scala code shared with other Wellcome services.

    This repo has a lot of the code that interacts directly with AWS services (S3, DynamoDB, SQS, etc.), and the storage-service uses more abstract traits -- so implementation details of those services don't leak into the applications.

    Any Scala in the weco namespace but not in the weco.storage_service namespace is defined in scala-libs.

  • wellcomecollection-terraform-* – shared Terraform modules. These give us a consistent approach to deploying resources across all of our services (e.g. ECS tasks, SNS topics, SQS queues).