logical-construct 0.0.4 → 0.0.5
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.
@@ -12,7 +12,7 @@ module LogicalConstruct
|
|
12
12
|
setting :target_address, nil
|
13
13
|
setting :target_port, 51076
|
14
14
|
runtime_setting :target_url
|
15
|
-
setting :resolutions
|
15
|
+
setting :resolutions
|
16
16
|
runtime_setting :web_resolutions
|
17
17
|
|
18
18
|
def resolve_runtime_configuration
|
@@ -81,7 +81,7 @@ module LogicalConstruct
|
|
81
81
|
setting :target_protocol, "http"
|
82
82
|
setting(:target_address, nil).isnt(:copiable)
|
83
83
|
setting :target_port, 51076
|
84
|
-
setting :resolutions
|
84
|
+
setting :resolutions
|
85
85
|
setting :marshalling_path, "marshall"
|
86
86
|
|
87
87
|
setting(:secret_data, nested {
|
@@ -103,8 +103,8 @@ module LogicalConstruct
|
|
103
103
|
})
|
104
104
|
|
105
105
|
setting :json_attribs_path
|
106
|
-
setting :roles
|
107
|
-
setting :node_attribs
|
106
|
+
setting :roles
|
107
|
+
setting :node_attribs
|
108
108
|
setting :json_attribs, ""
|
109
109
|
|
110
110
|
def default_configuration(core)
|
@@ -113,6 +113,9 @@ module LogicalConstruct
|
|
113
113
|
self.cookbooks.path = "cookbooks"
|
114
114
|
self.secret_data.path = "data-bags/secret"
|
115
115
|
self.normal_data.path = "data-bags"
|
116
|
+
self.resolutions = {}
|
117
|
+
self.roles = {}
|
118
|
+
self.node_attribs = { "run_list" => [] }
|
116
119
|
end
|
117
120
|
|
118
121
|
def resolve_configuration
|
@@ -146,8 +149,11 @@ module LogicalConstruct
|
|
146
149
|
in_namespace do
|
147
150
|
directory marshalling_path
|
148
151
|
|
149
|
-
task :collect, [:ipaddr
|
152
|
+
task :collect, [:ipaddr] do |task, args|
|
150
153
|
self.target_address = args[:ipaddr]
|
154
|
+
end
|
155
|
+
|
156
|
+
task :build_json_attribs, [:role] do |task, args|
|
151
157
|
unless args[:role].nil?
|
152
158
|
self.node_attribs["run_list"] = roles[args[:role]]
|
153
159
|
end
|
@@ -155,6 +161,11 @@ module LogicalConstruct
|
|
155
161
|
resolutions["chef_config:json_attribs"] ||= json_attribs
|
156
162
|
end
|
157
163
|
|
164
|
+
desc "Print attribs (optionally: for :role)"
|
165
|
+
task :inspect_attribs, [:role] => :build_json_attribs do
|
166
|
+
puts json_attribs
|
167
|
+
end
|
168
|
+
|
158
169
|
file secret_data.tarball_path => [marshalling_path] + secret_data.file_list do
|
159
170
|
cmd("tar", "--exclude **/*.sw?", "-czf", secret_data.tarball_path, secret_data.path).must_succeed!
|
160
171
|
end
|
@@ -170,17 +181,24 @@ module LogicalConstruct
|
|
170
181
|
cmd("tar", "--exclude .git", "--exclude **/*.sw?", "-czf", cookbooks.tarball_path, cookbooks.path).must_succeed!
|
171
182
|
end
|
172
183
|
|
173
|
-
manifest = LogicalConstruct::GenerateManifest.new(self, :manifest =>
|
184
|
+
manifest = LogicalConstruct::GenerateManifest.new(self, :manifest =>
|
185
|
+
[
|
186
|
+
cookbooks.tarball_path,
|
187
|
+
secret_data.tarball_path,
|
188
|
+
normal_data.tarball_path,
|
189
|
+
:collect
|
190
|
+
]) do |manifest|
|
174
191
|
manifest.receiving_name = "configuration:Manifest"
|
175
192
|
end
|
176
193
|
|
177
|
-
WebConfigure.new(:web_configure => [:collect, :manifest, cookbooks.tarball_path]) do |task|
|
194
|
+
WebConfigure.new(:web_configure => [:collect, :build_json_attribs, :manifest, cookbooks.tarball_path]) do |task|
|
178
195
|
self.proxy_settings_to(task)
|
179
196
|
task.target_address = proxy_value.target_address
|
180
197
|
end
|
181
198
|
end
|
182
199
|
|
183
|
-
|
200
|
+
desc "Provision :ipaddr with specified configs (optionally: for :role)"
|
201
|
+
task root_task, [:ipaddr, :role] => self[:web_configure]
|
184
202
|
end
|
185
203
|
end
|
186
204
|
end
|
@@ -28,14 +28,13 @@ module LogicalConstruct
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def define
|
31
|
-
|
31
|
+
task base_name => [target_dir, valise.find("templates/" + source_path).full_path, Rake.application.rakefile] do
|
32
32
|
finalize_configuration
|
33
|
-
p extra
|
34
33
|
File::open(target_path, "w") do |file|
|
35
34
|
file.write render(source_path)
|
36
35
|
end
|
37
36
|
end
|
38
|
-
|
37
|
+
task base_name => target_dir
|
39
38
|
task :local_setup => target_path
|
40
39
|
end
|
41
40
|
end
|
@@ -86,7 +85,6 @@ module LogicalConstruct
|
|
86
85
|
end
|
87
86
|
end
|
88
87
|
end
|
89
|
-
desc "Template files to be created on the remote server"
|
90
88
|
task root_task => [rakefile.target_path] + in_namespace(:standalone)
|
91
89
|
task root_task => [initd.target_path] + in_namespace(:standalone)
|
92
90
|
task :local_setup => root_task
|
@@ -13,7 +13,7 @@ module LogicalConstruct
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def define
|
16
|
-
remote_task(:create
|
16
|
+
remote_task(:create) do |task|
|
17
17
|
task.command = cmd "mkdir", "-p", construct_dir
|
18
18
|
end
|
19
19
|
task :remote_groundwork => self[:create]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logical-construct
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: corundum
|
16
|
-
requirement: &
|
16
|
+
requirement: &75949720 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.0.1
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *75949720
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: mattock
|
27
|
-
requirement: &
|
27
|
+
requirement: &75947710 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.3.4
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *75947710
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sinatra
|
38
|
-
requirement: &
|
38
|
+
requirement: &75945230 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.3.3
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *75945230
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rest-client
|
49
|
-
requirement: &
|
49
|
+
requirement: &75955280 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.6.7
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *75955280
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: nokogiri
|
60
|
-
requirement: &
|
60
|
+
requirement: &76199670 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -69,10 +69,10 @@ dependencies:
|
|
69
69
|
- 4
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
|
-
version_requirements: *
|
72
|
+
version_requirements: *76199670
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: json
|
75
|
-
requirement: &
|
75
|
+
requirement: &76197300 !ruby/object:Gem::Requirement
|
76
76
|
none: true
|
77
77
|
requirements:
|
78
78
|
- - ! '>='
|
@@ -80,7 +80,7 @@ dependencies:
|
|
80
80
|
version: '0'
|
81
81
|
type: :runtime
|
82
82
|
prerelease: false
|
83
|
-
version_requirements: *
|
83
|
+
version_requirements: *76197300
|
84
84
|
description: ! ' Like Vagrant? Missing AWS? Here you go. Limited Rakefiles to
|
85
85
|
do something like that.
|
86
86
|
|
@@ -144,7 +144,7 @@ rdoc_options:
|
|
144
144
|
- --main
|
145
145
|
- doc/README
|
146
146
|
- --title
|
147
|
-
- logical-construct-0.0.
|
147
|
+
- logical-construct-0.0.5 RDoc
|
148
148
|
require_paths:
|
149
149
|
- lib/
|
150
150
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -155,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
155
|
version: '0'
|
156
156
|
segments:
|
157
157
|
- 0
|
158
|
-
hash: -
|
158
|
+
hash: -522629425
|
159
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|