toquen 0.1.2 → 0.1.3

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: 4170f1693c5c6bfaa962826d43179a5f6eee4583
4
- data.tar.gz: 541031a124b960ed711485f99805ccda367f00e6
3
+ metadata.gz: 1e7f850c2fee7fddfffa545de77b361a2b26f5c1
4
+ data.tar.gz: 01e9291df348e40badcd3c5c933f45d6e92789a2
5
5
  SHA512:
6
- metadata.gz: d794d3149af0c9ad3b1002109496b9bc1f94959b29a8e9e8963062a7c2a84d1d695e886f823c35ad0859df0592baeddf1ee109e5f84766d9f7f63777892fdfac
7
- data.tar.gz: b9067b1456a24d82bd83485f0229b4cc45d302098328dab95cb0180251fc03ae0bb38ed07fc80f12ac6d73878d9d92b4051ba3acfaf81d42b0956911ffec7c2d
6
+ metadata.gz: 30c80fdfc46ea793ec4008a28e50718aa6b8a53f6d1be4dc724c1a90a8fd2938feae36454c4bac10a573b1aeea55a9e908d0e3f3fbc13c9afab2529822b4da0c
7
+ data.tar.gz: a8bb945cd54bb98e28f66cc3b258f5297636a847e16b10719161980d46f6549e4e9bf0b94ba4021073030e236041b187b09b9822569ed7fe238245b83ebcd57b
data/README.md CHANGED
@@ -24,7 +24,7 @@ And then on the command line execute:
24
24
  $ bundle
25
25
  $ cap toquen_install
26
26
 
27
- This will create a config directory with a file named *deploy.rb*. Edit this file, setting the location of your AWS key, AWS credentials, and chef cookbooks/data bags/roles.
27
+ This will create a config directory with a file named *deploy.rb*. Edit this file, setting the location of your AWS key, AWS credentials, and chef cookbooks/data bags/roles. If your servers are in a region (or regions) other than us-east-1, then you'll need to set the region as [described below](#additional-configuration).
28
28
 
29
29
  Then, in AWS, create an [AWS instance tag](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) named "Roles" for each instance, using a space separated list of chef roles as the value. The "Name" tag must also be set or the instance will be ignored.
30
30
 
@@ -90,6 +90,12 @@ By default, instance information is only pulled out of the default region (us-ea
90
90
  set :aws_regions, ['us-west-1', 'us-west-2']
91
91
  ```
92
92
 
93
+ You can also specify the location to upload the kitchen before running chef. By default, this is set to the ssh user's home directory.
94
+
95
+ ```ruby
96
+ set :chef_upload_location, "/tmp/toquen"
97
+ ```
98
+
93
99
  ## View Instances
94
100
  To see details about your aws instances you can use the **details** cap task.
95
101
 
@@ -2,6 +2,8 @@ require 'capistrano/setup'
2
2
  require 'capistrano/console'
3
3
  require 'set'
4
4
 
5
+ set :chef_upload_location, -> { "/home/#{fetch(:ssh_options)[:user]}" }
6
+
5
7
  desc "update local cache of servers and roles"
6
8
  task :update_roles do
7
9
  load Pathname.new fetch(:deploy_config_path, 'config/deploy.rb')
@@ -35,7 +37,7 @@ end
35
37
 
36
38
  desc "Update cookbooks/data bags/roles on server"
37
39
  task :update_kitchen do
38
- kitchen = "/home/#{fetch(:ssh_options)[:user]}/kitchen"
40
+ kitchen = "#{fetch(:chef_upload_location)}/kitchen"
39
41
  lkitchen = "/tmp/toquen/kitchen"
40
42
  user = fetch(:ssh_options)[:user]
41
43
  key = fetch(:ssh_options)[:keys].first
@@ -62,7 +64,7 @@ task :update_kitchen do
62
64
  on roles(:all), in: :parallel do |host|
63
65
  run_locally do
64
66
  info "Sending kitchen to #{host}..."
65
- execute "rsync -avzk --delete -e 'ssh -i #{key}' #{lkitchen} #{user}@#{host}:/home/#{fetch(:ssh_options)[:user]}"
67
+ execute "rsync -avzk --delete -e 'ssh -i #{key}' #{lkitchen} #{user}@#{host}:#{fetch(:chef_upload_location)}"
66
68
  end
67
69
  end
68
70
  end
@@ -74,9 +76,11 @@ task :cook do
74
76
  roles = host.properties.roles.reject { |r| r.to_s.start_with?('server-') or r == :all }
75
77
  roles = roles.map { |r| "\"role[#{r}]\"" }.join(',')
76
78
  info "Roles for #{host}: #{roles}"
77
- tfile = "/home/#{fetch(:ssh_options)[:user]}/chef.json"
79
+ tfile = "chef.json"
78
80
  upload! StringIO.new("{ \"run_list\": [ #{roles} ] }"), tfile
79
- execute "sudo chef-solo -c kitchen/chef_config.rb -j #{tfile}"
81
+ within fetch(:chef_upload_location) do
82
+ execute "sudo chef-solo -c #{fetch(:chef_upload_location)}/kitchen/chef_config.rb -j #{tfile}"
83
+ end
80
84
  end
81
85
  end
82
86
  before :cook, :update_kitchen
@@ -1,3 +1,3 @@
1
1
  module Toquen
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toquen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Muller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-22 00:00:00.000000000 Z
11
+ date: 2014-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano