The env-secret-exporter is a CLI tool that allows you to quickly upload content of a .env file to the AWS Secret Manager.
The fastest way to install the cli is by using NPM.
$ npm install -g env-secret-exporter
This command installs the CLI globally on your system allowing you to run it from anywhere. If you want a local installation just remove the -g flag.
Run the cli directly from your command line like shown in the example below. For more advanced usage please have a look at the command line options.
env-secret-exporter --env-file x.env --secret-name app_x_dev
This code can be easily used within your JavaScript projects as a Node.js module. The only thing needed is to pass the options object and wait for the promise to return. The code snippet below shows an usage example. This functionallity can be useful if you are exporting multiple env files by making a script instead of doing it manually via the commandline.
const ese = require('env-secret-exporter');
async function exportSecret() {
await ese({
envFile: '.env',
secretName: 'app_x_secret_dev'
});
}
exportSecret()The aws credentials will be loaded through the normal aws security order as explained the SDK credentials section. I recommend that the shared credential file is used for commandline execution.
-
-e,--env-fileThe relative path to the environment file which will be exported. -
--secret-namethe secret name that is stored in the AWS secret manager. Please follow AWS naming guidlines: Secret name must contain only alphanumeric characters and the characters /+=.@-_ -
-xFeature flag used to specify which lines in a .env file that should be exported. Simply append a ' x' at the end of the line you want to export. If this flag is set all lines without ' x' will be omitted. -
--update-secretUse this parameter if you are overwritting an existing secret. -
--accesss-key-idAWS access key. Enables runtime specification of an IAM user. -
--secret-access-keyAWS secret access key. Enables runtime specification of an IAM user. -
--aws-regionSpecific AWS region. By default the CLI reads the default region from the ~/.aws/config.
Please fell free to contribute by making pull requests. Ensure the README is updated if changes are made.
- Add docker setup. Including dockerfile and docker-compose file.
- Add tests