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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +10 -1
  3. data/Gemfile +1 -0
  4. data/Gemfile.lock +4 -0
  5. data/README.rdoc +125 -517
  6. data/Rakefile +57 -0
  7. data/VERSION +1 -1
  8. data/bootstrap/os/ubuntu/00_base.sh +10 -7
  9. data/bootstrap/os/ubuntu/05_ruby.sh +4 -4
  10. data/corl.gemspec +32 -5
  11. data/info/AUTOMATION.rdoc +5 -0
  12. data/info/INSTALLATION.rdoc +163 -0
  13. data/info/PACKAGING.rdoc +171 -0
  14. data/info/PLUGINS.rdoc +57 -0
  15. data/info/TODO.rdoc +27 -0
  16. data/lib/CORL/configuration/file.rb +2 -2
  17. data/lib/CORL/machine/docker.rb +327 -0
  18. data/lib/CORL/machine/vagrant.rb +142 -107
  19. data/lib/CORL/node/docker.rb +269 -0
  20. data/lib/CORL/node/vagrant.rb +23 -0
  21. data/lib/CORL/provisioner/puppetnode.rb +52 -27
  22. data/lib/core/facade.rb +36 -34
  23. data/lib/core/mixin/builder.rb +44 -44
  24. data/lib/core/mixin/machine/ssh.rb +34 -34
  25. data/lib/core/mod/vagrant.rb +32 -0
  26. data/lib/core/plugin/cloud_action.rb +1 -1
  27. data/lib/core/plugin/machine.rb +85 -85
  28. data/lib/core/plugin/network.rb +23 -9
  29. data/lib/core/plugin/node.rb +10 -7
  30. data/lib/core/plugin/provisioner.rb +3 -3
  31. data/lib/core/vagrant/action.rb +15 -13
  32. data/lib/core/vagrant/actions/include_overrides.rb +17 -0
  33. data/lib/core/vagrant/actions/init_keys.rb +9 -5
  34. data/lib/core/vagrant/commands/launcher.rb +1 -1
  35. data/lib/core/vagrant/config.rb +343 -143
  36. data/lib/core/vagrant/plugins.rb +14 -14
  37. data/lib/corl.rb +3 -7
  38. data/lib/nucleon/action/node/provision.rb +15 -4
  39. data/lib/nucleon/action/node/seed.rb +2 -2
  40. data/lib/nucleon/extension/vagrant.rb +30 -0
  41. data/locales/en.yml +5 -0
  42. data/rdoc/site/0.5.7/README.rdoc +595 -0
  43. data/rdoc/site/0.5.7/info/AUTOMATION.rdoc +382 -0
  44. data/rdoc/site/0.5.7/info/INSTALLATION.rdoc +543 -0
  45. data/rdoc/site/0.5.7/info/PACKAGES.rdoc +556 -0
  46. data/rdoc/site/0.5.7/info/PACKAGING.rdoc +563 -0
  47. data/rdoc/site/0.5.7/info/PLUGINS.rdoc +534 -0
  48. data/rdoc/site/0.5.7/info/TODO.rdoc +412 -0
  49. data/tmp/README.rdoc +217 -0
  50. data/tmp/info/AUTOMATION.rdoc +6 -0
  51. data/tmp/info/INSTALLATION.rdoc +158 -0
  52. data/tmp/info/PACKAGES.rdoc +177 -0
  53. data/tmp/info/PACKAGING.rdoc +184 -0
  54. data/tmp/info/PLUGINS.rdoc +129 -0
  55. data/tmp/info/README.rdoc +217 -0
  56. data/tmp/info/TODO.rdoc +36 -0
  57. metadata +41 -3
  58. data/TODO.rdoc +0 -12
@@ -0,0 +1,412 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>TODO - 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/PACKAGING_rdoc.html">PACKAGING</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+tasks+to+be+completed+before+1.0.0+release"><a href="../CORL.html">CORL</a> tasks to be completed before 1.0.0 release</h1>
369
+
370
+ <p>This framework should be considered unstable and likely to break as
371
+ remaining bugs and unit testing are completed going forward. When we reach
372
+ version 1.0.0 full <a href="http://semver.org">semantic versioning</a>
373
+ will be ahered to. Until then the minor version specifies a major
374
+ architectural change, and patch versions could fix bugs and revise features
375
+ that could break backward compatibility.</p>
376
+
377
+ <h2 id="label-TODO%3A">TODO:</h2>
378
+ <ul><li>
379
+ <p>Default action arguments and options for networks</p>
380
+ </li><li>
381
+ <p>Error handling improvements</p>
382
+ </li><li>
383
+ <p>Full code documentation</p>
384
+ </li><li>
385
+ <p>Full coverage unit tests</p>
386
+ </li><li>
387
+ <p>Test on Windows, Mac, Linux (Debian, Ubuntu, CentOS, Redhat, Suse)</p>
388
+ </li><li>
389
+ <p>Performance improvements</p>
390
+ </li><li>
391
+ <p>Google node and machine providers</p>
392
+ </li><li>
393
+ <p>Localization improvements</p>
394
+ </li><li>
395
+ <p>Logging consolidation (eliminate redundant log information)</p>
396
+ </li><li>
397
+ <p>Fix bugs :-(</p>
398
+ </li></ul>
399
+ <hr style="height: 1px">
400
+
401
+ <p><a href="../README.rdoc">Click here to return to the README</a></p>
402
+
403
+ </div>
404
+
405
+
406
+
407
+ <footer id="validator-badges">
408
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
409
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.2.
410
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
411
+ </footer>
412
+
data/tmp/README.rdoc ADDED
@@ -0,0 +1,217 @@
1
+ <!DOCTYPE html><html lang='en' class=''><head><title>Test Github markup</title><link href="https://assets-cdn.github.com/assets/github-07ee5f9b28252daadba7750d43951602b35cdaa9dc19b5aff2eececebd6b6627.css" media="all" rel="stylesheet" type="text/css" /><link href="https://assets-cdn.github.com/assets/github2-13950c15da59f6c02f99ce11c07b93342a063458ce7ab72e243013dd9729008e.css" media="all" rel="stylesheet" type="text/css" /></head><body style='padding: 30px'><div class='site' itemscope itemtype='http://schema.org/WebPage'><article class='markdown-body entry-content' itemprop='mainContentOfPage'>
2
+ <h1 id="label-CORL+-+Coral+Orchestration+and+Research+Library">CORL - Coral Orchestration and Research Library</h1>
3
+
4
+ <p><a href="https://github.com/coralnexus/nucleon">Nucleon</a> plugin library
5
+ and framework for building, synchronizing, and executing distributed
6
+ actions and agents across heterogeneous networks of machines.</p>
7
+
8
+ <h2 id="label-Origin+and+philosophy++%28aka%3A+Why+is+this+project+being+developed%3F%29">Origin and philosophy (aka: Why is this project being developed?)</h2>
9
+
10
+ <p>This project began with the need to automate the management of our own
11
+ infrastructure architecture starting in mid 2012. In early 2013 the
12
+ initial work towards this goal was merged into two projects; Nucleon
13
+ (general plugin management framework and execution environment), and CORL
14
+ (this project).</p>
15
+
16
+ <p>We believe in the future, as machines become more connected and integrated,
17
+ there will be profound need for frameworks that allow for the creation of
18
+ semi or fully autonomous cyber entities that evolve across the cloud. These
19
+ software entities will have varying capabilities and objectives but all
20
+ will be capable of managing their machines, communicating with others in
21
+ their network, and reproducing when neccessary. We want to help further a
22
+ new era of smart infrastructure by providing an open source framework for
23
+ developing such entities and their requisite environments.</p>
24
+
25
+ <p>Treating machines as autonomous software entities that can self manage
26
+ allows for the agile and adaptive evolution of the computer systems we rely
27
+ on to make our lives easier. Management dashboards and user controls are
28
+ great but the future of the web belongs to the machines acting in our
29
+ interests. CORL is being developed to help bring the machines to life (in
30
+ a manner of speaking).</p>
31
+
32
+ <h2 id="label-State+of+the+project">State of the project</h2>
33
+
34
+ <p>CORL, and its parent <a
35
+ href="https://github.com/coralnexus/nucleon">Nucleon</a> are still in alpha
36
+ development and not yet ready for production unless you know how to
37
+ develop with it and fix bugs. We use it for our infrastructure
38
+ architecture internally, but there are kinks we still have to work out to
39
+ meet the full set of intended architectual objectives. We are currently
40
+ finalizing the acquarium, next comes the fish.</p>
41
+
42
+ <p>If you are a tinkerer and are passionate about machine managed systems or
43
+ organically inspired software systems we invite your contributions in
44
+ whatever form you wish to provide. Contact Adrian Webb (
45
+ adrian.webb@coralnexus.com ) with questions or feedback or just post an
46
+ issue.</p>
47
+
48
+ <p><strong>Note that all development and testing has been on Ubuntu
49
+ (12.04/14.04) so far.</strong></p>
50
+
51
+ <p>To review tasks needing completion before first production release, <a
52
+ href="info/TODO.rdoc">see the TODO</a>.</p>
53
+
54
+ <p>To get an overview of what plugins are currently provided, go <a
55
+ href="info/PLUGINS.rdoc">here</a>.</p>
56
+
57
+ <h2 id="label-CORL+architecture">CORL architecture</h2>
58
+
59
+ <p>CORL is a <strong>programming framework</strong> and <strong>execution
60
+ environment</strong> intended for:</p>
61
+
62
+ <pre>1. Management of reusable high availability platforms across cloud providers
63
+
64
+ 2. Distributed programming or script execution across dynamically managed nodes
65
+
66
+ 3. Decentralized networking and provisioning of heterogeneous machines
67
+
68
+ 4. Cloud based evolutionary multi-agent simulations and processing</pre>
69
+
70
+ <h3 id="label-Key+design+requirements%3A">Key design requirements:</h3>
71
+ <ul><li>
72
+ <p>Lightweight programming framework for executing actions and managing agents
73
+ across dynamically evolving networks of nodes</p>
74
+ </li><li>
75
+ <p>Pluggable data driven integration capabilities</p>
76
+ </li><li>
77
+ <p>Portable actions and packages that can be searched and aggregated from
78
+ across the system</p>
79
+ </li><li>
80
+ <p>Network projects that connect nodes, architecture, and resources as
81
+ decentralized revision controlled projects, not centralized hosted
82
+ databases</p>
83
+ </li><li>
84
+ <p>CLI action interface</p>
85
+ </li><li>
86
+ <p>REST action host (not implemented yet)</p>
87
+ </li></ul>
88
+
89
+ <h3 id="label-Things+CORL+is+NOT+meant+to+be%3A">Things CORL is NOT meant to be:</h3>
90
+ <ul><li>
91
+ <p>A dashboard or UI driven application (we are focused solely on machines)</p>
92
+ </li><li>
93
+ <p>A continuously running agent or hosted application (we need to minimize
94
+ system resource usage)</p>
95
+ </li><li>
96
+ <p>A bloated platform that requires a multi-system platform or dedicated
97
+ servers to operate</p>
98
+ </li><li>
99
+ <p>A virtualization system (although it uses them)</p>
100
+ </li></ul>
101
+
102
+ <p>Care to <a href="https://prezi.com/enwlxtfhdqoq/corl">walk through the CORL
103
+ architecture on Prezi</a>?</p>
104
+
105
+ <h2 id="label-CORL+focus+areas">CORL focus areas</h2>
106
+
107
+ <p>Our ultimate goal is the scalable application of our resources, time, and
108
+ workflows, while allowing for evolutionary and adaptive growth of our IT
109
+ infrastructure.</p>
110
+
111
+ <p><a href="README.rdoc"><img
112
+ src="https://raw.githubusercontent.com/coralnexus/corl/0.5/images/purpose.png"
113
+ align="right"></a></p>
114
+
115
+ <p><strong>Packaging</strong> serves as a foundation for an automated
116
+ architecture by providing reusable configuration managed images that can be
117
+ easily launched across local and remote virtual machine and container
118
+ providers. Our goal with packaging is to turn machines into programmable
119
+ data objects which can be easily automated through diverse software
120
+ systems.</p>
121
+
122
+ <p><strong>Automation</strong> builds on packaged data and systems, and allows
123
+ for reusable development of flexible integrated workflows. Automation
124
+ capabilities depend on the degree to which machine inspection and
125
+ management has been abstracted from the various configuration files,
126
+ system services, and operating system nuances. CORL tries to bridge
127
+ technologies that abstract the relevant data from the machine and various
128
+ applications so we can more easily monitor and automate. Two modes of
129
+ automation are possible; actions (fire and forget), and agents (managed
130
+ services that utilize actions).</p>
131
+
132
+ <p><strong>Scaling</strong> of infrastructure resources and workflows becomes
133
+ easier when we have a flexible automation system that can work with
134
+ machines as data, and deeply integrate with the software, services, and
135
+ workflows we already employ.</p>
136
+
137
+ <h3 id="label-Packaging+system">Packaging system</h3>
138
+
139
+ <p>To build adaptive infrastructure we treat each machine as a programmable
140
+ data model that is connected to other machines in a shared network (data
141
+ pool).</p>
142
+
143
+ <p>This also helps create an entirely hands off administration process that is
144
+ easy to query and modify through remote action execution.</p>
145
+
146
+ <p><img
147
+ src="https://raw.githubusercontent.com/coralnexus/corl/0.5/images/packaging-overview.png"
148
+ /></p>
149
+
150
+ <p>To read more on the CORL packaging system, <a
151
+ href="info/PACKAGING.rdoc">see the packaging overview</a>.</p>
152
+
153
+ <h3 id="label-Automation+system">Automation system</h3>
154
+
155
+ <p>The ability to create, reuse, and extend integrated development and
156
+ administration workflows across standardized plugin interfaces gives us the
157
+ ability to focus on the task at hand while allowing for the creation of
158
+ different interface implementations when needed.</p>
159
+
160
+ <p><img
161
+ src="https://raw.githubusercontent.com/coralnexus/corl/0.5/images/automation-overview.png"
162
+ /></p>
163
+
164
+ <h2 id="label-CORL+installation+and+setup">CORL installation and setup</h2>
165
+
166
+ <p>CORL is designed so it requires few dependencies outside of the Ruby
167
+ language and some useful Gems.</p>
168
+
169
+ <p>See the <a href="info/INSTALLATION.rdoc">installation instructions</a> for
170
+ information on requirements and getting CORL installed on your machines.</p>
171
+
172
+ <h2 id="label-Ruby+Versions">Ruby Versions</h2>
173
+
174
+ <p>This library has been developed with and should support MRI Ruby versions:</p>
175
+ <ul><li>
176
+ <p><strong>Ruby 1.9.2</strong></p>
177
+ </li><li>
178
+ <p><strong>Ruby 1.9.3</strong></p>
179
+ </li><li>
180
+ <p><strong>Ruby 2.0.0</strong></p>
181
+ </li><li>
182
+ <p><strong>Ruby 2.1.0</strong></p>
183
+ </li></ul>
184
+
185
+ <p>If something doesn&#39;t work on one of these Ruby versions, it&#39;s a
186
+ bug.</p>
187
+
188
+ <p>This library may inadvertently work (or seem to work) on other Ruby
189
+ implementations, but support will only be provided for the versions listed
190
+ above. <strong>Rubinius</strong> is being tested and will ultimately be
191
+ supported.</p>
192
+
193
+ <p>This library currently does not work on <strong>JRuby</strong> due to CORL
194
+ gem dependencies, such as Rugged, that provide C Ruby extensions (which
195
+ JRuby does not support).</p>
196
+
197
+ <p>We have developed this so far pretty much entirely on Ubuntu but the core
198
+ framework should work with other Linux distributions. There are known
199
+ issues with Windows when executed through Vagrant and Cygwin.</p>
200
+
201
+ <h2 id="label-Versioning">Versioning</h2>
202
+
203
+ <p>This framework should be considered unstable and likely to break as
204
+ remaining bugs and unit testing are completed going forward. When we reach
205
+ version 1.0.0 full <a href="http://semver.org">semantic versioning</a>
206
+ will be ahered to. Until then the minor version specifies a major
207
+ architectural change, and patch versions could fix bugs and revise features
208
+ that could break backward compatibility.</p>
209
+
210
+ <h2 id="label-License">License</h2>
211
+
212
+ <p>Licensed under Apache License 2.0. See LICENSE.txt for further details.</p>
213
+
214
+ <p>Copyright © 2013-2015 Adrian Webb ( <a
215
+ href="mailto:adrian.webb@coraltech.net">adrian.webb@coraltech.net</a> )
216
+ <strong>Coral Technology Group LLC</strong></p>
217
+ </article></div></body></html>
@@ -0,0 +1,6 @@
1
+ <!DOCTYPE html><html lang='en' class=''><head><title>Test Github markup</title><link href="https://assets-cdn.github.com/assets/github-07ee5f9b28252daadba7750d43951602b35cdaa9dc19b5aff2eececebd6b6627.css" media="all" rel="stylesheet" type="text/css" /><link href="https://assets-cdn.github.com/assets/github2-13950c15da59f6c02f99ce11c07b93342a063458ce7ab72e243013dd9729008e.css" media="all" rel="stylesheet" type="text/css" /></head><body style='padding: 30px'><div class='site' itemscope itemtype='http://schema.org/WebPage'><article class='markdown-body entry-content' itemprop='mainContentOfPage'>
2
+ <h1 id="label-CORL+automation+system">CORL automation system</h1>
3
+ <hr style="height: 1px">
4
+
5
+ <p><a href="README.rdoc">Click here to return to the README</a></p>
6
+ </article></div></body></html>