Skip to content
This repository has been archived by the owner on May 12, 2023. It is now read-only.
/ marble-blueprints Public archive

MARBLE-related The "Infrastructure as Code" repo for all pieces of the Marble project. Will contain CloudFormation Templates, Ansible playbooks, deploy scripts, etc for all components of the new system.

License

Notifications You must be signed in to change notification settings

ndlib/marble-blueprints

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MARBLE-related

Archived 2023-05-12 sm

marble-blueprints

The Hesburgh Libraries and Snite Museum of Art at the University of Notre Dame received a grant from The Andrew W. Mellon Foundation in December 2017 to develop a unified online collections platform to encourage comparative research, innovative joint exhibitions, and deeper integration of artwork, rare books, archival resources, and cultural artifacts into University teaching. For more information about Marble visit https://innovation.library.nd.edu/marble.

This repository contains the "Infrastructure as Code" for deploying all pieces of the Marble project into AWS. It will contain AWS Cloud Formation Templates, Ansible playbooks, deploy scripts, etc for all components of the new system.

The project was designed as a set of independent components, ex: IIIF Image Service, IIIF Image Viewer Webcomponent, etc. This separation is also reflected in this repository, giving each component it's own independent set of infrastructure and deployment pipelines. To do this we use a combination of multi-layered and service-oriented architectures. There are a set of lower level stacks, such as the app-infrastructure and network stacks in the diagram below, that must be created before you can create a component: Stack Structure

For more information on this type of organization see Organize Your Stacks By Lifecycle and Ownership

Requirements

Before you begin, check that you have the following:

  • A role with permissions to deploy CDK Templates. In most cases, this will also require permissions to create IAM roles/policies (see Permissions Required to Access IAM Resources)
  • If you can use Route53, we provide a template for managing the certificate and DNS record sets for you. If not, make sure you have the ability to manage DNS for your organization to validate certificates (see Use DNS to Validate Domain Ownership)
  • Must have the awscli installed if using the example deploy commands
  • Must have the awscdk installed for deploying components that require it
  • If you are contributing to this project, it is highly recommended you use https://github.com/awslabs/git-secrets to prevent pushing AWS secrets to the repo
  • You will need to adjust your AWS service limits as follows:
    • Policies per Role: 20

Components

About

MARBLE-related The "Infrastructure as Code" repo for all pieces of the Marble project. Will contain CloudFormation Templates, Ansible playbooks, deploy scripts, etc for all components of the new system.

Resources

License

Stars

Watchers

Forks

Packages

No packages published