A New Serverless Look
(Update 3/20/2024: If it ain't broke, do the classic developer thing and rebuild it! I've taken the site described below offline, and moved its posts here.)
The Quick Start in the official docs provided an easy cli installation and familiar directory structure. There were obvious examples of things like images, links, some available globals if needed, and a sense of how data is meant to flow. Also an SEO component making metadata generation easy. Nice.
I hopped over to GitHub and set up my repo and local remotes. Next up, AWS. I started with a private S3 bucket to host the static site behind a Cloudfront distribution and a new IAM user for GitHub Actions. This series of tutorials was a great simple walkthrough, though I opted to write the GitHub Action to deploy myself rather than use the library suggested by the article. Once things looked good on Cloudfront, I added a Lambda@Edge function to restrict access for now. Then it was back to the look and feel. I read a bit about themes and plugins, and started looking around.
*Fast forward to the following weekend*
Along came this great code notes theme! Perfect. A .dev TLD seemed appropriate, which led to ICANN and a great read on Internet history and the origins of the HSTS preload list, aka why .dev (and some other sites and TLDs) are https-only.
Since I didn't purchase the domain name through AWS, I had to create a Hosted Zone and point the domain's nameservers to the values displayed in Route 53. I requested a certificate in AWS Certificate Manager and added the values for CNAME verification into Route 53. The final step was attaching it to the Cloudfront distribution along with adding CNAMEs in Cloudfront as Alternate Domain Names. Here's a nice write up on some of these steps.
I pushed a test commit to ensure my GitHub Actions pipeline still worked. All good. Then a few finishing touches, a few new notes, and off came the authorization lambda! Not bad for a couple of afternoons. Thanks to the Gatsby community, the theme author, and all the other resources noted. I almost forgot, you can see it at https://joemerante.dev!