CodeCatalyst Migration

The last (and first) update to this blog was more than two years ago. The intention to ‘write more’ always bubbles up around this time of year when I finally get some head space back and so here we are again.

I am presently on my summer break and the second order of business (after making the most of Sydney’s amazing beaches) is tidying things up and getting my systems in order. In the past two years a lot of changes have occurred in my life; we have moved house, i’ve moved teams at AWS and mostly work remotely these days and my role is now as a manager so i’m finding myself further and further away from the tools.

As now seems to be a tradition, i’m going to kick off my ‘write more’ habit with an update on the backend infrastructure supporting this blog. In my first (and only) post, i wrote about setting this up using a combination of Hugo, Github Actions and Amazon S3/CloudFront. As a basic architecture, this still remains (for mine), pretty state of the art. Github Actions make for a great set of trigger-based tools for my CI/CD pipeline and the price is fundamentally right.

Looking at a return to writing over the past few days, a few requirements jumped out to me that I wasn’t able to cleanly meet with my current solution:

  • I am back travelling a lot for work and during this time I end up in hotel rooms and cafes with a desire to capture the moment i’m in. I feel blessed to be able to travel to far away places and get a little bit of time exploring cultures and learning about the world, but writing it down is something i’ve neglected to do over the years. One of my challenges with writing things down is I increasingly aim to travel light, which means, i’m only taking my work laptop and I am somewhat reluctant to put my personal things on this device for both compliance and personal reasons. Fundamentally, I have realized having a remote dev environment would be of benefit for working with this blog.
  • My current workflow with Github actions relies on an Access Key tied to my personal (ie my money) AWS account. I am really trying to move away from use of Access Keys, so this is an area i’d need to revisit in the solution.
  • At re:Invent this year, AWS released a new service, CodeCatalyst, focused on remote and collaborative development environments. It has a free tier that my lowly blog CI/CD process neatly fits into, so i figured this might be worth a try. Some dogfooding over the summer break never hurts.

Needless to say, the rest of this blog covers my process of migrating from my GitHub Actions workflow to Amazon CodeCatalyst. The opinions and examples here are my own personal views and do not necessarily reflect those of my employer (AWS). I’m writing this up as much as a self-documentation exercise as anything else, but I would hope someone may find this useful.

So lets start with a target architecture. My aim here is to change as little as possible, while aiming to properly kick the tyres on CodeCatalyst and observe the experience for a typical indie developer looking for tools to get out of the way as much as possible. In line with this, I’ve decided to keep my source code in a private GitHub repository, but then looked to replace the GitHub Actions functionality with a CI/CD process under CodeCatalyst, while also introducing CodeCatalyst’s remote developer environments into the solution (which is how i’m writing this blog post right now!).


613 Words

2022-12-30 23:19 +0000