Skip to content

injects AWS Secrets Manager secrets as environment variables. single binary, no dependencies. osx & linux & windows. #aws #golang #cli

License

Notifications You must be signed in to change notification settings

keilerkonzept/aws-secretsmanager-env

Repository files navigation

aws-secretsmanager-env

Docker Cloud Build Status

Injects AWS Secrets Manager secrets as environment variables - or just prints them, if no command is given. (If you need secrets as files instead, you can use aws-secretsmanager-files)

Get it

Using go get:

go get -u github.com/keilerkonzept/aws-secretsmanager-env

Or download the binary from the releases page.

# Linux
curl -L https://github.com/keilerkonzept/aws-secretsmanager-env/releases/download/1.1.458/aws-secretsmanager-env_1.1.458_linux_x86_64.tar.gz | tar xz

# OS X
curl -L https://github.com/keilerkonzept/aws-secretsmanager-env/releases/download/1.1.458/aws-secretsmanager-env_1.1.458_osx_x86_64.tar.gz | tar xz

# Windows
curl -LO https://github.com/keilerkonzept/aws-secretsmanager-env/releases/download/1.1.458/aws-secretsmanager-env_1.1.458_windows_x86_64.zip
unzip aws-secretsmanager-env_1.1.458_windows_x86_64.zip

Use it


aws-secretsmanager-env [OPTIONS] [COMMAND [ARGS...]]

Usage of aws-secretsmanager-env:
  -profile string
    	override the current AWS_PROFILE setting
  -secret-binary-base64 ENV_VAR=SECRET_ARN
    	a key/value pair ENV_VAR=SECRET_ARN (may be specified repeatedly)
  -secret-binary-string ENV_VAR=SECRET_ARN
    	a key/value pair ENV_VAR=SECRET_ARN (may be specified repeatedly)
  -secret-json-key ENV_VAR=SECRET_ARN#JSON_KEY
    	a key/value pair ENV_VAR=SECRET_ARN#JSON_KEY (may be specified repeatedly)
  -secret-json-key-string ENV_VAR=SECRET_ARN#JSON_KEY
    	a key/value pair ENV_VAR=SECRET_ARN#JSON_KEY (may be specified repeatedly)
  -secret-string ENV_VAR=SECRET_ARN
    	a key/value pair ENV_VAR=SECRET_ARN (may be specified repeatedly)
  -version
    	print version and exit

Examples

$ aws-secretsmanager-env -secret-string MY_SECRET=arn:aws:secretsmanager:eu-west-1:28381901202:secret:example-secret-1
MY_SECRET={"hello":"world"}

$ aws-secretsmanager-env -secret-json-key MY_SECRET=arn:aws:secretsmanager:eu-west-1:28381901202:secret:example-secret-1#hello
MY_SECRET="world"

$ aws-secretsmanager-env -secret-json-key-string MY_SECRET=arn:aws:secretsmanager:eu-west-1:28381901202:secret:example-secret-1#hello
MY_SECRET=world

$ aws-secretsmanager-env -secret-json-key-string MY_SECRET=arn:aws:secretsmanager:eu-west-1:28381901202:secret:example-secret-1#hello sh -c 'echo the secret is "$MY_SECRET"'
the secret is "world"