Author: Tom

  • Manually running Github actions (workflow_dispatch)

    In my research on the simplest way to implement CI/CD deployment rollback using Github Actions, I decided the simplest-but-not-too-simple solution would be to run a workflow manually. But I could not find a satisfying answer to one key question: If I run a workflow with “Use workflow from [select a branch]” then1) does it use…

  • Mac M1 development

    For years I’ve been using a Mac for development and it’s been great. But when I switched to a new Macbook Pro M1, an inconvenient truth emerged: I’ve been running development and production on different platforms. Year after year, for bash, python, Ruby, Rails, deploying to real servers, AWS EC2, Docker/Fargate, etc, everything just worked……

  • Ansible inventory management for AWS EC2 on a Small Scale

    At TRI, we do everything the hard way… on a small scale. Many online services “best practices” and offerings are fine when you have a large operating budget and staff, and that leaves “smaller” shops with some notable problems to solve. Until recently, we ran a bunch of AWS EC2 instances using Ansible, but Ansible…

  • Discover the public IP address of an AWS Fargate container in a Docker entrypoint script

    tl;dr: you must use the +tcp option with dig We needed the public IP address to configure PASV_ADDRESS for a vsftpd service we’re running under AWS Fargate. Unfortunately, there’s no direct way for a Docker entrypoint script to get the current public IP address. There are some annoyingly-complicated ways using AWS api’s, etc, but the…

  • Black bean, corn and quinoa salad

    Tired of the cost of the WF version, and unsatisfied with online recipes I tried, I crafted up this one. The date on the original copy in my recipe book is 2016-07-14. Yield is about 8 cups. This scales well, so long as you have a large enough mixing bowl.