linux_provision 0.9.5 → 0.9.6
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.
- checksums.yaml +15 -0
- data/CHANGES +5 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +3 -2
- data/lib/linux_provision/linux_provision.rb +2 -2
- data/lib/linux_provision/version.rb +1 -1
- data/linux_provision.gemspec +1 -1
- metadata +6 -24
- data/lib/linux_provision/generic_provision.rb +0 -79
checksums.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
!binary "U0hBMQ==":
|
|
3
|
+
metadata.gz: !binary |-
|
|
4
|
+
M2E1M2I4NDY2MGU5ZmU1ZjA2YjI3MTZkOTA5OTRhZWFjZTVjODFjMA==
|
|
5
|
+
data.tar.gz: !binary |-
|
|
6
|
+
MWVhNjljMjE2NjQ1YWZhZmVkY2YwZWU3NjFkNjBjYWJiMjBmZDE0OA==
|
|
7
|
+
SHA512:
|
|
8
|
+
metadata.gz: !binary |-
|
|
9
|
+
MGFlZGUzOGRmMDcxMzU5NjhlZGUxMWY3MDM3ZTBhNmJmZWM2NjExYmI0MWNl
|
|
10
|
+
ZmYyMzZhNWU1OThhNjc0MzJiYWEyMDQ5YTRhMGMyYjE5YTJhOTM0OTNjMThl
|
|
11
|
+
NGYzZGE4ZDQ2YWI3NzgzNzUyNDY5MTBjMTExYzAyN2Q5ZjE5MDE=
|
|
12
|
+
data.tar.gz: !binary |-
|
|
13
|
+
ZmM0YWZiZDdiM2RiMWY1M2VlOTY4N2UxNjliNWM4MDg1ZDM4NWJiYmI4NjIy
|
|
14
|
+
NTlhOGM1OWUxNDc5M2Y0YWRiMGZiNWIwYTcxMDQ3NmUxOTUyNjU0ZjM3ZjFl
|
|
15
|
+
NWIzMDQzMGUxMmVlMmYyZDUzYWU1M2NjYzhjMDBlYjdhNzc4ZDM=
|
data/CHANGES
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -48,8 +48,9 @@ GEM
|
|
|
48
48
|
rake (>= 0.8.1)
|
|
49
49
|
ruby-debug-ide (0.4.23.beta1)
|
|
50
50
|
rake (>= 0.8.1)
|
|
51
|
-
script_executor (1.
|
|
51
|
+
script_executor (1.5.0)
|
|
52
52
|
highline (~> 1.6)
|
|
53
|
+
json_pure (~> 1.8)
|
|
53
54
|
net-ssh (~> 2.8)
|
|
54
55
|
text-interpolator (~> 1.0)
|
|
55
56
|
showoff (0.9.8.1)
|
|
@@ -88,7 +89,7 @@ DEPENDENCIES
|
|
|
88
89
|
rspec
|
|
89
90
|
ruby-debug-base19x (= 0.11.30.pre15)
|
|
90
91
|
ruby-debug-ide (= 0.4.23.beta1)
|
|
91
|
-
script_executor (~> 1.
|
|
92
|
+
script_executor (~> 1.5)
|
|
92
93
|
showoff
|
|
93
94
|
text-interpolator (~> 1.0)
|
|
94
95
|
thor (~> 0.19)
|
data/linux_provision.gemspec
CHANGED
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
spec.add_runtime_dependency "text-interpolator", ["~> 1.0"]
|
|
22
|
-
spec.add_runtime_dependency "script_executor", ["~> 1.
|
|
22
|
+
spec.add_runtime_dependency "script_executor", ["~> 1.5"]
|
|
23
23
|
spec.add_runtime_dependency "thor", ["~> 0.19"]
|
|
24
24
|
spec.add_runtime_dependency "json_pure", ["~> 1.8"]
|
|
25
25
|
spec.add_development_dependency "gemspec_deps_gen", ["~> 1.1"]
|
metadata
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: linux_provision
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.9.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.9.6
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Alexander Shvets
|
|
@@ -14,7 +13,6 @@ dependencies:
|
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: text-interpolator
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
17
|
- - ~>
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
@@ -22,7 +20,6 @@ dependencies:
|
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
24
|
- - ~>
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
@@ -30,23 +27,20 @@ dependencies:
|
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: script_executor
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
31
|
- - ~>
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
37
|
-
version: '1.
|
|
33
|
+
version: '1.5'
|
|
38
34
|
type: :runtime
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
38
|
- - ~>
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
45
|
-
version: '1.
|
|
40
|
+
version: '1.5'
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
42
|
name: thor
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
45
|
- - ~>
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
@@ -54,7 +48,6 @@ dependencies:
|
|
|
54
48
|
type: :runtime
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
51
|
requirements:
|
|
59
52
|
- - ~>
|
|
60
53
|
- !ruby/object:Gem::Version
|
|
@@ -62,7 +55,6 @@ dependencies:
|
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
|
63
56
|
name: json_pure
|
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
58
|
requirements:
|
|
67
59
|
- - ~>
|
|
68
60
|
- !ruby/object:Gem::Version
|
|
@@ -70,7 +62,6 @@ dependencies:
|
|
|
70
62
|
type: :runtime
|
|
71
63
|
prerelease: false
|
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
65
|
requirements:
|
|
75
66
|
- - ~>
|
|
76
67
|
- !ruby/object:Gem::Version
|
|
@@ -78,7 +69,6 @@ dependencies:
|
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
|
79
70
|
name: gemspec_deps_gen
|
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
72
|
requirements:
|
|
83
73
|
- - ~>
|
|
84
74
|
- !ruby/object:Gem::Version
|
|
@@ -86,7 +76,6 @@ dependencies:
|
|
|
86
76
|
type: :development
|
|
87
77
|
prerelease: false
|
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
79
|
requirements:
|
|
91
80
|
- - ~>
|
|
92
81
|
- !ruby/object:Gem::Version
|
|
@@ -94,7 +83,6 @@ dependencies:
|
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
|
95
84
|
name: gemcutter
|
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
86
|
requirements:
|
|
99
87
|
- - ~>
|
|
100
88
|
- !ruby/object:Gem::Version
|
|
@@ -102,7 +90,6 @@ dependencies:
|
|
|
102
90
|
type: :development
|
|
103
91
|
prerelease: false
|
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
93
|
requirements:
|
|
107
94
|
- - ~>
|
|
108
95
|
- !ruby/object:Gem::Version
|
|
@@ -158,7 +145,6 @@ files:
|
|
|
158
145
|
- docker/supervisord/Dockerfile
|
|
159
146
|
- docker/supervisord/supervisord.conf
|
|
160
147
|
- lib/linux_provision.rb
|
|
161
|
-
- lib/linux_provision/generic_provision.rb
|
|
162
148
|
- lib/linux_provision/linux_provision.rb
|
|
163
149
|
- lib/linux_provision/linux_provision_scripts.sh
|
|
164
150
|
- lib/linux_provision/version.rb
|
|
@@ -186,30 +172,26 @@ files:
|
|
|
186
172
|
homepage: http://github.com/shvets/linux_provision
|
|
187
173
|
licenses:
|
|
188
174
|
- MIT
|
|
175
|
+
metadata: {}
|
|
189
176
|
post_install_message:
|
|
190
177
|
rdoc_options: []
|
|
191
178
|
require_paths:
|
|
192
179
|
- lib
|
|
193
180
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
194
|
-
none: false
|
|
195
181
|
requirements:
|
|
196
182
|
- - ! '>='
|
|
197
183
|
- !ruby/object:Gem::Version
|
|
198
184
|
version: '0'
|
|
199
|
-
segments:
|
|
200
|
-
- 0
|
|
201
|
-
hash: 1955455709235512256
|
|
202
185
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
|
-
none: false
|
|
204
186
|
requirements:
|
|
205
187
|
- - ! '>='
|
|
206
188
|
- !ruby/object:Gem::Version
|
|
207
189
|
version: '0'
|
|
208
190
|
requirements: []
|
|
209
191
|
rubyforge_project:
|
|
210
|
-
rubygems_version:
|
|
192
|
+
rubygems_version: 2.2.2
|
|
211
193
|
signing_key:
|
|
212
|
-
specification_version:
|
|
194
|
+
specification_version: 4
|
|
213
195
|
summary: Library for building Linux computer provisioning
|
|
214
196
|
test_files:
|
|
215
197
|
- spec/linux_install_spec.rb
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
require 'json'
|
|
2
|
-
require "highline"
|
|
3
|
-
|
|
4
|
-
require 'text_interpolator'
|
|
5
|
-
require 'script_executor/executable'
|
|
6
|
-
require 'script_executor/script_locator'
|
|
7
|
-
|
|
8
|
-
class GenericProvision
|
|
9
|
-
include Executable, ScriptLocator
|
|
10
|
-
|
|
11
|
-
attr_reader :interpolator, :env, :script_list, :server_info
|
|
12
|
-
|
|
13
|
-
def initialize parent_class, config_file_name, scripts_file_names
|
|
14
|
-
@interpolator = TextInterpolator.new
|
|
15
|
-
|
|
16
|
-
@env = read_config(config_file_name)
|
|
17
|
-
|
|
18
|
-
@script_list = {}
|
|
19
|
-
|
|
20
|
-
scripts_file_names.each do |name|
|
|
21
|
-
@script_list.merge!(scripts(name))
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
create_script_methods
|
|
25
|
-
|
|
26
|
-
create_thor_methods(parent_class) if parent_class.ancestors.include?(Thor)
|
|
27
|
-
|
|
28
|
-
@server_info = env[:node] ? env[:node] : {}
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
protected
|
|
32
|
-
|
|
33
|
-
def create_script_methods
|
|
34
|
-
script_list.keys.each do |name|
|
|
35
|
-
singleton_class.send(:define_method, name.to_sym) do
|
|
36
|
-
self.send :run, server_info, name.to_s, env
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def create_thor_methods parent_class
|
|
42
|
-
provision = self
|
|
43
|
-
|
|
44
|
-
provision.script_list.each do |name, value|
|
|
45
|
-
title = provision.script_title(value)
|
|
46
|
-
|
|
47
|
-
title = title.nil? ? name : title
|
|
48
|
-
|
|
49
|
-
parent_class.send(:desc, name, title) if parent_class.respond_to?(:desc)
|
|
50
|
-
|
|
51
|
-
parent_class.send(:define_method, name.to_sym) do
|
|
52
|
-
provision.send "#{name}".to_sym
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def read_config config_file_name
|
|
58
|
-
hash = JSON.parse(File.read(config_file_name), :symbolize_names => true)
|
|
59
|
-
|
|
60
|
-
interpolator.interpolate hash
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def terminal
|
|
64
|
-
@terminal ||= HighLine.new
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def ask_password message
|
|
68
|
-
terminal.ask(message) { |q| q.echo = "*" }
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def run server_info, script_name, params
|
|
72
|
-
execute(server_info) { evaluate_script_body(script_list[script_name], params, :string) }
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
def run_command server_info, command
|
|
76
|
-
execute(server_info.merge({script: command}))
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
end
|