A named credential referenced by Action triggers — a Terraform Cloud API token, a GitHub token, an Atlantis API secret, a webhook HMAC secret. The Secret declaration only names the credential; the value is set out-of-band so it never lands in a blueprint or version control. Values are encrypted at rest. Phase: schema.
| Field | Type | Required | Description |
|---|---|---|---|
kind | "Secret" | yes | Discriminator. Always Secret. |
name | string | yes | Unique secret name within the project. Referenced from triggers as {{ secrets.<name> }}. |
description | string | no | Human description of what the credential is for. |
The catalog declares the secret; the value is set separately via the CLI (or the SDK / API), so the plaintext never appears in YAML:
Reference the secret from any trigger that supports interpolation:
The two secrets from the multi-stack greenfield demo:
Never put a secret value in the catalog. Applying a Secret declaration creates
the slot; it does not carry a value. Use terrantula secrets set-value.
Secret values are env-scoped: a value set in one environment is decrypted only for runs in that environment. The same secret name can hold different values per env. See the Configuration Referencefor env model.
Secrets are referenced only through interpolation ({{ secrets.<name> }})
inside Action triggers and operations — never logged or returned in plaintext by
the API.
{{ secrets.* }} surface.