@bazylhorsey/aws-dotenv
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

version license size node

aws-dotenv 🧰

aws-dotenv is a cli tool that manages the envrionment variables for an application stored in the AWS Secrets Manager. The tool can set dotenv variables from your machine to the AWS Secrets Manager and pull them back from AWS to a .env file.

Installation 🔨

npm install aws-dotenv --save-dev

Configuration ⚙️

  • Add .secretsrc to the project root
{
  "name": "My-Project",
  "description": "This project uses aws-dotenv!",
  "keys": [
    "ENV_VARIABLE",
    "ANOTHER_ENV_VARIABLE"
  ]
}

Authentication 🔑

Using .awsrc

  • Create .awsrc
{
    "accessKeyId": "ACCESS_KEY_ID",
    "secretAccessKey": "SECRET_ACCESS_KEY",
    "region": "us-east-2"
}

Using AWS default configuration

AWS Credentials can be configured using the AWS CLI tool. For additionnal AWS configuration documentation please refer to Configuration and credential file settings.

  • Configure the AWS account by creating ~/.aws/credentials
[default]
aws_access_key_id=access_key_id
aws_secret_access_key=secret_access_key
  • Configure the AWS region by creating ~/.aws/config
[default]
region=ca-central-1
output=json
  • Create .env at the root of the project
AWS_SDK_LOAD_CONFIG=1

AWS_SDK_LOAD_CONFIG allows the tool to use your ~/.aws/ config folder. We recommend to leave it permanently as well as storing the variable inside AWS Secrets Manager.

Usage 🚀

$ aws-dotenv (command) (stage)

Available Commands

  • pull
  • set

Stages

Default stage is dev.

Refers to the development stage of the application. It is used to differentiate the multiple .env configurations your project might use at any time. Generally in the form of dev, test and prod but the name does not matter.

example

In these examples the files .env.prod and .env.dev are used. Secret name is defined in AWS Secrets Manager. Setting up package.json

  "scripts": {
    "set-env-dev": "aws-dotenv set {Secret Name}", // Store the environment variables of this machine to AWS Secrets Manager for dev environment.
    "pull-env-dev": "aws-dotenv pull {Secret Name} dev", // Retrieve the environment variables from AWS Secrets Manager dev envrionment to a .env file in the root folder.
    "set-env-prod": "aws-dotenv set {Secret Name}", // Store the environment variables of this machine to AWS Secrets Manager for prod environment.
    "pull-env-prod": "aws-dotenv pull {Secret Name} prod" // Retrieve the environment variables from AWS Secrets Manager prod envrionment to a .env file in the root folder.
  }

Package Sidebar

Install

npm i @bazylhorsey/aws-dotenv

Weekly Downloads

2

Version

1.1.1

License

MIT

Unpacked Size

356 kB

Total Files

21

Last publish

Collaborators

  • bazylhorsey