env-secrets v0.1.10
env-secrets
Get secrets from a vault and inject them as environment variables
Setup
Install node
Installation
Globally
npm install -g env-secretsProject specific
npm install env-secretswhen using project specific run using npx
npx env-secrets ...Usage
AWS
env-secrets aws -s <secret name> -r <region> -p <profile> -- <program to run><secret name> is the name of the secret in Secrets Manager
<region> is the region where the secret to stored. It is optional, the AWS_DEFAULT_REGION environment variable will be used instead.
<profile> is the local aws profile to use. It is optional, the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables will be used instead.
example:
Create a Secret using AWS cli
aws secretsmanager create-secret \
--region us-east-1 \
--profile marka \
--name local/sample \
--description "local/sample secret" \
--secret-string "{\"user\":\"marka\",\"password\":\"mypassword\"}"List the secret using AWS cli
aws secretsmanager get-secret-value \
--region us-east-1 \
--profile marka \
--secret-id local/sample \
--query SecretStringenv-secrets aws -s local/sample -r us-east-1 -p marka -- echo \${user}/\${password}Development
Setup node using nvm. Or use node 20 (LTS).
nvm useInstall yarn
npm install -y yarnSetup
yarnRun
npx ts-node src/index.ts aws -s local/sample -r us-east-1 -p marka -- envDebug
Uses debug-js to show debug logs by passing in env-secrets for the main application and env-secrets:{vault} for vault specific debugging
DEBUG=env-secrets,env-secrets:secretsmanager npx ts-node src/index.ts aws -s local/sample -r us-east-1 -p marka -- envPublishing
Login into npm
npm loginTry a dry run:
npm run release -- patch --dry-runRun:
npm run release -- patchLicense
Distributed under the MIT License. See LICENSE for more information.
Contact
Mark C Allen - @markcallen
Project Link: https://github.com/markcallen/env-secrets