This package has been deprecated

Author message:

This module is now under the @mapbox namespace: install @mapbox/decrypt-kms-env instead

decrypt-kms-env

3.0.0 • Public • Published

decrypt-kms-env

Simple util for decrypting secure environment variables encrypted using KMS.

Install

Include decrypt-kms-env in your project's package.json.

From a Dockerfile/shell

Once installed, run your application in your Dockerfile prefixed:

RUN eval $(./node_modules/.bin/decrypt-kms-env) && npm start

Follows a simple convention whereby:

  • Encrypted blobs are prefixed with secure:,
  • When the output of decrypt-kms-env is passed to eval in a shell, values are decrypted in-place. Scrubbed debug output is provided so you can confirm env vars have been decrypted and set.
> eval $(./node_modules/.bin/decrypt-kms-env)
Decrypted SecureValueA=************1231
Decrypted SecureValueB=************913X

From JS/Lambda function

If you don't have access to a shell to set env vars before starting your app, you can run decrypt-kms-env via JS.

var dke = require('decrypt-kms-env');
dke(process.env, function(err, scrubbed) {
  if (err) throw err;
  // Values in process.env are now decrypted.
 
  // To debug use `scrubbed` instead of logging `process.env` directly.
  // console.log(scrubbed);
});

Our usage

We use this from within Docker containers to decrypt env vars encrypted via KMS.


v1.x

For projects using python & awscli rather than node, the v1.x branch of this project can be used.

# Install 
curl -sL https://github.com/mapbox/decrypt-kms-env/archive/v1.0.6.tar.gz | tar --gunzip --extract --strip-components=1 --exclude=readme.md --directory=/usr/local
 
# Run app 
. decrypt-kms-env && npm start

Readme

Keywords

none

Package Sidebar

Install

npm i decrypt-kms-env

Weekly Downloads

317

Version

3.0.0

License

ISC

Last publish

Collaborators

  • mbx-npm-ci-production
  • mbx-npm-ci-staging
  • mbx-npm-advanced-actions-production
  • mbx-npm-advanced-actions-staging
  • mbx-npm-09-production
  • mbx-npm-08-production
  • mbx-npm-07-production
  • mbx-npm-06-production
  • mbx-npm-05-production
  • mbx-npm-04-production
  • mbx-npm-03-production
  • mbx-npm-02-production
  • mbx-npm-01-production
  • mbx-npm-02-staging
  • mapbox-npm-01
  • mapbox-npm-02
  • mapbox-npm-07
  • mapbox-npm-03
  • mapbox-npm-04
  • mapbox-npm-09
  • mapbox-npm-05
  • mapbox-npm-06
  • mapbox-npm-08
  • mapbox-npm-advanced-actions
  • mapbox-npm-ci
  • mapbox-npm
  • mapbox-admin
  • mapbox-machine-user