--- # 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.*"