Joe Perez
03/31/2026, 7:52 PMpaulm
03/31/2026, 8:54 PMAdministratorAccess .
Cheers!Joe Perez
03/31/2026, 8:58 PMJoe Perez
03/31/2026, 9:00 PMpaulm
03/31/2026, 9:52 PM.terraform* between sessions.Joe Perez
03/31/2026, 10:34 PMJoe Perez
04/01/2026, 9:10 PMJoe Perez
04/01/2026, 9:11 PMpaulm
04/02/2026, 12:24 AMgit comes pre-installed.
If pushing changes up is necessary and AWS Identity Center isn't yet configured, I guess people will have to pick their poison π : long-lived AWS credentials β local machine or GitHub token or SSH key β AWS CloudShell.
Hopefully, most tutorials aren't for bootstrapping, so aws sso login can be used to get temporary AWS credentials on the local machine. Completely by coincidence, a recollection of $9000 AWS bill from a person's days as a new AWS user came up on my LinkedIn feed yesterday. He had lucked into a really bad tutorial that recommended just pushing the long-lived AWS access key up with the rest of the source code. π± (Although that sounds quaint, and stock GitHub might squawk today, I remember losing a battle at Slack 8 years ago, when I dared suggest a simple string match on AKIA as an imperfect, last line of defense. Amusingly, people now pay for tools that do just that.)
For fun I tried Supplementary Packages for Amazon Linux [2023] (SPAL), to see if I could install the GitHub CLI easily, to run gh auth login in CloudShell. Alas, no dice.
Thanks for this conversation. I enjoy your blog!Joe Perez
04/02/2026, 12:28 AMJoe Perez
04/02/2026, 12:29 AMpaulm
04/02/2026, 5:28 AMvim would scare people away. I revert to it very naturally in CloudShell, but it was the editor I learned as a high school student in 1992, when I got started with Unix. A lot of instructions assume familiarity with nano , but I don't think newer and younger enthusiasts today spend much time with any non-graphical editor.
The approach I've taken is to avoid instructions about editing. If it's not a file I supply in my repo, I have a code block in the instructions, designed for copying, pasting to a local (likely graphical) editor, copying again, and pasting to CloudShell (or to a shell on an EC2 instance, via Session Manager). Item 4 in github.com/sqlxpert/docker-python-openapi-kafka-terraform-cloudformation-aws#installation is an example.
Another alternative to open-ended editing is the read Bash built-in. "Sample AWS CLI Commands..." at the end of Item 8 of github.com/sqlxpert/aws-rcp-s3-require-intelligent-tiering#installation is an example. With this, a user doesn't even need to know how to set an environment variable. The type-over default option and the option not to echo (though of course whatever "secret" ends up in the environment β watch for subsequent expansion on the command-line) are useful. With TF_VAR__name_ , you could realistically ask a user to supply 3 or 4 custom input values to Terraform module.
What tricks do you have for making friction-free instructions?Joe Perez
04/02/2026, 2:00 PM