mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-06-28 15:23:33 +02:00
Add software development lifecycle diagram (#295)
* add a diagram representing the SDLC for the registrar
This commit is contained in:
parent
680f3633e4
commit
e07bf6b448
2 changed files with 65 additions and 0 deletions
BIN
docs/architecture/diagrams/get.gov registrar deployment.png
Normal file
BIN
docs/architecture/diagrams/get.gov registrar deployment.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 163 KiB |
65
docs/architecture/diagrams/get.gov registrar deployment.puml
Normal file
65
docs/architecture/diagrams/get.gov registrar deployment.puml
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
@startuml get.gov registrar deployment
|
||||||
|
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Deployment.puml
|
||||||
|
|
||||||
|
LAYOUT_WITH_LEGEND()
|
||||||
|
title get.gov registrar deployment
|
||||||
|
skinparam linetype polyline
|
||||||
|
|
||||||
|
Person(team, "get.gov developer", "Code Writer")
|
||||||
|
|
||||||
|
Deployment_Node(aws, "AWS GovCloud", "Amazon Web Services Region") {
|
||||||
|
Deployment_Node(cloudgov, "cloud.gov", "Cloud Foundry PaaS") {
|
||||||
|
System_Ext(cloudgov_router, "cloud.gov router", "Cloud Foundry service")
|
||||||
|
System_Ext(cloudgov_uaa, "cloud.gov authentication", "Cloud Foundry service")
|
||||||
|
System_Ext(cloudgov_controller, "cloud.gov controller", "Cloud Foundry orchestration")
|
||||||
|
System_Ext(cloudgov_dashboard, "cloud.gov dashboard", "Cloud Foundry web UI")
|
||||||
|
System_Ext(cloudgov_logdrain, "logs.fr.cloud.gov", "ELK")
|
||||||
|
Boundary(atob, "ATO boundary") {
|
||||||
|
Deployment_Node(organization, "get.gov organization") {
|
||||||
|
Deployment_Node(unstable, "unstable space") {
|
||||||
|
System_Boundary(dashboard_unstable, "get.gov registrar") {
|
||||||
|
Container(getgov_app_unstable, "Registrar Application", "Python, Django", "Delivers static HTML/CSS and forms")
|
||||||
|
ContainerDb(dashboard_db_unstable, "Unstable PostgreSQL Database", "AWS RDS", "Stores agency information and reports")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Deployment_Node(staging, "staging space") {
|
||||||
|
System_Boundary(dashboard_staging, "get.gov registrar") {
|
||||||
|
Container(getgov_app_staging, "Registrar Application", "Python, Django", "Delivers static HTML/CSS and forms")
|
||||||
|
ContainerDb(dashboard_db_staging, "Staging PostgreSQL Database", "AWS RDS", "Stores agency information and reports")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
' Logs flow
|
||||||
|
Rel(staging, cloudgov_logdrain, "logs to", "stdout/stderr")
|
||||||
|
Rel(team, cloudgov_logdrain, "reviews logs", "https (443)")
|
||||||
|
|
||||||
|
Rel(team, cloudgov_uaa, "authenticates with", "https (443)")
|
||||||
|
Rel(team, cloudgov_dashboard, "inspects", "https (443)")
|
||||||
|
Rel(cloudgov_dashboard, cloudgov_controller, "inspects and manipulates state", "https (443)")
|
||||||
|
|
||||||
|
' Deployment
|
||||||
|
Boundary(deploymentservices, "Deployment services") {
|
||||||
|
Deployment_Node(github, "CI/CD Pipeline", "open source"){
|
||||||
|
System(github_repo, "cisagov/getgov", "Code repository")
|
||||||
|
System_Ext(github_actions_deploy, "github actions", "deploy")
|
||||||
|
System_Ext(github_actions_test, "github actions", "test, security check")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rel(github_repo, github_actions_test, "pushes to all branches trigger test suite")
|
||||||
|
Rel(github_repo, github_actions_deploy, "pushes to main trigger deployment")
|
||||||
|
Rel(team, github_repo, "commits code, makes pull-request, approves PRs", "https (443)")
|
||||||
|
Rel(github_actions_deploy, cloudgov_controller, "pushes code, invokes tasks", "https (443)")
|
||||||
|
Rel(github_actions_deploy, cloudgov_router, "runs smoke tests on URLs", "https (443)")
|
||||||
|
Rel(cloudgov_controller, staging, "provisions/operates apps and services", "admin access limited")
|
||||||
|
Rel(cloudgov_controller, unstable, "provisions/operates apps and services")
|
||||||
|
|
||||||
|
Rel(getgov_app_staging, dashboard_db_staging, "reads agency info, reads/writes reports, ", "postgres (5432)")
|
||||||
|
Rel(getgov_app_unstable, dashboard_db_unstable, "reads agency info, reads/writes reports, ", "postgres (5432)")
|
||||||
|
|
||||||
|
Rel(cloudgov_router, getgov_app_staging, "proxies to", "https GET/POST (443)")
|
||||||
|
|
||||||
|
@enduml
|
Loading…
Add table
Add a link
Reference in a new issue