/4dn-cloud-infra

Cloud Formation templates for 4dn-dcic AWS environments

Primary LanguagePython

4dn-cloud-infra

Infrastructure provisioning for 4dn-dcic AWS environments, using Cloudformation

Setup

See docs/setup.rst.

Updates

poetry update  # only if updates are needed, kept in poetry.lock
poetry install

Usage

To make stack changes, see docs/making_stack_changes.rst. To create a new stack, see docs/create_new_stack.rst. To deploy from scratch, see docs/deploy_new_account.rst.

Validate Legacy Configuration:

make legacy

Validate Alpha Configuration:

make alpha

To lint a template:

cfn-lint path/to/template

To get help:

poetry run cli -h

Documentation

See docs/.

Architecture

For an in-depth overview, see docs/architecture.rst.

Testing the Deployment

Once the ECS Service has come online, the portal should be accessible from the URL output from the ECS Stack. At this point we are ready to start testing the portal functionality by loading a demo case. Some important caveats of the current test setup:

  • Further customization is needed to run this on new environments. Full customization out of the box is still TODO.
  • Bioinformatics analysis is completely mocked out (an output VCF is uploaded immediately).
  • It may take a few hours for this process to run, especially if it is the first time.

Instructions for testing: (TODO: May need some updating)

# First load required knowledge base data
make load-knowledge-base

# Then perform metadata bundle submission
make submission

# Then, after following the "make submission" output instructions
# queue output VCF ingestion
make ingestion

Deploying Foursight for Development

foursight_development contains scripts for running foursight checks and actions for development purposes as well as a separate app configuration (development_app.py) than the one used for deployment.

For more information, see docs/running_foursight_from_ec2.rst.