Skip to content
/ psenv Public

A command-line tool to get parameters from AWS Systems Manager Parameter Store as environment variables.

License

Notifications You must be signed in to change notification settings

theuves/psenv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

psenv

AWS SSM Parameter Store to environment variables.

NPM downloads per month NPM version License

A command-line tool to get parameters from AWS Systems Manager Parameter Store as environment variables. Useful to pass environment variables to containers in ECS when you haven't an implementation in the code or when you don't want to pass the parameters to task definition via Secret (with valueFrom).

Installation

  • NPMnpm install --global psenv-cli
  • Yarnyarn global add psenv-cli

Usage

Type psenv --help.

Usage: psenv <PATH> [OPTION]...

Options:
    --output=FILENAME   Write to a file (e.g. --output=.env)
    --to-upper-case     Convert the name to upper case (e.g. name to NAME)
    --recursive         Retrieve all parameters within a hierarchy
    --is-dotenv         Output with the format NAME=value
    --is-cmd            Output for Windows Command Prompt (cmd.exe)
    -h, --help          Print this message
    -v, --version       Print the current version of psenv

Example

Suppose you have the following parameters in the Parameter Store:

Name Value
/dev/NODE_ENV development
/dev/name foo
/prod/NODE_ENV production
/prod/name bar
$ psenv /dev
export NODE_ENV='development'
export name='foo'

--output=FILENAME

Write to a file (e.g. --output=.env).

$ psenv /dev --output=.env.development
File is created successfully.

$ cat .env.development
NODE_ENV='development'
name='foo'

--to-upper-case

Convert the name to upper case (e.g. name to NAME).

$ psenv /dev --to-upper-case
export NODE_ENV='development'
export NAME='foo'

--recursive

Retrieve all parameters within a hierarchy.

$ psenv / --recursive
export NODE_ENV='development'
export name='foo'
export NODE_ENV='production'
export name='bar'

--is-dotenv

Output with the format NAME=value.

$ psenv /dev --is-dotenv
NODE_ENV='development'
name='foo'

--is-cmd

Output for Windows Command Prompt (cmd.exe).

$ psenv /dev --is-cmd
set "NODE_ENV=development"
set "name=foo"

License

Copyright © 2021 by Matheus Alves.

Licensed under MIT license.