This repository is part of the Pharos project which is split into four repositories:
Repository | Purpose |
---|---|
pharos-frontend |
Frontend application and deployment infrastructure |
pharos-api |
API and deployment infrastructure |
pharos-database |
SQL database and deployment infrastructure |
pharos-documentation |
Markdown files used to generate about pages |
Branch | CI/CD Status | Url |
---|---|---|
Prod | pharos.viralemergence.org/ | |
Staging | staging-pharos.viralemergence.org/ | |
Review | dev-pharos.viralemergence.org/ | |
Dev | dev-pharos.viralemergence.org/ |
Automated deployment schedule: Airtable data is ingested, "About" content is ingested from
pharos-documentation
, and full
site is built weekly on Staging
site.
1. Create API Stack: pharos-api
.
yarn
Run yarn start
, passing arguments to connect the dev server to your dev API stack:
Argument | Source |
---|---|
--api |
"Api" in outputs of cloudformation stack |
--client_id |
"ClientId" in outputs of cloudformation stack |
--user_pool_id |
"UserPoolId" in outputs of cloudformation stack |
--mapping_api |
Optional, only for troubleshooting. Defaults to match --api. |
--profile |
Optional, if [default] profile is set. Configure AWS SSO using the Pharos AWS Access Portal |
Example yarn start
command:
yarn start \
--api https://XXXXXXXXXXXXXX.cloudfront.net/prod \
--client_id XXXXXXXXXXXXXXXXXXXXXXXXXX \
--user_pool_id us-east-2_XXXXXXXXX
All pharos-frontend
Infrastructure is managed using the CloudFormation template within
the /CloudFormation/
directory. All changes to hosting, domain names, alternate domain
names, and access control must be made in the template and deployed using the update command
which can be found in the same directory. The template deploys all resources for all sites
(dev
, review
, staging
, and prod
), the template does not need to be deployed four times.
Infrastructure updates must be made with care as they can cause site downtime.
Remember to update site passwords before running deployment command.
This diagram is significantly simplified due to the diagram not supporting all CloudFormation features used in the template.