Skip to content

Drupal CMS

Amy Farrell edited this page Dec 28, 2024 · 8 revisions

Part of USAGov Architecture patterns

The Drupal CMS runs Drupal plus some additional services in order to build the static assets for the Public static web site:

  • Drupal
  • nginx
  • shell scripts
    • Run drupal/tome to generate static HTML
    • Assemble static HTML plus other assets
    • Copy all to S3 (aws-s3)
  • Cron (via s6 overlay)

DRAFT

C4Context
  title Drupal CMS diagram
  Boundary(internet, "Internet", "the web") {
    Person(ContentEditor, "Content editor")
    System(GSAAuth, "GSA Auth")
    Person(AnonUser, "Anonymous user")
    Boundary(cloud_gov_boundary, "Cloud.gov", "") {
      Boundary(usagov_boundary, "USAgov org boundary", "") {
        Container(cms_app, "CMS", "drupal, nginx")
        ContainerDb(s3_storage, "S3 storage", "static web assets")
        ContainerDb(rds_database, "RDS", "Drupal data", "mySQL")	
      }
    }
  }
  Rel(ContentEditor, cms_app, "HTTPS", "GET,HEAD,POST,PATCH")  
  Rel(AnonUser, cms_app, "HTTPS", "GET,HEAD")
  Rel(ContentEditor, GSAAuth, "HTTPS")
  Rel(cms_app, s3_storage, "HTTPS/TLS", "read/write")
  Rel(cms_app, rds_database, "TLS", "read/write")    
  UpdateRelStyle(ContentEditor, cms_app, $offsetX="-20", $offsetY="-180")
  UpdateRelStyle(AnonUser, cms_app, $offsetX="-90", $offsetY="-90")
  UpdateElementStyle(AnonUser, $bgColor="gray")
  UpdateElementStyle(s3_storage, $bgColor="yellow", $fontColor="black")
  UpdateLayoutConfig($c4ShapeInRow="2")

Loading