Infrastructure - serratus-bio/open-virome GitHub Wiki

Tech stack

UI

API

Deployments

GitHub Actions are used to deploy the UI and API whenever any changes are made to the main branch in the open-virome repo.

The frontend workflow installs all packages, builds js and html files, and uploads to an S3 CDN bucket. This workflow is only run when changes are made to the /frontend directory.

The API workflow installs all packages, creates .env file with secrets, builds nodejs server, and deploys to an AWS lambda function. This workflow is only run when changes are made to the /api directory.

API data sources

Knowledge graph

Neo4j community edition is deployed with an AWS Cloudformation stack. The knowledge graph is generally used for cluster related functionality, i.e. aggregating a local neighbourhood. More details can be found in the virus-knowledge-graph repo. Knowledge graph backups are stored in the serratus-graph bucket

PostgreSQL database

The app uses the Logan PSQL database as the primary datasource for fetching identifiers and results. More details on our query builder can be found in this wiki. The Logan database is an updated version of the Serratus database. PSQL backups are stored in the serratus-aurora-20210406 bucket

CDN: S3 Bucket

Bundled Webapp resources are served from the open-virome-webapp bucket

Pre-computed MWAS results are retrieved from the serratus-mwas bucket