lindekaer / env-secret-exporter

CLI tool used to export content of a .env file to the AWS secret manager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The env-secret-exporter is a CLI tool that allows you to quickly upload content of a .env file to the AWS Secret Manager.

Installation

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.

Usage

The env-secret-exporter cli

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

Using env-secret-exporter as a library

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');

await ese({
    envFile: '.env',
    secretName: 'app_x_secret_dev'
}, function (err) {
	if (err) { throw err; }
  console.log('Env file succesfully exported!');
});

back to top

Command Line Options

env-secret-exporter [options]

  • -e, --env-file The relative path to the environment file which will be exported.

  • --secret-name the 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 /+=.@-_

  • -x Feature 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-secret Use this parameter if you are overwritting an existing secret.

  • --accesss-key-id AWS access key. Enables runtime specification of an IAM user.

  • --secret-access-key AWS secret access key. Enables runtime specification of an IAM user.

  • --aws-region Specific AWS region. By default the CLI reads the default region from the ~/.aws/config.

Contributing

Please fell free to contribute by making pull requests. Ensure the README is updated if changes are made.

ToDo

  • Add docker setup. Including dockerfile and docker-compose file.
  • Add tests

About

CLI tool used to export content of a .env file to the AWS secret manager

License:MIT License


Languages

Language:JavaScript 100.0%