Skip to content
How this site is built

How this site is built

Writing

Each post is a Markdown file. Hugo, with the Hextra theme, turns them into plain HTML, CSS and JavaScript: no server, no database.

Hosting

    flowchart LR
  reader([Reader]) --> cf[CloudFront]
  cf -->|origin access control| s3[(Private S3 bucket)]
  
  • The files live in a private S3 bucket that only this CloudFront distribution may read.
  • A CloudFront Function maps directory URLs such as /posts/ to their index.html.
  • The certificate and the DNS records are created and validated by Terraform.

Publishing

  1. Write or change a page.
  2. Build the site and commit the result.
  3. Push. The pipeline runs Terraform, which uploads only the files that changed.

Nothing here is done by hand in the AWS console.