1.0.5 • Published 2 years ago

environment-crypt v1.0.5

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

About

Instead of having a list of 50 different secret environment variables that must be copied between different developers and production, this module allows you to check these values into version control, then lock all your secrets away with one key. You can encrypt your variables and have a different copy for each environment. This module uses AES-256-ctr under the hood and the built in crypto library. I took inspiration from https://github.com/kunalpanchal/secure-env but found problems with the CLI at the time as well as the inability to have JSON format.

quick start

create a json file with values to encrypt

//dev.json
{"key1":  "value1"}

create an encrypted copy of the json with the cli

//will generate a file at path/dev.json.enc
npx environment-crypt --decrypted "path/dev.json" 

somewhere in your sever

process.env.NODE_ENV = "dev"
const env = require("environment-crypt")
env.loadJSON(`./env/${process.env.NODE_ENV}.json.enc`, process.env.MY_SECURE_ENV_PASSWORD)
//process.env now has key1 set to value1

cli

example encryption $ npx environment-crypt --raw env/dev.json --password mypass

example decryption $ npx environment-crypt --encrypted env/dev.json.enc --password mypass

optiondecryption modeencryption mode
--nocleann/aoptional. By default encryption will delete the unencrypted raw source file. This flag tells the cli to leave the source file
--decryptoptional tells the cli to run in decryption modeleave blank
--rawoptional. path to output decrypted file. If the encypted file ends in .enc then defaults to same path with .enc removed, otherwise will use same path and will append .dec to the end of fileNamerequired. path to unecrypted env file
--encryptedrequired. path to encrypted env fileoptional. Path and filename you want the encrypted file to be. Defaults to unecrypted fileName with ".enc" appended
--passwordrequiredrequired
1.0.5

2 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago