Hey there,
I got a little frustrated with our current workflow regarding secrets in phoenix projects. Keeping them in sync was a mess. As we also work with rails we got used to storing our secrets encrypted in git.
I couldn’t find a library that satisfied our needs so I decided to build one myself.
Since this is my first time publishing something I am a little excited. So excited that I forgot to include the link the first time I posted this.
I present to you: SecretMana
A library to programmatically encrypt/decrypt your secrets stored directly within your code base. This way you only need to exchange one secret instead of keeping .env files in sync.
The library is built to support multiple backends to be able to cover your needs as well.
Since I’d rather have the encrypting/decrypting part done by pros I built my library upon GitHub - FiloSottile/age: A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability., so a huge thanks to FiloSottile!
This is a very early release and SecretMana is very rough around the edges.
I am not 100% happy with everything I build here so I am happy about every feedback I get.
Also note that the tests are currently 100% ai generated. I just wanted to have something but didn’t have the time yet to take a closer look.
So there is a lot to be done:
proper testing
proper documentation (including some recipies)
CI/CD
…much more
Thanks,
Nick