44 lines
1.3 KiB
Makefile
44 lines
1.3 KiB
Makefile
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
|