1. Resources
  2. /
  3. Plugins
  4. /
  5. vault-secrets-buildkite-plugin

Vault Secrets Buildkite Plugin

Provides Secrets stored in Vault as environment variables in buildkite pipeline

Only support KVV2 vault secrets backend.

Example

Add the following to your pipeline.yml:

Example with Vault Token

steps:
  - command: ls
    plugins:
      - vj396/vault-secrets#v0.1.0:
          image: 'vault' # optional. Defaults to https://hub.docker.com/_/vault
          tag: "1.10.2" # optional. Defaults to 1.10.2
          address: "http://vault-server:8200" # optional. plugin will error when VAULT_ADDR is also not in env.
          token: "123ASda" # optional. plugin will error when VAULT_TOKEN is also not in env. 
          env:
            MY_SECRET: secret/foo # where foo is the secret key
            MY_OTHER_SECRET: secret/path/foo # Where secret/path is the vault path to the secret and foo is the secret key

Example with Auth Metadata

steps:
  - command: ls
    plugins:
      - vj396/vault-secrets#v0.1.0:
          image: 'vault' # optional. Defaults to https://hub.docker.com/_/vault
          tag: "1.10.2" # optional. Defaults to 1.10.2
          address: "http://vault-server:8200" # optional. plugin will error when VAULT_ADDR is also not in env.
          auth:
            method: aws # optional. defaults to vault login method `aws`
            role: example-role # optional. defaults to vault aws auth role `buildkite`
            path: aws/custom/path # optional. Vault Auth backend path. defaults to `aws`
            header: vault.service.consul # optional. Defaults to vault_addr server name
          env:
            MY_SECRET: secret/foo # where foo is the secret key
            MY_OTHER_SECRET: secret/path/foo # Where secret/path is the vault path to the secret and foo is the secret key

Developing

Test

vault kv put secrets/buildkite/test foo1=bar foo=bar
BUILDKITE_PLUGIN_VAULT_ENV_SECRETS_ENV_FOO1=secrets/buildkite/test/foo1 BUILDKITE_PLUGIN_VAULT_ENV_SECRETS_ENV_FOO=secrets/buildkite/test/foo  BUILDKITE_JOB_ID=123 VAULT_TOKEN=$(cat ~/.vault-token) ./hooks/environment

TODO

  1. Add vault auth support

Contributing

  1. Fork the repo
  2. Make the changes
  3. Run the tests
  4. Commit and push your changes
  5. Send a pull request

The plugins listed on this webpage are provided for informational purposes only. They have not undergone any formal security review or assessment. While we strive to provide useful resources, we cannot guarantee the safety, reliability, or integrity of these plugins. Users are strongly advised to conduct their own security evaluations before downloading, installing, or using any plugin. By using these plugins, you acknowledge and accept any risks associated with their use. We disclaim any liability for any harm or damages arising from the use of the plugins listed.

Start turning complexity into an advantage

Create an account to get started with a 30-day free trial. No credit card required.

Buildkite Pipelines

Platform

  1. Pipelines
  2. Pipeline templates
  3. Public pipelines
  4. Test Engine
  5. Package Registries
  6. Mobile Delivery Cloud
  7. Pricing

Hosting options

  1. Self-hosted agents
  2. Mac hosted agents
  3. Linux hosted agents

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Webinars
  5. Plugins
  6. Case studies
  7. Events
  8. Migration Services
  9. Comparisons

Company

  1. About
  2. Careers
  3. Press
  4. Brand assets
  5. Contact

Solutions

  1. Replace Jenkins
  2. Workflows for AI/ML
  3. Testing at scale
  4. Monorepo mojo
  5. Bazel orchestration

Legal

  1. Terms of Service
  2. Acceptable Use Policy
  3. Privacy Policy
  4. Subprocessors
  5. Service Level Agreement

Support

  1. System status
  2. Forum
© Buildkite Pty Ltd 2025