env-secret-exporter

2.3.0 • Public • Published

Build Status Quality Gate Status Maintainability Rating Reliability Rating Security Rating Bugs Code Smells Vulnerabilities license: MIT

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');
 
async function exportSecret() {
  await ese({
    envFile: '.env',
    secretName: 'app_x_secret_dev'
  });
}
 
exportSecret()

AWS Credentials

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.

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

Dependencies (5)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i env-secret-exporter

    Weekly Downloads

    0

    Version

    2.3.0

    License

    MIT

    Unpacked Size

    12.3 kB

    Total Files

    10

    Last publish

    Collaborators

    • leerberg