roundsman 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/roundsman/capistrano.rb +28 -26
- data/lib/roundsman/version.rb +1 -1
- data/roundsman.gemspec +1 -0
- metadata +74 -44
data/lib/roundsman/capistrano.rb
CHANGED
@@ -8,7 +8,7 @@ require 'tempfile'
|
|
8
8
|
def run_list(*recipes)
|
9
9
|
if recipes.any?
|
10
10
|
set :run_list, recipes
|
11
|
-
install_ruby
|
11
|
+
install_ruby if fetch(:run_roundsman_checks, true) && install_ruby?
|
12
12
|
run_chef
|
13
13
|
else
|
14
14
|
Array(fetch(:run_list))
|
@@ -48,10 +48,11 @@ require 'tempfile'
|
|
48
48
|
set_default(:roundsman_user) { fetch(:user) { capture('whoami').strip } }
|
49
49
|
set_default :debug_chef, false
|
50
50
|
set_default :package_manager, 'apt-get'
|
51
|
+
set_default :run_roundsman_checks, true
|
51
52
|
|
52
53
|
desc "Lists configuration"
|
53
54
|
task :configuration do
|
54
|
-
@_defaults.
|
55
|
+
@_defaults.sort_by {|sym| sym.to_s}.each do |name|
|
55
56
|
display_name = ":#{name},".ljust(30)
|
56
57
|
if variables[name].is_a?(Proc)
|
57
58
|
value = "<block>"
|
@@ -77,11 +78,33 @@ require 'tempfile'
|
|
77
78
|
def ensure_roundsman_working_dir
|
78
79
|
unless @ensured_roundsman_working_dir
|
79
80
|
run "mkdir -p #{fetch(:roundsman_working_dir)}"
|
81
|
+
run "mkdir -p #{fetch(:roundsman_working_dir)}/cache"
|
80
82
|
sudo "chown -R #{fetch(:roundsman_user)} #{fetch(:roundsman_working_dir)}"
|
81
83
|
@ensured_roundsman_working_dir = true
|
82
84
|
end
|
83
85
|
end
|
84
86
|
|
87
|
+
def install_ruby?
|
88
|
+
installed_version = capture("ruby --version || true").strip
|
89
|
+
if installed_version.include?("not found")
|
90
|
+
logger.info "No version of Ruby could be found."
|
91
|
+
return true
|
92
|
+
end
|
93
|
+
required_version = fetch(:ruby_version).gsub("-", "")
|
94
|
+
if installed_version.include?(required_version)
|
95
|
+
if fetch(:care_about_ruby_version)
|
96
|
+
logger.info "Ruby #{installed_version} matches the required version: #{required_version}."
|
97
|
+
return false
|
98
|
+
else
|
99
|
+
logger.info "Already installed Ruby #{installed_version}, not #{required_version}. Set :care_about_ruby_version if you want to fix this."
|
100
|
+
return false
|
101
|
+
end
|
102
|
+
else
|
103
|
+
logger.info "Ruby version mismatch. Installed version: #{installed_version}, required is #{required_version}"
|
104
|
+
return true
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
85
108
|
|
86
109
|
namespace :install do
|
87
110
|
|
@@ -104,7 +127,7 @@ require 'tempfile'
|
|
104
127
|
git clone -q https://github.com/sstephenson/ruby-build.git
|
105
128
|
cd ruby-build
|
106
129
|
./install.sh
|
107
|
-
ruby-build #{fetch(:ruby_version)} #{fetch(:ruby_install_dir)}
|
130
|
+
CONFIGURE_OPTS='--disable-install-rdoc' ruby-build #{fetch(:ruby_version)} #{fetch(:ruby_install_dir)}
|
108
131
|
}
|
109
132
|
end
|
110
133
|
|
@@ -145,27 +168,6 @@ require 'tempfile'
|
|
145
168
|
end
|
146
169
|
end
|
147
170
|
|
148
|
-
def install_ruby?
|
149
|
-
installed_version = capture("ruby --version || true").strip
|
150
|
-
if installed_version.include?("not found")
|
151
|
-
logger.info "No version of Ruby could be found."
|
152
|
-
return true
|
153
|
-
end
|
154
|
-
required_version = fetch(:ruby_version).gsub("-", "")
|
155
|
-
if installed_version.include?(required_version)
|
156
|
-
if fetch(:care_about_ruby_version)
|
157
|
-
logger.info "Ruby #{installed_version} matches the required version: #{required_version}."
|
158
|
-
return false
|
159
|
-
else
|
160
|
-
logger.info "Already installed Ruby #{installed_version}, not #{required_version}. Set :care_about_ruby_version if you want to fix this."
|
161
|
-
return false
|
162
|
-
end
|
163
|
-
else
|
164
|
-
logger.info "Ruby version mismatch. Installed version: #{installed_version}, required is #{required_version}"
|
165
|
-
return true
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
171
|
end
|
170
172
|
|
171
173
|
namespace :chef do
|
@@ -183,7 +185,7 @@ require 'tempfile'
|
|
183
185
|
|
184
186
|
desc "Generates the config and copies over the cookbooks to the server"
|
185
187
|
task :prepare_chef, :except => { :no_release => true } do
|
186
|
-
install if install_chef?
|
188
|
+
install if fetch(:run_roundsman_checks, true) && install_chef?
|
187
189
|
ensure_cookbooks_exists
|
188
190
|
generate_config
|
189
191
|
generate_attributes
|
@@ -239,7 +241,7 @@ require 'tempfile'
|
|
239
241
|
def remove_procs_from_hash(hash)
|
240
242
|
new_hash = {}
|
241
243
|
hash.each do |key, value|
|
242
|
-
next if fetch(:filter_sensitive_settings).find { |regex| regex.match(key) }
|
244
|
+
next if fetch(:filter_sensitive_settings).find { |regex| regex.match(key.to_s) }
|
243
245
|
real_value = if value.respond_to?(:call)
|
244
246
|
begin
|
245
247
|
value.call
|
data/lib/roundsman/version.rb
CHANGED
data/roundsman.gemspec
CHANGED
metadata
CHANGED
@@ -1,56 +1,77 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: roundsman
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- iain
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2013-01-16 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: capistrano
|
16
|
-
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
24
|
none: false
|
18
|
-
requirements:
|
25
|
+
requirements:
|
19
26
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 27
|
29
|
+
segments:
|
30
|
+
- 2
|
31
|
+
- 12
|
32
|
+
version: "2.12"
|
22
33
|
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: json
|
23
37
|
prerelease: false
|
24
|
-
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
25
39
|
none: false
|
26
|
-
requirements:
|
40
|
+
requirements:
|
27
41
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 15
|
44
|
+
segments:
|
45
|
+
- 1
|
46
|
+
- 0
|
47
|
+
version: "1.0"
|
48
|
+
type: :runtime
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
31
51
|
name: vagrant
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ~>
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '1.0'
|
38
|
-
type: :development
|
39
52
|
prerelease: false
|
40
|
-
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
54
|
none: false
|
42
|
-
requirements:
|
55
|
+
requirements:
|
43
56
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 15
|
59
|
+
segments:
|
60
|
+
- 1
|
61
|
+
- 0
|
62
|
+
version: "1.0"
|
63
|
+
type: :development
|
64
|
+
version_requirements: *id003
|
65
|
+
description: Combine the awesome powers of Capistrano and Chef. The only thing you need is SSH access.
|
66
|
+
email:
|
49
67
|
- iain@iain.nl
|
50
68
|
executables: []
|
69
|
+
|
51
70
|
extensions: []
|
71
|
+
|
52
72
|
extra_rdoc_files: []
|
53
|
-
|
73
|
+
|
74
|
+
files:
|
54
75
|
- .gitignore
|
55
76
|
- .rvmrc
|
56
77
|
- Gemfile
|
@@ -69,29 +90,38 @@ files:
|
|
69
90
|
- test/ubuntu-lucid/test.sh
|
70
91
|
homepage: https://github.com/iain/roundsman
|
71
92
|
licenses: []
|
93
|
+
|
72
94
|
post_install_message:
|
73
95
|
rdoc_options: []
|
74
|
-
|
96
|
+
|
97
|
+
require_paths:
|
75
98
|
- lib
|
76
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
77
100
|
none: false
|
78
|
-
requirements:
|
79
|
-
- -
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
|
82
|
-
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
hash: 3
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
version: "0"
|
108
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
109
|
none: false
|
84
|
-
requirements:
|
85
|
-
- -
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
hash: 3
|
114
|
+
segments:
|
115
|
+
- 0
|
116
|
+
version: "0"
|
88
117
|
requirements: []
|
118
|
+
|
89
119
|
rubyforge_project:
|
90
|
-
rubygems_version: 1.8.
|
120
|
+
rubygems_version: 1.8.24
|
91
121
|
signing_key:
|
92
122
|
specification_version: 3
|
93
123
|
summary: Various Capistrano tasks for bootstrapping servers with Chef
|
94
|
-
test_files:
|
124
|
+
test_files:
|
95
125
|
- test/ubuntu-lucid/Capfile
|
96
126
|
- test/ubuntu-lucid/Rakefile
|
97
127
|
- test/ubuntu-lucid/Vagrantfile
|