set dotenv-load := true export PATH := source_dir() + "/bin:" + source_dir() + "/scripts:" + env("PATH") export AGEBOX_DEBUG := "0" export AGEBOX_PUBLIC_KEYS := source_dir() + "/public_keys.txt" # Install agebox from the latest github realse install-agebox: curl -sSL "https://github.com/slok/agebox/releases/latest/download/agebox-linux-amd64" -o .devfiles/bin/agebox chmod + x .devfiles/bin/agebox [no-cd] install-hooks: cog install-hook --all # Easy and simple file repository encryption tool based on Age. [working-directory('..')] agebox +ARGS="--help": @agebox {{ ARGS }} # Encrypt the provided files, relative to project root. encrypt +FILES: (agebox "encrypt " + FILES) # Encrypt all the tracked files. encrypt-all: (agebox "encrypt --all") # Decrypt the provided files, relative to project root. decrypt +FILES: (agebox "decrypt " + FILES) # Decrypt all the tracked files. decrypt-all: (agebox "decrypt --all --force") # Reencrypt all the tracked files with the new public keys. reencrypt: (agebox "reencrypt") # Show the content of an encrypted file to stdout. crypt-peek +FILES: (agebox "cat " + FILES) # Validate that all tracked files are encrypted. crypt-check:(agebox "validate --no-decrypt ") # Validate no credentials are pushed to git leaks: @gitleaks git --verbose --redact