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"