Usage Examples
Heroku
Heroku reads runtime configuration from config vars. Pipe envv generate --type=envstraight into heroku config:set to sync them in one shot.
One-Off Sync
envv generate --type=env -e production | xargs heroku config:set --app my-appReplace my-app with your Heroku app name.
CI Sync (GitHub Actions)
- name: Sync env to Heroku
env:
ENVVAULT_TOKEN: ${{ secrets.ENVVAULT_TOKEN }}
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
run: |
envv generate --type=env -e production | \
xargs heroku config:set --app my-appBuildpack Approach
If you prefer to keep ENVVAULT_TOKEN as the only Heroku config var, fetch values at boot:
# Procfile
web: envv run -e production -- npm start
# Add the EnvVault buildpack:
heroku buildpacks:add envvault/cli --app my-appPipelines & Review Apps
For review apps, use a per-PR EnvVault environment and pick it via Heroku's HEROKU_APP_NAME at build time:
# app.json — postdeploy
"scripts": {
"postdeploy": "envv run -e \"${HEROKU_APP_NAME:-development}\" -- npm run db:migrate"
}