Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/keilerkonzept/aws-secretsmanager-env

injects AWS Secrets Manager secrets as environment variables. single binary, no dependencies. osx & linux & windows. #aws #golang #cli
https://github.com/keilerkonzept/aws-secretsmanager-env

aws env environment-variables exec secretsmanager self-contained

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# aws-secretsmanager-env

[![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/sgreben/aws-secretsmanager-env.svg)](https://hub.docker.com/r/sgreben/aws-secretsmanager-env/tags)

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](https://github.com/keilerkonzept/aws-secretsmanager-files))

- [Get it](#get-it)
- [Use it](#use-it)
- [Examples](#examples)
- [Comments](#comments)

## Get it

Using go get:

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

Or [download the binary](https://github.com/keilerkonzept/aws-secretsmanager-env/releases/latest) from the releases page.

```bash
# 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

```text

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

```shell
$ 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"
```