35 lines
824 B
YAML
35 lines
824 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 {{.SOPS_AGE_FILE}}
|
|
status:
|
|
- test -f "{{.SOPS_AGE_FILE}}"
|
|
|
|
encrypt:
|
|
desc: Encrypt a secret
|
|
summary: |
|
|
Args:
|
|
file: Path to file to encrypt (required)
|
|
cmd: sops --encrypt --in-place {{.file}}
|
|
vars:
|
|
claim: '{{ or .file (fail "Argument (file) is required") }}'
|
|
preconditions:
|
|
- sh: test -f {{.SOPS_CONFIG_FILE}}
|
|
- sh: test -f {{.SOPS_AGE_FILE}}
|
|
|
|
encrypt:all:
|
|
desc: Encrypt all Kubernetes SOPS secrets
|
|
cmds:
|
|
- for: { var: file }
|
|
task: encrypt
|
|
vars:
|
|
file: "{{.ITEM}}"
|
|
vars:
|
|
file:
|
|
sh: find {{.KUBERNETES_DIR}} -type f -name "*.sops.*"
|