https://github.com/muhlba91/doppler-secrets-buildkite-plugin
Use Doppler secrets in your Buildkite pipelines
https://github.com/muhlba91/doppler-secrets-buildkite-plugin
buildkite buildkite-plugin doppler
Last synced: 12 days ago
JSON representation
Use Doppler secrets in your Buildkite pipelines
- Host: GitHub
- URL: https://github.com/muhlba91/doppler-secrets-buildkite-plugin
- Owner: muhlba91
- License: mit
- Created: 2023-05-26T15:30:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-06T13:45:04.000Z (almost 2 years ago)
- Last Synced: 2025-04-06T10:37:28.720Z (7 months ago)
- Topics: buildkite, buildkite-plugin, doppler
- Language: Shell
- Homepage:
- Size: 33.2 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Doppler Secrets Buildkite Plugin
[](https://github.com/muhlba91/doppler-secrets-buildkite-plugin/actions/workflows/verify.yml)
[](https://github.com/muhlba91/doppler-secrets-buildkite-plugin/releases)
[](https://github.com/muhlba91/doppler-secrets-buildkite-plugin/releases)
[](LICENSE.md)

A [Buildkite plugin](https://buildkite.com/docs/agent/v3/plugins) for exposing secrets from [Doppler](http://doppler.com) to your build steps.
**Plugin State**: Beta
---
## Requirements
The [`doppler` CLI](https://docs.doppler.com/docs/cli#installation) must be installed!
## Examples
The following pipeline uses a [Service Token](https://docs.doppler.com/docs/service-tokens) to set all secrets as environment variables.
The Service Token is set on the runner through the enviroment variable [`DOPPLER_TOKEN`](https://docs.doppler.com/docs/service-tokens#option-2-the-doppler_token-environment-variable).
```yml
steps:
- command: "echo $MY_SECRET"
plugins:
- muhlba91/doppler-secrets#v1.1.0
```
You can also directly specify the token (insecure!):
```yml
steps:
- command: "echo $MY_SECRET"
plugins:
- muhlba91/doppler-secrets#v1.1.0:
token: dp.XXX
```
Personal Tokens are also supported but require setting `project` and `config`:
```yaml
steps:
- command: "echo $MY_SECRET"
plugins:
- muhlba91/doppler-secrets#v1.1.0:
project: project
project-config: prod
```
If you want to control what secrets are being exposed you can specify the `variables` parameter:
```yml
steps:
- command: "echo $MY_SECRET"
plugins:
- muhlba91/doppler-secrets#v1.1.0:
secrets:
- MY_SECRET
```
### Warning
The plugin does not perform variable sanitation!
---
## Configuration
### Optional
#### `token` (optional, string)
The Buildkite token to use (Service Token, or Personal Token).
Example: `dp.XXX`
### `project` (optional, string)
The Doppler project to read the secrets from.
***Required*** for Personal Tokens!
Example: `project`
### `project-config` (optional, string)
The Doppler configuration within the set project to read the secrets from.
***Required*** for Personal Tokens!
Example: `prod`
### `secrets` (optional, array)
Sets the secrets to be read as environment variables.
***Attention:*** at the moment, this forces multiple calls to Doppler, and incurs performance penalty!
Example: `[ "MY_SECRET1", "MY_SECRET2" ]`
---
## License
MIT (see [LICENSE](LICENSE.md))
## Supporting
If you enjoy the application and want to support my efforts, please feel free to buy me a coffe. :)