If it won't be simple, it simply won't be. [Hire me, source code] by Miki Tebeka, CEO, 353Solutions

Tuesday, August 24, 2021

Using gpg for Secrets

I'm using direnv in my project, and sometimes want to set secrets such as AWS_ACCESS_KEY_ID and friends. I usually have a file like:
export AWS_ACCESS_KEY_ID=ABCDEFGHIJK
export AWS_SECRET_ACCESS_KEY=ABCDEFGHIJK/lmnopqrstuvwxyz
export AWS_DEFAULT_REGION=us-east-1
However I don't want to store these values in the clear. The solution I found was to encrypt the file with gpg and then have the following line in the .envrc:
eval $(gpg -qdo- ../../../aws.sh.gpg) 

Tuesday, July 20, 2021

Go's "defer" in pytest (and Python)

 I'm writing a lot of Go & Python these days, and both affect the way I write code.

One feature I really like in Go is defer. Lately, after writing some complicated pytest fixtures, I tried to make simpler and use a "defer" like fixture. Here's what I came with:

Out of the context of pytest, the same idea can become a context manager:


Update: I've published pytest-defer to PyPI.

Blog Archive