corl 0.5.6 → 0.5.7
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 +4 -4
- data/.gitignore +10 -1
- data/Gemfile +1 -0
- data/Gemfile.lock +4 -0
- data/README.rdoc +125 -517
- data/Rakefile +57 -0
- data/VERSION +1 -1
- data/bootstrap/os/ubuntu/00_base.sh +10 -7
- data/bootstrap/os/ubuntu/05_ruby.sh +4 -4
- data/corl.gemspec +32 -5
- data/info/AUTOMATION.rdoc +5 -0
- data/info/INSTALLATION.rdoc +163 -0
- data/info/PACKAGING.rdoc +171 -0
- data/info/PLUGINS.rdoc +57 -0
- data/info/TODO.rdoc +27 -0
- data/lib/CORL/configuration/file.rb +2 -2
- data/lib/CORL/machine/docker.rb +327 -0
- data/lib/CORL/machine/vagrant.rb +142 -107
- data/lib/CORL/node/docker.rb +269 -0
- data/lib/CORL/node/vagrant.rb +23 -0
- data/lib/CORL/provisioner/puppetnode.rb +52 -27
- data/lib/core/facade.rb +36 -34
- data/lib/core/mixin/builder.rb +44 -44
- data/lib/core/mixin/machine/ssh.rb +34 -34
- data/lib/core/mod/vagrant.rb +32 -0
- data/lib/core/plugin/cloud_action.rb +1 -1
- data/lib/core/plugin/machine.rb +85 -85
- data/lib/core/plugin/network.rb +23 -9
- data/lib/core/plugin/node.rb +10 -7
- data/lib/core/plugin/provisioner.rb +3 -3
- data/lib/core/vagrant/action.rb +15 -13
- data/lib/core/vagrant/actions/include_overrides.rb +17 -0
- data/lib/core/vagrant/actions/init_keys.rb +9 -5
- data/lib/core/vagrant/commands/launcher.rb +1 -1
- data/lib/core/vagrant/config.rb +343 -143
- data/lib/core/vagrant/plugins.rb +14 -14
- data/lib/corl.rb +3 -7
- data/lib/nucleon/action/node/provision.rb +15 -4
- data/lib/nucleon/action/node/seed.rb +2 -2
- data/lib/nucleon/extension/vagrant.rb +30 -0
- data/locales/en.yml +5 -0
- data/rdoc/site/0.5.7/README.rdoc +595 -0
- data/rdoc/site/0.5.7/info/AUTOMATION.rdoc +382 -0
- data/rdoc/site/0.5.7/info/INSTALLATION.rdoc +543 -0
- data/rdoc/site/0.5.7/info/PACKAGES.rdoc +556 -0
- data/rdoc/site/0.5.7/info/PACKAGING.rdoc +563 -0
- data/rdoc/site/0.5.7/info/PLUGINS.rdoc +534 -0
- data/rdoc/site/0.5.7/info/TODO.rdoc +412 -0
- data/tmp/README.rdoc +217 -0
- data/tmp/info/AUTOMATION.rdoc +6 -0
- data/tmp/info/INSTALLATION.rdoc +158 -0
- data/tmp/info/PACKAGES.rdoc +177 -0
- data/tmp/info/PACKAGING.rdoc +184 -0
- data/tmp/info/PLUGINS.rdoc +129 -0
- data/tmp/info/README.rdoc +217 -0
- data/tmp/info/TODO.rdoc +36 -0
- metadata +41 -3
- data/TODO.rdoc +0 -12
@@ -0,0 +1,556 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
6
|
+
|
7
|
+
<title>PACKAGES - corl 0.5.7</title>
|
8
|
+
|
9
|
+
<link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
|
10
|
+
|
11
|
+
<script type="text/javascript">
|
12
|
+
var rdoc_rel_prefix = "../";
|
13
|
+
</script>
|
14
|
+
|
15
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
16
|
+
<script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
|
17
|
+
<script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
|
18
|
+
<script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
|
19
|
+
<script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
|
20
|
+
<script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
|
21
|
+
|
22
|
+
|
23
|
+
<body class="file">
|
24
|
+
<nav id="metadata">
|
25
|
+
<nav id="home-section" class="section">
|
26
|
+
<h3 class="section-header">
|
27
|
+
<a href="../index.html">Home</a>
|
28
|
+
<a href="../table_of_contents.html#classes">Classes</a>
|
29
|
+
<a href="../table_of_contents.html#methods">Methods</a>
|
30
|
+
</h3>
|
31
|
+
</nav>
|
32
|
+
|
33
|
+
|
34
|
+
<nav id="search-section" class="section project-section" class="initially-hidden">
|
35
|
+
<form action="#" method="get" accept-charset="utf-8">
|
36
|
+
<h3 class="section-header">
|
37
|
+
<input type="text" name="search" placeholder="Search" id="search-field"
|
38
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
39
|
+
</h3>
|
40
|
+
</form>
|
41
|
+
|
42
|
+
<ul id="search-results" class="initially-hidden"></ul>
|
43
|
+
</nav>
|
44
|
+
|
45
|
+
|
46
|
+
<div id="project-metadata">
|
47
|
+
<nav id="fileindex-section" class="section project-section">
|
48
|
+
<h3 class="section-header">Pages</h3>
|
49
|
+
|
50
|
+
<ul>
|
51
|
+
|
52
|
+
<li class="file"><a href="../README_rdoc.html">README</a>
|
53
|
+
|
54
|
+
<li class="file"><a href="../info/AUTOMATION_rdoc.html">AUTOMATION</a>
|
55
|
+
|
56
|
+
<li class="file"><a href="../info/INSTALLATION_rdoc.html">INSTALLATION</a>
|
57
|
+
|
58
|
+
<li class="file"><a href="../info/PACKAGES_rdoc.html">PACKAGES</a>
|
59
|
+
|
60
|
+
<li class="file"><a href="../info/PLUGINS_rdoc.html">PLUGINS</a>
|
61
|
+
|
62
|
+
<li class="file"><a href="../info/TODO_rdoc.html">TODO</a>
|
63
|
+
|
64
|
+
</ul>
|
65
|
+
</nav>
|
66
|
+
|
67
|
+
<nav id="classindex-section" class="section project-section">
|
68
|
+
<h3 class="section-header">Class and Module Index</h3>
|
69
|
+
|
70
|
+
<ul class="link-list">
|
71
|
+
|
72
|
+
<li><a href="../CORL.html">CORL</a>
|
73
|
+
|
74
|
+
<li><a href="../CORL/Build.html">CORL::Build</a>
|
75
|
+
|
76
|
+
<li><a href="../CORL/Builder.html">CORL::Builder</a>
|
77
|
+
|
78
|
+
<li><a href="../CORL/Builder/Identity.html">CORL::Builder::Identity</a>
|
79
|
+
|
80
|
+
<li><a href="../CORL/Builder/Package.html">CORL::Builder::Package</a>
|
81
|
+
|
82
|
+
<li><a href="../CORL/Builder/Project.html">CORL::Builder::Project</a>
|
83
|
+
|
84
|
+
<li><a href="../CORL/Configuration.html">CORL::Configuration</a>
|
85
|
+
|
86
|
+
<li><a href="../CORL/Configuration/File.html">CORL::Configuration::File</a>
|
87
|
+
|
88
|
+
<li><a href="../CORL/Errors.html">CORL::Errors</a>
|
89
|
+
|
90
|
+
<li><a href="../CORL/Facade.html">CORL::Facade</a>
|
91
|
+
|
92
|
+
<li><a href="../CORL/Machine.html">CORL::Machine</a>
|
93
|
+
|
94
|
+
<li><a href="../CORL/Machine/AWS.html">CORL::Machine::AWS</a>
|
95
|
+
|
96
|
+
<li><a href="../CORL/Machine/Docker.html">CORL::Machine::Docker</a>
|
97
|
+
|
98
|
+
<li><a href="../CORL/Machine/FogBase.html">CORL::Machine::FogBase</a>
|
99
|
+
|
100
|
+
<li><a href="../CORL/Machine/Physical.html">CORL::Machine::Physical</a>
|
101
|
+
|
102
|
+
<li><a href="../CORL/Machine/Rackspace.html">CORL::Machine::Rackspace</a>
|
103
|
+
|
104
|
+
<li><a href="../CORL/Machine/Vagrant.html">CORL::Machine::Vagrant</a>
|
105
|
+
|
106
|
+
<li><a href="../CORL/Mixin.html">CORL::Mixin</a>
|
107
|
+
|
108
|
+
<li><a href="../CORL/Mixin/Action.html">CORL::Mixin::Action</a>
|
109
|
+
|
110
|
+
<li><a href="../CORL/Mixin/Action/Keypair.html">CORL::Mixin::Action::Keypair</a>
|
111
|
+
|
112
|
+
<li><a href="../CORL/Mixin/Action/Registration.html">CORL::Mixin::Action::Registration</a>
|
113
|
+
|
114
|
+
<li><a href="../CORL/Mixin/Builder.html">CORL::Mixin::Builder</a>
|
115
|
+
|
116
|
+
<li><a href="../CORL/Mixin/Builder/Global.html">CORL::Mixin::Builder::Global</a>
|
117
|
+
|
118
|
+
<li><a href="../CORL/Mixin/Builder/Instance.html">CORL::Mixin::Builder::Instance</a>
|
119
|
+
|
120
|
+
<li><a href="../CORL/Mixin/Lookup.html">CORL::Mixin::Lookup</a>
|
121
|
+
|
122
|
+
<li><a href="../CORL/Mixin/Machine.html">CORL::Mixin::Machine</a>
|
123
|
+
|
124
|
+
<li><a href="../CORL/Mixin/Machine/SSH.html">CORL::Mixin::Machine::SSH</a>
|
125
|
+
|
126
|
+
<li><a href="../CORL/Mixin/Macro.html">CORL::Mixin::Macro</a>
|
127
|
+
|
128
|
+
<li><a href="../CORL/Mixin/Macro/NetworkSettings.html">CORL::Mixin::Macro::NetworkSettings</a>
|
129
|
+
|
130
|
+
<li><a href="../CORL/Network.html">CORL::Network</a>
|
131
|
+
|
132
|
+
<li><a href="../CORL/Network/CORL.html">CORL::Network::CORL</a>
|
133
|
+
|
134
|
+
<li><a href="../CORL/Node.html">CORL::Node</a>
|
135
|
+
|
136
|
+
<li><a href="../CORL/Node/AWS.html">CORL::Node::AWS</a>
|
137
|
+
|
138
|
+
<li><a href="../CORL/Node/Docker.html">CORL::Node::Docker</a>
|
139
|
+
|
140
|
+
<li><a href="../CORL/Node/FogBase.html">CORL::Node::FogBase</a>
|
141
|
+
|
142
|
+
<li><a href="../CORL/Node/Local.html">CORL::Node::Local</a>
|
143
|
+
|
144
|
+
<li><a href="../CORL/Node/Rackspace.html">CORL::Node::Rackspace</a>
|
145
|
+
|
146
|
+
<li><a href="../CORL/Node/Vagrant.html">CORL::Node::Vagrant</a>
|
147
|
+
|
148
|
+
<li><a href="../CORL/Plugin.html">CORL::Plugin</a>
|
149
|
+
|
150
|
+
<li><a href="../CORL/Plugin/Builder.html">CORL::Plugin::Builder</a>
|
151
|
+
|
152
|
+
<li><a href="../CORL/Plugin/Configuration.html">CORL::Plugin::Configuration</a>
|
153
|
+
|
154
|
+
<li><a href="../CORL/Plugin/Machine.html">CORL::Plugin::Machine</a>
|
155
|
+
|
156
|
+
<li><a href="../CORL/Plugin/Network.html">CORL::Plugin::Network</a>
|
157
|
+
|
158
|
+
<li><a href="../CORL/Plugin/Node.html">CORL::Plugin::Node</a>
|
159
|
+
|
160
|
+
<li><a href="../CORL/Plugin/Provisioner.html">CORL::Plugin::Provisioner</a>
|
161
|
+
|
162
|
+
<li><a href="../CORL/Provisioner.html">CORL::Provisioner</a>
|
163
|
+
|
164
|
+
<li><a href="../CORL/Provisioner/Puppetnode.html">CORL::Provisioner::Puppetnode</a>
|
165
|
+
|
166
|
+
<li><a href="../CORL/Util.html">CORL::Util</a>
|
167
|
+
|
168
|
+
<li><a href="../CORL/Util/Puppet.html">CORL::Util::Puppet</a>
|
169
|
+
|
170
|
+
<li><a href="../CORL/Util/Puppet/Resource.html">CORL::Util::Puppet::Resource</a>
|
171
|
+
|
172
|
+
<li><a href="../CORL/Util/Puppet/ResourceGroup.html">CORL::Util::Puppet::ResourceGroup</a>
|
173
|
+
|
174
|
+
<li><a href="../CORL/Vagrant.html">CORL::Vagrant</a>
|
175
|
+
|
176
|
+
<li><a href="../CORL/Vagrant/Config.html">CORL::Vagrant::Config</a>
|
177
|
+
|
178
|
+
<li><a href="../Nucleon.html">Nucleon</a>
|
179
|
+
|
180
|
+
<li><a href="../Nucleon/Action.html">Nucleon::Action</a>
|
181
|
+
|
182
|
+
<li><a href="../Nucleon/Action/Cloud.html">Nucleon::Action::Cloud</a>
|
183
|
+
|
184
|
+
<li><a href="../Nucleon/Action/Cloud/Config.html">Nucleon::Action::Cloud::Config</a>
|
185
|
+
|
186
|
+
<li><a href="../Nucleon/Action/Cloud/Create.html">Nucleon::Action::Cloud::Create</a>
|
187
|
+
|
188
|
+
<li><a href="../Nucleon/Action/Cloud/Images.html">Nucleon::Action::Cloud::Images</a>
|
189
|
+
|
190
|
+
<li><a href="../Nucleon/Action/Cloud/Inspect.html">Nucleon::Action::Cloud::Inspect</a>
|
191
|
+
|
192
|
+
<li><a href="../Nucleon/Action/Cloud/Machines.html">Nucleon::Action::Cloud::Machines</a>
|
193
|
+
|
194
|
+
<li><a href="../Nucleon/Action/Cloud/Regions.html">Nucleon::Action::Cloud::Regions</a>
|
195
|
+
|
196
|
+
<li><a href="../Nucleon/Action/Cloud/Remote.html">Nucleon::Action::Cloud::Remote</a>
|
197
|
+
|
198
|
+
<li><a href="../Nucleon/Action/Cloud/Settings.html">Nucleon::Action::Cloud::Settings</a>
|
199
|
+
|
200
|
+
<li><a href="../Nucleon/Action/Cloud/Vagrantfile.html">Nucleon::Action::Cloud::Vagrantfile</a>
|
201
|
+
|
202
|
+
<li><a href="../Nucleon/Action/Node.html">Nucleon::Action::Node</a>
|
203
|
+
|
204
|
+
<li><a href="../Nucleon/Action/Node/Authorize.html">Nucleon::Action::Node::Authorize</a>
|
205
|
+
|
206
|
+
<li><a href="../Nucleon/Action/Node/Bootstrap.html">Nucleon::Action::Node::Bootstrap</a>
|
207
|
+
|
208
|
+
<li><a href="../Nucleon/Action/Node/Build.html">Nucleon::Action::Node::Build</a>
|
209
|
+
|
210
|
+
<li><a href="../Nucleon/Action/Node/Cache.html">Nucleon::Action::Node::Cache</a>
|
211
|
+
|
212
|
+
<li><a href="../Nucleon/Action/Node/Destroy.html">Nucleon::Action::Node::Destroy</a>
|
213
|
+
|
214
|
+
<li><a href="../Nucleon/Action/Node/Exec.html">Nucleon::Action::Node::Exec</a>
|
215
|
+
|
216
|
+
<li><a href="../Nucleon/Action/Node/Fact.html">Nucleon::Action::Node::Fact</a>
|
217
|
+
|
218
|
+
<li><a href="../Nucleon/Action/Node/Facts.html">Nucleon::Action::Node::Facts</a>
|
219
|
+
|
220
|
+
<li><a href="../Nucleon/Action/Node/Group.html">Nucleon::Action::Node::Group</a>
|
221
|
+
|
222
|
+
<li><a href="../Nucleon/Action/Node/Groups.html">Nucleon::Action::Node::Groups</a>
|
223
|
+
|
224
|
+
<li><a href="../Nucleon/Action/Node/IP.html">Nucleon::Action::Node::IP</a>
|
225
|
+
|
226
|
+
<li><a href="../Nucleon/Action/Node/Identity.html">Nucleon::Action::Node::Identity</a>
|
227
|
+
|
228
|
+
<li><a href="../Nucleon/Action/Node/Image.html">Nucleon::Action::Node::Image</a>
|
229
|
+
|
230
|
+
<li><a href="../Nucleon/Action/Node/Keypair.html">Nucleon::Action::Node::Keypair</a>
|
231
|
+
|
232
|
+
<li><a href="../Nucleon/Action/Node/Lookup.html">Nucleon::Action::Node::Lookup</a>
|
233
|
+
|
234
|
+
<li><a href="../Nucleon/Action/Node/Provision.html">Nucleon::Action::Node::Provision</a>
|
235
|
+
|
236
|
+
<li><a href="../Nucleon/Action/Node/Reboot.html">Nucleon::Action::Node::Reboot</a>
|
237
|
+
|
238
|
+
<li><a href="../Nucleon/Action/Node/Revoke.html">Nucleon::Action::Node::Revoke</a>
|
239
|
+
|
240
|
+
<li><a href="../Nucleon/Action/Node/SSH.html">Nucleon::Action::Node::SSH</a>
|
241
|
+
|
242
|
+
<li><a href="../Nucleon/Action/Node/Seed.html">Nucleon::Action::Node::Seed</a>
|
243
|
+
|
244
|
+
<li><a href="../Nucleon/Action/Node/Spawn.html">Nucleon::Action::Node::Spawn</a>
|
245
|
+
|
246
|
+
<li><a href="../Nucleon/Action/Node/Start.html">Nucleon::Action::Node::Start</a>
|
247
|
+
|
248
|
+
<li><a href="../Nucleon/Action/Node/Status.html">Nucleon::Action::Node::Status</a>
|
249
|
+
|
250
|
+
<li><a href="../Nucleon/Action/Node/Stop.html">Nucleon::Action::Node::Stop</a>
|
251
|
+
|
252
|
+
<li><a href="../Nucleon/Action/Plugin.html">Nucleon::Action::Plugin</a>
|
253
|
+
|
254
|
+
<li><a href="../Nucleon/Action/Plugin/Create.html">Nucleon::Action::Plugin::Create</a>
|
255
|
+
|
256
|
+
<li><a href="../Nucleon/Action/Plugin/List.html">Nucleon::Action::Plugin::List</a>
|
257
|
+
|
258
|
+
<li><a href="../Nucleon/Action/Plugins.html">Nucleon::Action::Plugins</a>
|
259
|
+
|
260
|
+
<li><a href="../Nucleon/Config.html">Nucleon::Config</a>
|
261
|
+
|
262
|
+
<li><a href="../Nucleon/Event.html">Nucleon::Event</a>
|
263
|
+
|
264
|
+
<li><a href="../Nucleon/Event/Puppet.html">Nucleon::Event::Puppet</a>
|
265
|
+
|
266
|
+
<li><a href="../Nucleon/Extension.html">Nucleon::Extension</a>
|
267
|
+
|
268
|
+
<li><a href="../Nucleon/Extension/CorlConfig.html">Nucleon::Extension::CorlConfig</a>
|
269
|
+
|
270
|
+
<li><a href="../Nucleon/Extension/Vagrant.html">Nucleon::Extension::Vagrant</a>
|
271
|
+
|
272
|
+
<li><a href="../Nucleon/Plugin.html">Nucleon::Plugin</a>
|
273
|
+
|
274
|
+
<li><a href="../Nucleon/Plugin/Agent.html">Nucleon::Plugin::Agent</a>
|
275
|
+
|
276
|
+
<li><a href="../Nucleon/Plugin/Base.html">Nucleon::Plugin::Base</a>
|
277
|
+
|
278
|
+
<li><a href="../Nucleon/Plugin/CloudAction.html">Nucleon::Plugin::CloudAction</a>
|
279
|
+
|
280
|
+
<li><a href="../Nucleon/Template.html">Nucleon::Template</a>
|
281
|
+
|
282
|
+
<li><a href="../Nucleon/Template/Environment.html">Nucleon::Template::Environment</a>
|
283
|
+
|
284
|
+
<li><a href="../VagrantPlugins.html">VagrantPlugins</a>
|
285
|
+
|
286
|
+
<li><a href="../VagrantPlugins/CORL.html">VagrantPlugins::CORL</a>
|
287
|
+
|
288
|
+
<li><a href="../VagrantPlugins/CORL/Action.html">VagrantPlugins::CORL::Action</a>
|
289
|
+
|
290
|
+
<li><a href="../VagrantPlugins/CORL/Action/DeleteCache.html">VagrantPlugins::CORL::Action::DeleteCache</a>
|
291
|
+
|
292
|
+
<li><a href="../VagrantPlugins/CORL/Action/IncludeOverrides.html">VagrantPlugins::CORL::Action::IncludeOverrides</a>
|
293
|
+
|
294
|
+
<li><a href="../VagrantPlugins/CORL/Action/InitKeys.html">VagrantPlugins::CORL::Action::InitKeys</a>
|
295
|
+
|
296
|
+
<li><a href="../VagrantPlugins/CORL/Action/LinkNetwork.html">VagrantPlugins::CORL::Action::LinkNetwork</a>
|
297
|
+
|
298
|
+
<li><a href="../VagrantPlugins/CORL/BaseAction.html">VagrantPlugins::CORL::BaseAction</a>
|
299
|
+
|
300
|
+
<li><a href="../VagrantPlugins/CORL/Command.html">VagrantPlugins::CORL::Command</a>
|
301
|
+
|
302
|
+
<li><a href="../VagrantPlugins/CORL/Command/Launcher.html">VagrantPlugins::CORL::Command::Launcher</a>
|
303
|
+
|
304
|
+
<li><a href="../VagrantPlugins/CORL/Config.html">VagrantPlugins::CORL::Config</a>
|
305
|
+
|
306
|
+
<li><a href="../VagrantPlugins/CORL/Config/CORL.html">VagrantPlugins::CORL::Config::CORL</a>
|
307
|
+
|
308
|
+
<li><a href="../VagrantPlugins/CORL/Plugin.html">VagrantPlugins::CORL::Plugin</a>
|
309
|
+
|
310
|
+
<li><a href="../VagrantPlugins/CORL/Provisioner.html">VagrantPlugins::CORL::Provisioner</a>
|
311
|
+
|
312
|
+
<li><a href="../VagrantPlugins/CORL/Provisioner/CORL.html">VagrantPlugins::CORL::Provisioner::CORL</a>
|
313
|
+
|
314
|
+
<li><a href="../VagrantPlugins/CommunicatorSSH.html">VagrantPlugins::CommunicatorSSH</a>
|
315
|
+
|
316
|
+
<li><a href="../VagrantPlugins/CommunicatorSSH/Communicator.html">VagrantPlugins::CommunicatorSSH::Communicator</a>
|
317
|
+
|
318
|
+
<li><a href="../Puppet.html">Puppet</a>
|
319
|
+
|
320
|
+
<li><a href="../Puppet/DataBinding.html">Puppet::DataBinding</a>
|
321
|
+
|
322
|
+
<li><a href="../Puppet/DataBinding/Corl.html">Puppet::DataBinding::Corl</a>
|
323
|
+
|
324
|
+
<li><a href="../Puppet/Indirector.html">Puppet::Indirector</a>
|
325
|
+
|
326
|
+
<li><a href="../Puppet/Indirector/Corl.html">Puppet::Indirector::Corl</a>
|
327
|
+
|
328
|
+
<li><a href="../Puppet/Parser.html">Puppet::Parser</a>
|
329
|
+
|
330
|
+
<li><a href="../Puppet/Parser/Functions.html">Puppet::Parser::Functions</a>
|
331
|
+
|
332
|
+
<li><a href="../Fog.html">Fog</a>
|
333
|
+
|
334
|
+
<li><a href="../Fog/Compute.html">Fog::Compute</a>
|
335
|
+
|
336
|
+
<li><a href="../Fog/Compute/AWS.html">Fog::Compute::AWS</a>
|
337
|
+
|
338
|
+
<li><a href="../Fog/Compute/AWS/Server.html">Fog::Compute::AWS::Server</a>
|
339
|
+
|
340
|
+
<li><a href="../Fog/Compute/RackspaceV2.html">Fog::Compute::RackspaceV2</a>
|
341
|
+
|
342
|
+
<li><a href="../Fog/Compute/RackspaceV2/Server.html">Fog::Compute::RackspaceV2::Server</a>
|
343
|
+
|
344
|
+
<li><a href="../Vagrant.html">Vagrant</a>
|
345
|
+
|
346
|
+
<li><a href="../Vagrant/Config.html">Vagrant::Config</a>
|
347
|
+
|
348
|
+
<li><a href="../Vagrant/Config/Loader.html">Vagrant::Config::Loader</a>
|
349
|
+
|
350
|
+
<li><a href="../Vagrant/Vagrantfile.html">Vagrant::Vagrantfile</a>
|
351
|
+
|
352
|
+
<li><a href="../Hiera.html">Hiera</a>
|
353
|
+
|
354
|
+
<li><a href="../Hiera/Backend.html">Hiera::Backend</a>
|
355
|
+
|
356
|
+
<li><a href="../Hiera/Corl_logger.html">Hiera::Corl_logger</a>
|
357
|
+
|
358
|
+
<li><a href="../Object.html">Object</a>
|
359
|
+
|
360
|
+
</ul>
|
361
|
+
</nav>
|
362
|
+
|
363
|
+
</div>
|
364
|
+
</nav>
|
365
|
+
|
366
|
+
<div id="documentation" class="description">
|
367
|
+
|
368
|
+
<h1 id="label-CORL+packaging+system"><a href="../CORL.html">CORL</a> packaging system</h1>
|
369
|
+
|
370
|
+
<p><a href="../CORL.html">CORL</a> provides a middle layer between
|
371
|
+
configuration management tools like <a href="../Puppet.html">Puppet</a> and
|
372
|
+
automation systems and processes. <a href="../CORL.html">CORL</a> can be
|
373
|
+
extended in individual projects and easily merge libraries of bundled
|
374
|
+
plugin interfaces and providers.</p>
|
375
|
+
|
376
|
+
<h4 id="label-Networks">Networks</h4>
|
377
|
+
|
378
|
+
<p>At the very top level in <a href="../CORL.html">CORL</a> there is a network
|
379
|
+
project. Think of it as a parent container for everything necessary to
|
380
|
+
grow a network of machines. By default the network is a shared Git
|
381
|
+
repository but the project interface is pluggable for individual needs.</p>
|
382
|
+
|
383
|
+
<p>Networks bundle:</p>
|
384
|
+
<ul><li>
|
385
|
+
<p>Network and node group settings</p>
|
386
|
+
</li><li>
|
387
|
+
<p>Contexual configurations</p>
|
388
|
+
</li><li>
|
389
|
+
<p>Build definitions (packages, identities, projects, etc…)</p>
|
390
|
+
</li><li>
|
391
|
+
<p>Node data objects</p>
|
392
|
+
</li><li>
|
393
|
+
<p>Shared authentication information</p>
|
394
|
+
</li><li>
|
395
|
+
<p><a href="../CORL.html">CORL</a> plugin interface implementations</p>
|
396
|
+
</li><li>
|
397
|
+
<p>Any other shared files</p>
|
398
|
+
</li></ul>
|
399
|
+
|
400
|
+
<p>To see an example of a network project, <a
|
401
|
+
href="https://github.com/coralnexus/network-template">checkout our starter
|
402
|
+
template</a>.</p>
|
403
|
+
|
404
|
+
<h4 id="label-Packages">Packages</h4>
|
405
|
+
|
406
|
+
<p>Packages are revision controlled projects (Git) that contain reusable
|
407
|
+
infrastructure components. Packages are like lego blocks and can be
|
408
|
+
derived from combinations of other packages.</p>
|
409
|
+
|
410
|
+
<p><img
|
411
|
+
src="https://raw.githubusercontent.com/coralnexus/corl/0.5/images/package.png"
|
412
|
+
/></p>
|
413
|
+
|
414
|
+
<p>Packages define a corl.{json|yaml} file in the root directory that contains
|
415
|
+
build directives targeted at various environments, like development,
|
416
|
+
staging, qa, and production. We internally lock qa and production build
|
417
|
+
revisions so we get standardized environments.</p>
|
418
|
+
|
419
|
+
<p>Packages bundle:</p>
|
420
|
+
<ul><li>
|
421
|
+
<p>Build definitions (packages, provisioner modules, projects, identities,
|
422
|
+
etc…)</p>
|
423
|
+
</li><li>
|
424
|
+
<p>Default configurations (<a href="../Puppet.html">Puppet</a> by default)</p>
|
425
|
+
</li><li>
|
426
|
+
<p>Provisioner gateways (<a href="../Puppet.html">Puppet</a> by default)</p>
|
427
|
+
</li><li>
|
428
|
+
<p>Provisioner profiles (<a href="../Puppet.html">Puppet</a> by default)</p>
|
429
|
+
</li></ul>
|
430
|
+
|
431
|
+
<p>Example build directive: (tracks <strong>master</strong> by default)</p>
|
432
|
+
|
433
|
+
<p>> {package directory}/<strong>corl.json</strong></p>
|
434
|
+
|
435
|
+
<pre>{
|
436
|
+
"builders": {
|
437
|
+
"package": {
|
438
|
+
"environment": {
|
439
|
+
"production": {
|
440
|
+
"coralnexus__core": "github:::coralnexus/corl-package-core[04eaa0f855c7824c58d43f0dd7b1370fa16157d6]"
|
441
|
+
},
|
442
|
+
"qa": {
|
443
|
+
"use": "production"
|
444
|
+
},
|
445
|
+
"default": {
|
446
|
+
"coralnexus__core": "github:::coralnexus/corl-package-core"
|
447
|
+
}
|
448
|
+
}
|
449
|
+
}
|
450
|
+
}
|
451
|
+
}</pre>
|
452
|
+
|
453
|
+
<p>This directive basically defines a dependency on the coralnexus core
|
454
|
+
package so that when this package is built on a system and profiles are
|
455
|
+
loaded the dependency and it's profiles are loaded first. Different
|
456
|
+
environments can track different branches of the same projects or include
|
457
|
+
different projects based on the state of the environment. Above we just
|
458
|
+
lock in a constant revision when in a production or QA environment.</p>
|
459
|
+
|
460
|
+
<p>Example <a href="../Puppet.html">Puppet</a> node profile: (Varnish proxy
|
461
|
+
server)</p>
|
462
|
+
|
463
|
+
<p>> {package directory}/<strong>profiles/varnish_server.pp</strong></p>
|
464
|
+
|
465
|
+
<pre class="ruby"><span class="ruby-keyword">class</span> <span class="ruby-identifier">vendor_name</span><span class="ruby-operator">::</span><span class="ruby-identifier">package_namespace</span><span class="ruby-operator">::</span><span class="ruby-identifier">profile</span><span class="ruby-operator">::</span><span class="ruby-identifier">varnish_server</span> {
|
466
|
+
<span class="ruby-identifier">$base_name</span> = <span class="ruby-string">'coralnexus_varnish_server'</span>
|
467
|
+
<span class="ruby-identifier">anchor</span> { <span class="ruby-identifier">$base_name</span><span class="ruby-operator">:</span> }
|
468
|
+
<span class="ruby-comment">#---------------------------------------------------------------------------</span>
|
469
|
+
<span class="ruby-comment"># Required systems</span>
|
470
|
+
<span class="ruby-identifier">class</span> { <span class="ruby-string">'varnish'</span><span class="ruby-operator">:</span> <span class="ruby-identifier">require</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Anchor</span>[<span class="ruby-identifier">$base_name</span>] }
|
471
|
+
<span class="ruby-identifier">class</span> { <span class="ruby-string">'varnish::vcl'</span><span class="ruby-operator">:</span> <span class="ruby-identifier">require</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Class</span>[<span class="ruby-string">'varnish'</span>] }
|
472
|
+
<span class="ruby-comment">#---------------------------------------------------------------------------</span>
|
473
|
+
<span class="ruby-comment"># Optional systems</span>
|
474
|
+
<span class="ruby-identifier">corl</span><span class="ruby-operator">::</span><span class="ruby-identifier">include</span> { <span class="ruby-string">'varnish_server_classes'</span><span class="ruby-operator">:</span> <span class="ruby-identifier">require</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Class</span>[<span class="ruby-string">'varnish::vcl'</span>] }
|
475
|
+
<span class="ruby-comment">#---------------------------------------------------------------------------</span>
|
476
|
+
<span class="ruby-comment"># Resources</span>
|
477
|
+
<span class="ruby-identifier">corl_resources</span>(<span class="ruby-string">'varnish::acl'</span>, <span class="ruby-string">'varnish_server::acl'</span>, <span class="ruby-string">'varnish_server::acl_defaults'</span>)
|
478
|
+
<span class="ruby-identifier">corl_resources</span>(<span class="ruby-string">'varnish::probe'</span>, <span class="ruby-string">'varnish_server::probe'</span>, <span class="ruby-string">'varnish_server::probe_defaults'</span>)
|
479
|
+
<span class="ruby-identifier">corl_resources</span>(<span class="ruby-string">'varnish::backend'</span>, <span class="ruby-string">'varnish_server::backend'</span>, <span class="ruby-string">'varnish_server::backend_defaults'</span>)
|
480
|
+
<span class="ruby-identifier">corl_resources</span>(<span class="ruby-string">'varnish::director'</span>, <span class="ruby-string">'varnish_server::director'</span>, <span class="ruby-string">'varnish_server::director_defaults'</span>)
|
481
|
+
<span class="ruby-identifier">corl_resources</span>(<span class="ruby-string">'varnish::selector'</span>, <span class="ruby-string">'varnish_server::selector'</span>, <span class="ruby-string">'varnish_server::selector_defaults'</span>)
|
482
|
+
}
|
483
|
+
</pre>
|
484
|
+
|
485
|
+
<p>Example provisioner directive: (tracks <strong>master</strong> by default)</p>
|
486
|
+
|
487
|
+
<p>> {package directory}/<strong>corl.json</strong></p>
|
488
|
+
|
489
|
+
<pre>{
|
490
|
+
"provisioners": {
|
491
|
+
"puppetnode": {
|
492
|
+
"vendor_name::package_namespace": {
|
493
|
+
"varnish_server": {
|
494
|
+
"environment": {
|
495
|
+
"production": {
|
496
|
+
"modules": {
|
497
|
+
"varnish": "github:::maxchk/puppet-varnish[b9846d1b35e87a45c98213fddfe71fa0a6f3b31c]",
|
498
|
+
"varnish_drupal": "github:::coralnexus/puppet-varnish_drupal[b1f8ecd9be5144d642d7717429a3652234b5f0d9]"
|
499
|
+
}
|
500
|
+
},
|
501
|
+
"qa": {
|
502
|
+
"use": "production"
|
503
|
+
},
|
504
|
+
"default": {
|
505
|
+
"modules": {
|
506
|
+
"varnish": "github:::maxchk/puppet-varnish[develop]",
|
507
|
+
"varnish_drupal": "github:::coralnexus/puppet-varnish_drupal"
|
508
|
+
}
|
509
|
+
}
|
510
|
+
}
|
511
|
+
}
|
512
|
+
}
|
513
|
+
}
|
514
|
+
}
|
515
|
+
}</pre>
|
516
|
+
|
517
|
+
<p>The above provisioner directive tells <a href="../CORL.html">CORL</a> to</p>
|
518
|
+
|
519
|
+
<p>To see an example of a package, <a
|
520
|
+
href="https://github.com/coralnexus/network-template">checkout our core
|
521
|
+
package</a>.</p>
|
522
|
+
|
523
|
+
<h4 id="label-Profiles">Profiles</h4>
|
524
|
+
|
525
|
+
<p>Node profiles are packaged systems and default configurations meant to run
|
526
|
+
as standalone server images or combined to create meta server images. The
|
527
|
+
<a href="../CORL.html">CORL</a> provisioner plugin defines an interface for
|
528
|
+
creating, linking, and provisioning profiles. Currently only <a
|
529
|
+
href="../Puppet.html">Puppet</a> is supported, but more provisioners are on
|
530
|
+
the way in the future.</p>
|
531
|
+
|
532
|
+
<p><img
|
533
|
+
src="https://raw.githubusercontent.com/coralnexus/corl/0.5/images/profile.png"
|
534
|
+
/></p>
|
535
|
+
|
536
|
+
<p>Profiles are created in the native file format of the configuration
|
537
|
+
management system being used. For instance in our default Puppetnode
|
538
|
+
provisioner</p>
|
539
|
+
|
540
|
+
<p><img
|
541
|
+
src="https://raw.githubusercontent.com/coralnexus/corl/0.5/images/example-network-architecture.png"
|
542
|
+
/></p>
|
543
|
+
<hr style="height: 1px">
|
544
|
+
|
545
|
+
<p><a href="../README.rdoc">Click here to return to the README</a></p>
|
546
|
+
|
547
|
+
</div>
|
548
|
+
|
549
|
+
|
550
|
+
|
551
|
+
<footer id="validator-badges">
|
552
|
+
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
553
|
+
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.2.
|
554
|
+
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
555
|
+
</footer>
|
556
|
+
|