/chronamDeployment

Automated scripts for deploying Chronicling America to AWS

Primary LanguageHTML

Assumptions

  1. These sets of playbooks were deployed with Ansible 2.6

  2. You will need the following Ansible Galaxy playbooks installed: ansible-galaxy install geerlingguy.java

  3. Ansible uses the boto3 library for AWS access. That will automatically configure itself from several mechanisms — either use a tool such as aws-vault to manage the environment (recommended) or follow the boto3 configuration guide to ensure that your API keys are available. It is recommended that you use an AWS named profile (e.g. ndnp) and let aws-vault manage short term credentials with rotation.

  4. Create an EC2 SSH key-pair and make sure the AWS_KEY_PAIR environmental variable specifies it by name.

  5. Add Chronam-deploy-aws-ansible-vault to your system keychain:

    $ security add-generic-password -a ${USER} -s "Chronam-deploy-aws-ansible-vault"
  6. Data has already been uploaded to S3

Setup the environment

Before we can deploy to AWS we need to setup several environments so that we conform to A&A security requirements. See setup.sh

How to deploy to AWS

run deploy_<ENVIRONMENT>.sh depending on where you want to deploy

Ingest data

Contributing to this repo

  1. Ensure that pre-commit is installed (e.g. brew install pre-commit or apt-get install pre-commit) and that you have run pre-commit install at least once