Cloud Environments - CDCgov/prime-simplereport GitHub Wiki
Intro
SimpleReport is spread across multiple environments for the purposes of development, testing, demonstration, and production purposes. Some are deployed to automatically as part of our pipeline when code is merged to main
, while others require manual updates and are considered "volatile".
Cloud Environments Overview
Name | Frontend | API | Deployment | Intended Use |
---|---|---|---|---|
prod | /app/static/commit.txt | /api/actuator/info | Dispatched on success of stg deploy |
Used by end users |
demo | /app/static/commit.txt | /api/actuator/info | Worflow on success of stg deploy |
Used internally to demo the application to potential end users |
training | /app/static/commit.txt | /api/actuator/info | Dispatched on success of stg deploy |
Used externally by potential users to get a better understanding of the product |
stg | /app/static/commit.txt | /api/actuator/info | Push to main |
To validate the application work in the cloud and works with prod like data |
dev | /app/static/commit.txt | /api/actuator/info | Action | Development testing/PR validation before merging to main |
dev2 | /app/static/commit.txt | /api/actuator/info | Action | Development testing/PR validation before merging to main |
dev3 | /app/static/commit.txt | /api/actuator/info | Action | Development testing/PR validation before merging to main |
dev4 | /app/static/commit.txt | /api/actuator/info | Action | Development testing/PR validation before merging to main |
dev5 | /app/static/commit.txt | /api/actuator/info | Action | Development testing/PR validation before merging to main |
dev6 | /app/static/commit.txt | /api/actuator/info | Action | Development testing/PR validation before merging to main |
test | /app/static/commit.txt | /api/actuator/info | Push to main |
Automated testing agsinst main (e2e/load) |
pentest | /app/static/commit.txt | /api/actuator/info | Action | Penetration testing (no alerting enabled) |
The url for each environment follows the pattern {env}.simplereport.gov/app
.
Development Environments
Name:
dev
dev2
dev3
dev4
dev5
dev6
Update Strategy: These environments are updated on-demand with GitHub Actions. They should not be relied upon to be in sync with main
.
Intended Use: Developers should use these environments to test enhancements and bug fixes and to verify deployment behavior in a cloud environment. This environment's data is volatile and should not be relied upon for feature testing or demonstration.
Testing Environments
Name: test
Update Strategy: This environment is automatically updated on a push to main
.
Intended Use: Used for automated end-to-end and load testing. This environment's data is volatile and should not be relied upon for feature testing or demonstration.
Name: pentest
Update Strategy: This environment is updated on-demand with GitHub Actions. It should not be relied upon to be in sync with main
.
Intended Use: Used for security and penetration testing, including by automated toolsets. Alerting is disabled in this environment to facilitate testing. This environment's data is volatile and should not be relied upon for feature testing or demonstration.
Training/Demonstration Environments
Name: training
Update Strategy: This environment is automatically updated on a push to main
, contingent on a successful automated deployment to stg
.
Intended Use: Used externally by potential and onboarding users to better understand the product. This environment's data is ephemeral; the database is wiped and re-seeded every 24 hours.
Name: demo
Update Strategy: This environment is automatically updated on a push to main
, contingent on a successful automated deployment to stg
.
Intended Use: Used externally by product managers, support staff, and other personnel to demonstrate the production version of the application to potential end users.
Pre-Production Environments
Name: stg
Update Strategy: This environment is automatically updated on a push to main
.
Intended Use
Used as a validation gate for code, deployment, and infrastructure changes on a prod-like environment before new code from main
is rolled to active demonstration/production environments. A failure to deploy to stg
blocks deployments downstream to demo
, training
, and prod
.
Production Environments
Name: prod
Update Strategy: This environment is automatically updated on a push to main
, contingent on a successful automated deployment to stg
.
Intended Use: Used for live data collection and processing by end users. This is the SimpleReport.