tacoma 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1be9e5a4823bd8e21db42c03899400660e3aba4f
4
- data.tar.gz: f1fd91294a294cf1dea60cc477b280a419353744
3
+ metadata.gz: b7330005c3dd16bcf338c0d9aae63ec7afeb8c91
4
+ data.tar.gz: 75c4a068ffb0a9eac184ac3c26fcb8beab956e7f
5
5
  SHA512:
6
- metadata.gz: 233c8662047989376d1c646d9a414b8bfbf66312b1fddc247a96707f8ab5ca8d5bebfd446c1b3e9ea9dbc024a24465fd5ec2feec83e03433fd058d71f7034c2a
7
- data.tar.gz: b5556d275028e847a44d854c46b60159082704b644500425ef8aef3fd53244d87afa5a0376c1b112db0a9a6d832c2e67cff74413fb5184762d608f7a021761b1
6
+ metadata.gz: 67d2f3e9b41b80ddca513e9a58991956747f0bd183bd2d7e47e37e0419353df24d9a6f160a2a546d95bb8583f3ad506ec032a770db2441db2523da4ced6c442b
7
+ data.tar.gz: bbf29a8439147711eb1e118306392ccd018edfee5c937f1d72638c2b9727f930fcf025470a1ac9eefd86bd6cc163ef081bce040332ba1300453dbf3e06147aef
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .rvmrc
4
+ .bundle
5
+ .config
6
+ .yardoc
7
+ Gemfile.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'thor'
4
+
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../lib/tacoma'
3
+
4
+ Tacoma::Command.start
5
+
@@ -0,0 +1,2 @@
1
+ require_relative './tacoma/command'
2
+ require_relative './tacoma/version'
@@ -0,0 +1,66 @@
1
+ require 'yaml'
2
+ require 'thor'
3
+ require 'pathname'
4
+
5
+
6
+ module Tacoma
7
+
8
+ module Tool
9
+ def self.config
10
+ filename = File.join(Dir.home, ".tacoma.yml")
11
+ return YAML::load_file(filename)
12
+ end
13
+
14
+ def self.switch(environment)
15
+ config = Tool.config
16
+ if config.keys.include?(environment) == false
17
+ puts "Cannot find #{environment} key, check your YAML config file"
18
+ return
19
+ end
20
+
21
+ puts "export AWS_IDENTITY_FILE=" + config[environment]['aws_identity_file'] if config[environment]['aws_identity_file']
22
+ puts "export AWS_SECRET_ACCESS_KEY=" + config[environment]['aws_secret_access_key'] if config[environment]['aws_secret_access_key']
23
+ puts "export AWS_ACCESS_KEY_ID=" + config[environment]['aws_access_key_id'] if config[environment]['aws_access_key_id']
24
+ puts "export REPO=" + config[environment]['repo'] if config[environment]['repo']
25
+
26
+ # run ssh-add for the pem file
27
+ system("ssh-add #{config[environment]['aws_identity_file']}")
28
+ end
29
+
30
+ end
31
+
32
+ class Command < Thor
33
+
34
+ include Thor::Actions
35
+
36
+ desc "list", "Lists all known AWS environments"
37
+ def list
38
+ Tool.config.keys.each do |key|
39
+ puts key
40
+ end
41
+ end
42
+
43
+ desc "switch ENVIRONMENT", "Loads AWS environment vars"
44
+ def switch(environment)
45
+ Tool.switch(environment)
46
+ end
47
+
48
+ desc "install", "Create a sample ~/.tacoma.yml file"
49
+ def install
50
+ if (File.exists?(File.join(Dir.home, ".tacoma.yml")))
51
+ puts "File ~/.tacoma.yml already present, won't overwrite"
52
+ else
53
+ template_path=Pathname.new("#{self.class.source_root}/../template/tacoma.yml").realpath.to_s
54
+ new_path = File.join(Dir.home, ".tacoma.yml")
55
+ template template_path, new_path
56
+ end
57
+ end
58
+
59
+ def self.source_root
60
+ File.dirname(__FILE__)
61
+ end
62
+
63
+ end
64
+
65
+ end
66
+
@@ -0,0 +1,3 @@
1
+ module Tacoma
2
+ VERSION='1.0.1'
3
+ end
@@ -0,0 +1,20 @@
1
+ #
2
+ # This file was automatically generated at <%= Time.now %>
3
+ #
4
+ # tacoma command line options:
5
+ #
6
+ # tacoma list - list all available entries in this file
7
+ # tacoma switch <entry> - will load the environment variables and ssh-add the aws identity file
8
+ #
9
+
10
+ my_first_project:
11
+ aws_identity_file: "/path/to/pem/file/my_project.pem"
12
+ aws_secret_access_key: "YOURSECRETACCESSKEY"
13
+ aws_access_key_id: "YOURACCESSKEYID"
14
+ repo: "$HOME/projects/my_first_project"
15
+
16
+ my_second_project:
17
+ aws_identity_file: "/path/to/pem/file/my_second_project.pem"
18
+ aws_secret_access_key: "ANOTHERSECRETACCESSKEY"
19
+ aws_access_key_id: "ANOTHERACCESSKEYID"
20
+ repo: "/usr/share/projects/my_second_project"
@@ -0,0 +1,26 @@
1
+ require "bundler/setup"
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'tacoma/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "tacoma"
9
+ spec.version = Tacoma::VERSION
10
+ spec.authors = ["Juan Lupión"]
11
+ spec.email = ["pantulis@gmail.com"]
12
+ spec.description = %q{Easy command line tool for AWS credentials management}
13
+ spec.summary = "This tool reads a YAML file with the credentials for your AWS accounts and loads them into your environment."
14
+ spec.homepage = "https://github.com/pantulis/tacoma"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files`.split($\)
18
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_runtime_dependency "thor"
23
+ spec.add_development_dependency "minitest"
24
+ spec.add_development_dependency "bundler"
25
+ spec.add_development_dependency "rake"
26
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tacoma
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Lupión
@@ -69,10 +69,19 @@ dependencies:
69
69
  description: Easy command line tool for AWS credentials management
70
70
  email:
71
71
  - pantulis@gmail.com
72
- executables: []
72
+ executables:
73
+ - tacoma
73
74
  extensions: []
74
75
  extra_rdoc_files: []
75
- files: []
76
+ files:
77
+ - .gitignore
78
+ - Gemfile
79
+ - bin/tacoma
80
+ - lib/tacoma.rb
81
+ - lib/tacoma/command.rb
82
+ - lib/tacoma/version.rb
83
+ - lib/template/tacoma.yml
84
+ - tacoma.gemspec
76
85
  homepage: https://github.com/pantulis/tacoma
77
86
  licenses:
78
87
  - MIT