Improve support for passing tokens via secrets tag

Problem

Today, passing DANGER_GITLAB_API_TOKEN is possible via secrets but cumbersome. For example:

# ...

include:
  - component: "gitlab.com/gitlab-org/components/danger-review/danger-review@~latest"

# Overrides CI/CD component danger-review to support passing
# DANGER_GITLAB_API_TOKEN via a secret vault.
danger-review:
  id_tokens:
    VAULT_ID_TOKEN:
      aud: https://vault.gitlab.net
  secrets:
    DANGER_GITLAB_API_TOKEN:
      file: false
      vault: "access_tokens/${VAULT_SECRETS_PATH}/danger/token@ci"
      token: $VAULT_ID_TOKEN

Refs gitlab-org/labkit!242 (comment 2871716069)

Proposed solution

  • Document in README how to use secrets:vault
  • Built-in support for secrets in CI/CD component