mirror of
https://github.com/go-task/task.git
synced 2025-12-25 16:09:26 +01:00
66 lines
1.8 KiB
YAML
66 lines
1.8 KiB
YAML
version: '3'
|
|
|
|
vars:
|
|
# Public variable
|
|
APP_NAME: myapp
|
|
|
|
# Secret variable with value
|
|
API_KEY:
|
|
value: "secret-api-key-123"
|
|
secret: true
|
|
|
|
# Secret variable from shell command
|
|
PASSWORD:
|
|
sh: "echo 'my-super-secret-password'"
|
|
secret: true
|
|
|
|
# Non-secret variable
|
|
PUBLIC_URL: https://example.com
|
|
|
|
tasks:
|
|
test-secret-masking:
|
|
desc: Test that secret variables are masked in logs
|
|
cmds:
|
|
- echo "Deploying {{.APP_NAME}} to {{.PUBLIC_URL}}"
|
|
- echo "Using API key {{.API_KEY}}"
|
|
- echo "Password is {{.PASSWORD}}"
|
|
- echo "Public app name is {{.APP_NAME}}"
|
|
|
|
test-multiple-secrets:
|
|
desc: Test multiple secrets in one command
|
|
cmds:
|
|
- echo "API={{.API_KEY}} PWD={{.PASSWORD}}"
|
|
|
|
test-mixed:
|
|
desc: Test mix of secret and public vars
|
|
vars:
|
|
LOCAL_SECRET:
|
|
value: "task-level-secret"
|
|
secret: true
|
|
cmds:
|
|
- echo "App={{.APP_NAME}} Secret={{.LOCAL_SECRET}} URL={{.PUBLIC_URL}}"
|
|
|
|
test-deferred-secret:
|
|
desc: Test that deferred commands mask secrets
|
|
vars:
|
|
DEFERRED_SECRET:
|
|
value: "deferred-secret-value"
|
|
secret: true
|
|
cmds:
|
|
- echo "Starting task"
|
|
- defer: echo "Cleanup with secret={{.DEFERRED_SECRET}} and app={{.APP_NAME}}"
|
|
- echo "Main command executed"
|
|
|
|
test-env-secret-limitation:
|
|
desc: Test showing that env vars with secret flag are NOT masked (limitation)
|
|
env:
|
|
SECRET_TOKEN:
|
|
value: "env-secret-token-123"
|
|
PUBLIC_ENV: "public-value"
|
|
cmds:
|
|
# Templates {{.VAR}} don't work with env - they're empty
|
|
- echo "Token via template is {{.SECRET_TOKEN}}"
|
|
# Shell $VAR works but is NOT masked (env vars not in template system)
|
|
- echo "Token via shell is $SECRET_TOKEN"
|
|
- echo "Public env is {{.PUBLIC_ENV}}"
|