Encrypt secrets with age to protect them in repos and backups.
bash
# 1. Generate key pair (if not exists)
bash scripts/secure/setup.sh
# 2. Encrypt a secret
echo 'export API_KEY=*** | bash scripts/secure/encrypt.sh scripts/secure/secrets.env.age
# 3. Decrypt on the fly
source <(bash scripts/secure/decrypt.sh scripts/secure/secrets.env.age)
FilePurposescripts/secure/encrypt.shEncrypt stdin → .age``scripts/secure/decrypt.shDecrypt .age → stdoutscripts/secure/setup.shGenerate key pair
age (apt install age / brew install age)The private key is at /root/.age/key.txt. It is never uploaded to the repo.