Skip to content

prasus/awsenv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

awsenv

AWS environment config loader.

awsenv is a small binary that loads AWS environment variables for an AWS profile from ~/.aws/credentials - useful if you're regularly switching credentials and using tools like Vagrant. In addition to aws_access_key_id and aws_secret_access_key, it will also optionally load settings for aws_keyname and aws_keypath.

installation

If you have Go installed, you can just do:

go get -u github.com/soniah/awsenv

This will automatically download, compile and install the app; putting an awsenv executable in your $GOPATH/bin.

Otherwise, download the lastest binary from the releases page and place it in your $PATH (or on Debian-like machines you can just do sudo dpkg -i downloaded.deb).

usage

Import variables into your environment by eval-ing a backticked call to awsenv.

eval `awsenv profile-name`

For example, if you had the following credential files:

% cat ~/.aws/credentials
[example1]
aws_access_key_id = DEADBEEFDEADBEEF
aws_secret_access_key = DEADBEEFDEADBEEF1vzfgefDEADBEEFDEADBEEF

% cat /var/tmp/credentials
[example2]
aws_access_key_id = DEADBEEFDEADBEEF
aws_secret_access_key = DEADBEEFDEADBEEF1vzfgefDEADBEEFDEADBEEF
aws_keyname = 'example2_key'
aws_keypath = "~/.ssh/example2.pem"

The following shell commands would import AWS variables into your environment:

% eval `awsenv example1`
% env | grep AWS
AWS_ACCESS_KEY_ID=DEADBEEFDEADBEEF
AWS_SECRET_ACCESS_KEY=DEADBEEFDEADBEEF1vzfgefDEADBEEFDEADBEEF

% eval `awsenv example2 -f /var/tmp/credentials -v`
AWS_ACCESS_KEY_ID=DEADBEEFDEADBEEF
AWS_SECRET_ACCESS_KEY=DEADBEEFDEADBEEF1vzfgefDEADBEEFDEADBEEF
AWS_KEYNAME=example2_key
AWS_KEYPATH=/Users/sonia/.ssh/example2.pem

flags

The accepted flags can be displayed using -h:

% awsenv -h
Usage:
  awsenv [OPTIONS] Profile

Application Options:
  -v, --verbose   Verbose output
  -f, --filename= Credentials file (~/.aws/credentials)

Help Options:
  -h, --help      Show this help message

Arguments:
  Profile

build

  • edits
  • goxc bump
  • git add . ; git commit -m 'foo msg'
  • git push ; git push --tags
  • goxc -bc='linux,!arm darwin'

Also, copy .goxc.local.json to new build machines, or do:

goxc -wlc default publish-github -apikey=DEADBEEFDEADBEEF

About

AWS environment config loader

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 80.7%
  • Shell 19.3%