@varlock/doppler-plugin
v1.0.0
Published
Varlock plugin to load secrets from Doppler
Downloads
274
Readme
@varlock/doppler-plugin
Load secrets from Doppler into your Varlock configuration.
Features
- ✅ Fetch secrets from Doppler projects and configs
- ✅ Bulk-load secrets with
dopplerBulk()via@setValuesBulk - ✅ Service token authentication
- ✅ Efficient caching — single API call shared across all secret lookups
- ✅ Multiple plugin instances for different projects/configs
- ✅ Auto-infer secret names from variable names
- ✅ Helpful error messages with resolution tips
Installation
npm install @varlock/doppler-pluginOr load it directly from your .env.schema file:
# @plugin(@varlock/doppler-plugin)Setup
1. Create a Service Token in Doppler
Navigate to your project config in the Doppler dashboard → Access → Service Tokens → Generate a token.
2. Configure your .env.schema
# @plugin(@varlock/doppler-plugin)
# @initDoppler(
# project=my-project,
# config=dev,
# serviceToken=$DOPPLER_TOKEN
# )
# ---
# @type=dopplerServiceToken @sensitive
DOPPLER_TOKEN=Usage
Basic secret fetching
# Secret name defaults to the config item key
DATABASE_URL=doppler()
API_KEY=doppler()
# Or explicitly specify the secret name
STRIPE_SECRET=doppler("STRIPE_SECRET_KEY")Multiple instances
# @initDoppler(id=dev, project=my-app, config=dev, serviceToken=$DEV_DOPPLER_TOKEN)
# @initDoppler(id=prod, project=my-app, config=prd, serviceToken=$PROD_DOPPLER_TOKEN)
# ---
DEV_DATABASE=doppler(dev, "DATABASE_URL")
PROD_DATABASE=doppler(prod, "DATABASE_URL")Bulk loading secrets
# @plugin(@varlock/doppler-plugin)
# @initDoppler(project=my-project, config=dev, serviceToken=$DOPPLER_TOKEN)
# @setValuesBulk(dopplerBulk())
# ---
# @type=dopplerServiceToken @sensitive
DOPPLER_TOKEN=
DATABASE_URL=
API_KEY=
REDIS_URL=