Files
home-cluster/.taskfiles/Sops/Taskfile.yaml
T

37 lines
937 B
YAML

---
# yaml-language-server: $schema=https://taskfile.dev/schema.json
version: "3"
tasks:
age-keygen:
desc: Initialize Age Key for Sops
cmd: age-keygen --output {{.AGE_FILE}}
status: ["test -f {{.AGE_FILE}}"]
encrypt:
desc: Encrypt all Kubernetes SOPS secrets
cmds:
- for: { var: file }
task: .encrypt-file
vars:
file: "{{.ITEM}}"
vars:
file:
sh: find "{{.KUBERNETES_DIR}}" -type f -name "*.sops.*" | xargs -I {} sh -c 'sops filestatus {} | jq --exit-status ".encrypted == false" > /dev/null && echo {}'
.encrypt-file:
internal: true
cmd: sops --encrypt --in-place {{.file}}
requires:
vars: ["file"]
preconditions:
- msg: Missing Sops config file
sh: test -f {{.SOPS_CONFIG_FILE}}
- msg: Missing Sops Age key file
sh: test -f {{.AGE_FILE}}
.reset:
internal: true
cmd: rm -rf {{.SOPS_CONFIG_FILE}}