corl 0.4.29 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -3
  3. data/Gemfile.lock +16 -13
  4. data/VERSION +1 -1
  5. data/bin/corl +21 -1
  6. data/bootstrap/os/ubuntu/00_base.sh +2 -2
  7. data/bootstrap/os/ubuntu/06_puppet.sh +7 -12
  8. data/bootstrap/os/ubuntu/09_nucleon.sh +1 -1
  9. data/bootstrap/os/ubuntu/10_corl.sh +1 -4
  10. data/corl.gemspec +193 -40
  11. data/lib/CORL/builder/identity.rb +68 -0
  12. data/lib/CORL/builder/package.rb +75 -0
  13. data/lib/CORL/configuration/file.rb +5 -5
  14. data/lib/CORL/machine/{aws.rb → AWS.rb} +2 -2
  15. data/lib/CORL/machine/physical.rb +1 -1
  16. data/lib/CORL/machine/rackspace.rb +1 -1
  17. data/lib/CORL/machine/vagrant.rb +2 -2
  18. data/lib/CORL/network/{default.rb → CORL.rb} +1 -1
  19. data/lib/CORL/node/{aws.rb → AWS.rb} +1 -1
  20. data/lib/CORL/node/local.rb +1 -1
  21. data/lib/CORL/node/vagrant.rb +7 -2
  22. data/lib/CORL/provisioner/puppetnode.rb +139 -131
  23. data/lib/core/build.rb +112 -0
  24. data/lib/core/facade.rb +48 -8
  25. data/lib/core/mixin/builder.rb +158 -0
  26. data/lib/core/mixin/lookup.rb +51 -20
  27. data/lib/core/mixin/machine/ssh.rb +16 -4
  28. data/lib/core/plugin/builder.rb +49 -0
  29. data/lib/core/plugin/{action.rb → cloud_action.rb} +22 -16
  30. data/lib/core/plugin/configuration.rb +9 -3
  31. data/lib/core/plugin/fog_machine.rb +3 -3
  32. data/lib/core/plugin/fog_node.rb +1 -1
  33. data/lib/core/plugin/machine.rb +2 -2
  34. data/lib/core/plugin/network.rb +39 -10
  35. data/lib/core/plugin/node.rb +95 -35
  36. data/lib/core/plugin/provisioner.rb +133 -113
  37. data/lib/core/util/puppet/resource.rb +1 -1
  38. data/lib/core/vagrant/actions/delete_cache.rb +7 -1
  39. data/lib/core/vagrant/commands/launcher.rb +2 -2
  40. data/lib/core/vagrant/config.rb +29 -2
  41. data/lib/corl.rb +9 -8
  42. data/lib/facter/corl_config_ready.rb +1 -1
  43. data/lib/facter/vagrant_exists.rb +1 -1
  44. data/lib/nucleon/action/cloud/create.rb +51 -0
  45. data/lib/nucleon/action/cloud/hiera.rb +61 -0
  46. data/lib/{CORL/action → nucleon/action/cloud}/images.rb +11 -2
  47. data/lib/nucleon/action/cloud/inspect.rb +47 -0
  48. data/lib/{CORL/action → nucleon/action/cloud}/machines.rb +11 -2
  49. data/lib/{CORL/action → nucleon/action/cloud}/regions.rb +11 -2
  50. data/lib/{CORL/action → nucleon/action/cloud}/vagrantfile.rb +11 -2
  51. data/lib/{CORL/action/ip.rb → nucleon/action/node/IP.rb} +11 -2
  52. data/lib/{CORL/action/ssh.rb → nucleon/action/node/SSH.rb} +15 -7
  53. data/lib/{CORL/action → nucleon/action/node}/authorize.rb +11 -2
  54. data/lib/{CORL/action → nucleon/action/node}/bootstrap.rb +13 -4
  55. data/lib/nucleon/action/node/build.rb +49 -0
  56. data/lib/{CORL/action → nucleon/action/node}/destroy.rb +14 -5
  57. data/lib/{CORL/action → nucleon/action/node}/exec.rb +11 -2
  58. data/lib/{CORL/action → nucleon/action/node}/facts.rb +12 -3
  59. data/lib/{CORL/action → nucleon/action/node}/image.rb +13 -4
  60. data/lib/nucleon/action/node/keypair.rb +85 -0
  61. data/lib/{CORL/action → nucleon/action/node}/lookup.rb +13 -4
  62. data/lib/{CORL/action → nucleon/action/node}/provision.rb +30 -8
  63. data/lib/{CORL/action → nucleon/action/node}/reboot.rb +13 -4
  64. data/lib/{CORL/action → nucleon/action/node}/revoke.rb +11 -2
  65. data/lib/{CORL/action → nucleon/action/node}/seed.rb +13 -4
  66. data/lib/{CORL/action → nucleon/action/node}/spawn.rb +19 -9
  67. data/lib/{CORL/action → nucleon/action/node}/start.rb +13 -4
  68. data/lib/{CORL/action → nucleon/action/node}/stop.rb +13 -4
  69. data/lib/{CORL → nucleon}/event/puppet.rb +2 -2
  70. data/lib/{CORL → nucleon}/template/environment.rb +2 -2
  71. data/lib/puppet/indirector/corl.rb +7 -4
  72. data/lib/puppet/parser/functions/corl_resources.rb +1 -0
  73. data/lib/puppet/parser/functions/global_array.rb +2 -1
  74. data/lib/puppet/parser/functions/global_hash.rb +2 -1
  75. data/lib/puppet/parser/functions/global_param.rb +2 -1
  76. data/lib/puppet/parser/functions/module_array.rb +2 -1
  77. data/lib/puppet/parser/functions/module_hash.rb +3 -2
  78. data/lib/puppet/parser/functions/module_param.rb +3 -2
  79. data/lib/puppet/parser/functions/render.rb +1 -0
  80. data/locales/en.yml +80 -0
  81. data/rdoc/site/0.4.29/CORL/Action/Authorize.html +485 -0
  82. data/rdoc/site/0.4.29/CORL/Action/Bootstrap.html +546 -0
  83. data/rdoc/site/0.4.29/CORL/Action/Build.html +396 -0
  84. data/rdoc/site/0.4.29/CORL/Action/Destroy.html +515 -0
  85. data/rdoc/site/0.4.29/CORL/Action/Exec.html +472 -0
  86. data/rdoc/site/0.4.29/CORL/Action/Facts.html +398 -0
  87. data/rdoc/site/0.4.29/CORL/Action/Image.html +515 -0
  88. data/rdoc/site/0.4.29/CORL/Action/Images.html +514 -0
  89. data/rdoc/site/0.4.29/CORL/Action/Ip.html +395 -0
  90. data/rdoc/site/0.4.29/CORL/Action/Keypair.html +494 -0
  91. data/rdoc/site/0.4.29/CORL/Action/Lookup.html +474 -0
  92. data/rdoc/site/0.4.29/CORL/Action/Machines.html +509 -0
  93. data/rdoc/site/0.4.29/CORL/Action/Provision.html +456 -0
  94. data/rdoc/site/0.4.29/CORL/Action/Reboot.html +515 -0
  95. data/rdoc/site/0.4.29/CORL/Action/Regions.html +509 -0
  96. data/rdoc/site/0.4.29/CORL/Action/Revoke.html +483 -0
  97. data/rdoc/site/0.4.29/CORL/Action/Seed.html +544 -0
  98. data/rdoc/site/0.4.29/CORL/Action/Spawn.html +616 -0
  99. data/rdoc/site/0.4.29/CORL/Action/Ssh.html +526 -0
  100. data/rdoc/site/0.4.29/CORL/Action/Start.html +515 -0
  101. data/rdoc/site/0.4.29/CORL/Action/Stop.html +515 -0
  102. data/rdoc/site/0.4.29/CORL/Action/Vagrantfile.html +457 -0
  103. data/rdoc/site/0.4.29/CORL/Action.html +360 -0
  104. data/rdoc/site/0.4.29/CORL/Configuration/File.html +1128 -0
  105. data/rdoc/site/0.4.29/CORL/Configuration.html +339 -0
  106. data/rdoc/site/0.4.29/CORL/Errors.html +339 -0
  107. data/rdoc/site/0.4.29/CORL/Event/Puppet.html +673 -0
  108. data/rdoc/site/0.4.29/CORL/Event.html +339 -0
  109. data/rdoc/site/0.4.29/CORL/Facade.html +742 -0
  110. data/rdoc/site/0.4.29/CORL/Machine/Aws.html +733 -0
  111. data/rdoc/site/0.4.29/CORL/Machine/Fog.html +1269 -0
  112. data/rdoc/site/0.4.29/CORL/Machine/Physical.html +1039 -0
  113. data/rdoc/site/0.4.29/CORL/Machine/Rackspace.html +514 -0
  114. data/rdoc/site/0.4.29/CORL/Machine/Vagrant.html +1300 -0
  115. data/rdoc/site/0.4.29/CORL/Machine.html +343 -0
  116. data/rdoc/site/0.4.29/CORL/Mixin/Action/Keypair.html +572 -0
  117. data/rdoc/site/0.4.29/CORL/Mixin/Action.html +339 -0
  118. data/rdoc/site/0.4.29/CORL/Mixin/Lookup.html +954 -0
  119. data/rdoc/site/0.4.29/CORL/Mixin/Machine/SSH.html +643 -0
  120. data/rdoc/site/0.4.29/CORL/Mixin/Machine.html +339 -0
  121. data/rdoc/site/0.4.29/CORL/Mixin/Macro/NetworkSettings.html +464 -0
  122. data/rdoc/site/0.4.29/CORL/Mixin/Macro.html +339 -0
  123. data/rdoc/site/0.4.29/CORL/Mixin.html +342 -0
  124. data/rdoc/site/0.4.29/CORL/Network/Default.html +391 -0
  125. data/rdoc/site/0.4.29/CORL/Network.html +339 -0
  126. data/rdoc/site/0.4.29/CORL/Node/Aws.html +716 -0
  127. data/rdoc/site/0.4.29/CORL/Node/Fog.html +1192 -0
  128. data/rdoc/site/0.4.29/CORL/Node/Local.html +424 -0
  129. data/rdoc/site/0.4.29/CORL/Node/Rackspace.html +709 -0
  130. data/rdoc/site/0.4.29/CORL/Node/Vagrant.html +1451 -0
  131. data/rdoc/site/0.4.29/CORL/Node.html +343 -0
  132. data/rdoc/site/0.4.29/CORL/Plugin/CloudAction.html +810 -0
  133. data/rdoc/site/0.4.29/CORL/Plugin.html +339 -0
  134. data/rdoc/site/0.4.29/CORL/Provisioner/Puppetnode.html +1095 -0
  135. data/rdoc/site/0.4.29/CORL/Provisioner.html +339 -0
  136. data/rdoc/site/0.4.29/CORL/Template/Environment.html +528 -0
  137. data/rdoc/site/0.4.29/CORL/Template.html +339 -0
  138. data/rdoc/site/0.4.29/CORL/Util/Puppet/Resource.html +1038 -0
  139. data/rdoc/site/0.4.29/CORL/Util/Puppet/ResourceGroup.html +920 -0
  140. data/rdoc/site/0.4.29/CORL/Util/Puppet.html +1087 -0
  141. data/rdoc/site/0.4.29/CORL/Util.html +341 -0
  142. data/rdoc/site/0.4.29/CORL/Vagrant/Config.html +896 -0
  143. data/rdoc/site/0.4.29/CORL/Vagrant.html +418 -0
  144. data/rdoc/site/0.4.29/CORL.html +465 -0
  145. data/rdoc/site/0.4.29/Facter/Util/Loader.html +396 -0
  146. data/rdoc/site/0.4.29/Facter/Util.html +339 -0
  147. data/rdoc/site/0.4.29/Facter.html +339 -0
  148. data/rdoc/site/0.4.29/Fog/Compute/AWS/Server.html +423 -0
  149. data/rdoc/site/0.4.29/Fog/Compute/AWS.html +345 -0
  150. data/rdoc/site/0.4.29/Fog/Compute/RackspaceV2/Server.html +408 -0
  151. data/rdoc/site/0.4.29/Fog/Compute/RackspaceV2.html +345 -0
  152. data/rdoc/site/0.4.29/Fog/Compute.html +340 -0
  153. data/rdoc/site/0.4.29/Fog.html +340 -0
  154. data/rdoc/site/0.4.29/Hiera/Backend.html +422 -0
  155. data/rdoc/site/0.4.29/Hiera/Corl_logger.html +449 -0
  156. data/rdoc/site/0.4.29/Hiera.html +346 -0
  157. data/rdoc/site/0.4.29/Nucleon/Config.html +357 -0
  158. data/rdoc/site/0.4.29/Nucleon/Plugin/Base.html +345 -0
  159. data/rdoc/site/0.4.29/Nucleon/Plugin/Configuration.html +1213 -0
  160. data/rdoc/site/0.4.29/Nucleon/Plugin/Machine.html +1279 -0
  161. data/rdoc/site/0.4.29/Nucleon/Plugin/Network.html +1425 -0
  162. data/rdoc/site/0.4.29/Nucleon/Plugin/Node.html +3715 -0
  163. data/rdoc/site/0.4.29/Nucleon/Plugin/Provisioner.html +1297 -0
  164. data/rdoc/site/0.4.29/Nucleon/Plugin.html +344 -0
  165. data/rdoc/site/0.4.29/Nucleon.html +344 -0
  166. data/rdoc/site/0.4.29/Object.html +358 -0
  167. data/rdoc/site/0.4.29/Puppet/DataBinding/Corl.html +345 -0
  168. data/rdoc/site/0.4.29/Puppet/DataBinding.html +338 -0
  169. data/rdoc/site/0.4.29/Puppet/Indirector/Corl.html +454 -0
  170. data/rdoc/site/0.4.29/Puppet/Indirector.html +338 -0
  171. data/rdoc/site/0.4.29/Puppet/Parser/Functions.html +480 -0
  172. data/rdoc/site/0.4.29/Puppet/Parser.html +338 -0
  173. data/rdoc/site/0.4.29/Puppet.html +338 -0
  174. data/rdoc/site/0.4.29/README_rdoc.html +340 -0
  175. data/rdoc/site/0.4.29/Vagrant/Config/Loader.html +399 -0
  176. data/rdoc/site/0.4.29/Vagrant/Config.html +339 -0
  177. data/rdoc/site/0.4.29/Vagrant/Vagrantfile.html +392 -0
  178. data/rdoc/site/0.4.29/Vagrant.html +346 -0
  179. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Action/DeleteCache.html +396 -0
  180. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Action/InitKeys.html +408 -0
  181. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Action/LinkNetwork.html +406 -0
  182. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Action.html +341 -0
  183. data/rdoc/site/0.4.29/VagrantPlugins/CORL/BaseAction.html +491 -0
  184. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Command/Launcher.html +533 -0
  185. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Command.html +339 -0
  186. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Config/CORL.html +732 -0
  187. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Config.html +339 -0
  188. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Plugin.html +345 -0
  189. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Provisioner/CORL.html +536 -0
  190. data/rdoc/site/0.4.29/VagrantPlugins/CORL/Provisioner.html +339 -0
  191. data/rdoc/site/0.4.29/VagrantPlugins/CORL.html +346 -0
  192. data/rdoc/site/0.4.29/VagrantPlugins.html +346 -0
  193. data/rdoc/site/0.4.29/created.rid +96 -0
  194. data/rdoc/site/0.4.29/images/add.png +0 -0
  195. data/rdoc/site/0.4.29/images/brick.png +0 -0
  196. data/rdoc/site/0.4.29/images/brick_link.png +0 -0
  197. data/rdoc/site/0.4.29/images/bug.png +0 -0
  198. data/rdoc/site/0.4.29/images/bullet_black.png +0 -0
  199. data/rdoc/site/0.4.29/images/bullet_toggle_minus.png +0 -0
  200. data/rdoc/site/0.4.29/images/bullet_toggle_plus.png +0 -0
  201. data/rdoc/site/0.4.29/images/date.png +0 -0
  202. data/rdoc/site/0.4.29/images/delete.png +0 -0
  203. data/rdoc/site/0.4.29/images/find.png +0 -0
  204. data/rdoc/site/0.4.29/images/loadingAnimation.gif +0 -0
  205. data/rdoc/site/0.4.29/images/macFFBgHack.png +0 -0
  206. data/rdoc/site/0.4.29/images/package.png +0 -0
  207. data/rdoc/site/0.4.29/images/page_green.png +0 -0
  208. data/rdoc/site/0.4.29/images/page_white_text.png +0 -0
  209. data/rdoc/site/0.4.29/images/page_white_width.png +0 -0
  210. data/rdoc/site/0.4.29/images/plugin.png +0 -0
  211. data/rdoc/site/0.4.29/images/ruby.png +0 -0
  212. data/rdoc/site/0.4.29/images/tag_blue.png +0 -0
  213. data/rdoc/site/0.4.29/images/tag_green.png +0 -0
  214. data/rdoc/site/0.4.29/images/transparent.png +0 -0
  215. data/rdoc/site/0.4.29/images/wrench.png +0 -0
  216. data/rdoc/site/0.4.29/images/wrench_orange.png +0 -0
  217. data/rdoc/site/0.4.29/images/zoom.png +0 -0
  218. data/rdoc/site/0.4.29/index.html +339 -0
  219. data/rdoc/site/0.4.29/js/darkfish.js +155 -0
  220. data/rdoc/site/0.4.29/js/jquery.js +18 -0
  221. data/rdoc/site/0.4.29/js/navigation.js +142 -0
  222. data/rdoc/site/0.4.29/js/search.js +94 -0
  223. data/rdoc/site/0.4.29/js/search_index.js +1 -0
  224. data/rdoc/site/0.4.29/js/searcher.js +228 -0
  225. data/rdoc/site/0.4.29/rdoc.css +543 -0
  226. data/rdoc/site/0.4.29/table_of_contents.html +1561 -0
  227. metadata +192 -45
  228. data/lib/CORL/action/build.rb +0 -22
  229. data/lib/CORL/action/keypair.rb +0 -56
  230. data/lib/core/mod/facter_loader.rb +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f4340000f307af2a3bfc2bf2922ba022fe8189ae
4
- data.tar.gz: 521b4c70644a3a91a947e09e2c11149263064633
3
+ metadata.gz: 771591634d3d162ff113af159f0ae8356fbb5e3d
4
+ data.tar.gz: ce7c3c645833fb2c1a32660729aa6570d5512ff0
5
5
  SHA512:
6
- metadata.gz: ef2f1fb2d2113a8493527c544afa3a9818a22f7cd93eedb08eeec0d17a0f9d4f3deb2c0c492c9fbe04fe14dcf047bef98bc9d12cccbf2a876aa2478545f649ad
7
- data.tar.gz: 59ed2e3c471866ceed1216bf6577a4fdcc2d50b3d19e8f22000ddfc00f82020b357f1e71d6cc1a42b76e7bc630d5d90b34728c86396ed74be80916a994b4920b
6
+ metadata.gz: d7bf9faec68b5620b00642aac1fc9ea398e6078350762d0a6d1ab8a60eb18c7eaa16b75710ed73748d628c794b283b5954a4b51cbf721c9802660f664937fc7e
7
+ data.tar.gz: c26706cb1221278fae991507f94f03e346033652e5e0bbf1f0a6a25a31180e9e3f09ce9cf390a29d56cafe704c3f1046333b53c1e64254f87393bd208e2224a0
data/Gemfile CHANGED
@@ -1,14 +1,14 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "nucleon", "~> 0.1", ">= 0.1.10", :github => 'coralnexus/nucleon', :branch => '0.1'
3
+ gem "nucleon", "~> 0.2", ">= 0.2.0", :github => 'coralnexus/nucleon', :branch => '0.2'
4
4
 
5
5
  gem "fog", "~> 1.20"
6
6
  gem "unf", "~> 0.1"
7
7
 
8
- gem "facter", "~> 1.7"
8
+ gem "facter", "~> 2.1"
9
9
  gem "hiera", "~> 1.3"
10
10
 
11
- gem "puppet", "~> 3.2", "<= 3.4.3"
11
+ gem "puppet", "~> 3.6"
12
12
 
13
13
  group :development do
14
14
  gem "bundler", "~> 1.2"
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  GIT
2
2
  remote: git://github.com/coralnexus/nucleon.git
3
- revision: ca8e893e594ecee32468df26fd4cfb02655b4afe
4
- branch: 0.1
3
+ revision: b1aa31328f2aa1a681134d8ff88ea1639c18432c
4
+ branch: 0.2
5
5
  specs:
6
- nucleon (0.1.14)
6
+ nucleon (0.2.0)
7
7
  celluloid (~> 0.15)
8
8
  childprocess (~> 0.5)
9
9
  deep_merge (~> 1.0)
@@ -36,17 +36,18 @@ GIT
36
36
  PATH
37
37
  remote: .
38
38
  specs:
39
- corl (0.4.29)
40
- facter (~> 1.7)
39
+ corl (0.5.0)
40
+ facter (~> 2.1)
41
41
  fog (~> 1.20)
42
42
  hiera (~> 1.3)
43
- nucleon (~> 0.1, >= 0.1.10)
44
- puppet (~> 3.2, <= 3.4.3)
43
+ nucleon (~> 0.2, >= 0.2.0)
44
+ puppet (~> 3.6)
45
45
  unf (~> 0.1)
46
46
 
47
47
  GEM
48
48
  remote: http://rubygems.org/
49
49
  specs:
50
+ CFPropertyList (2.2.8)
50
51
  addressable (2.3.6)
51
52
  akami (1.2.2)
52
53
  gyoku (>= 0.4.0)
@@ -65,7 +66,8 @@ GEM
65
66
  diff-lcs (1.2.5)
66
67
  erubis (2.7.0)
67
68
  excon (0.33.0)
68
- facter (1.7.5)
69
+ facter (2.1.0)
70
+ CFPropertyList (~> 2.2.6)
69
71
  faraday (0.9.0)
70
72
  multipart-post (>= 1.2, < 3)
71
73
  ffi (1.9.3)
@@ -152,9 +154,10 @@ GEM
152
154
  rack (~> 1.2)
153
155
  octokit (2.7.2)
154
156
  sawyer (~> 0.5.2)
155
- puppet (3.4.3)
156
- facter (~> 1.6)
157
+ puppet (3.6.2)
158
+ facter (> 1.6, < 3)
157
159
  hiera (~> 1.0)
160
+ json_pure
158
161
  rgen (~> 0.6.5)
159
162
  rack (1.5.2)
160
163
  rake (10.3.1)
@@ -213,12 +216,12 @@ PLATFORMS
213
216
  DEPENDENCIES
214
217
  bundler (~> 1.2)
215
218
  corl!
216
- facter (~> 1.7)
219
+ facter (~> 2.1)
217
220
  fog (~> 1.20)
218
221
  hiera (~> 1.3)
219
222
  jeweler (~> 2.0)
220
- nucleon (~> 0.1, >= 0.1.10)!
221
- puppet (~> 3.2, <= 3.4.3)
223
+ nucleon (~> 0.2, >= 0.2.0)!
224
+ puppet (~> 3.6)
222
225
  rdoc (~> 3.12)
223
226
  rspec (~> 2.10)
224
227
  unf (~> 0.1)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.29
1
+ 0.5.0
data/bin/corl CHANGED
@@ -1,7 +1,27 @@
1
1
  #!/usr/bin/env ruby
2
+
3
+ Signal.trap("INT") { exit 1 }
4
+
5
+ #---
6
+
2
7
  require 'corl'
3
8
 
4
- if ! CORL.admin? && nucleon_locate(:vagrant)
9
+ # Set version info
10
+
11
+ module Nucleon; module Util; module CLI
12
+ class Parser
13
+ def version
14
+ version = CORL.VERSION
15
+ "CORL: #{version} (Apache License, Version 2.0) -- https://github.com/coralnexus/corl/tree/v#{version}"
16
+ end
17
+ end
18
+ end; end; end
19
+
20
+ # Execute
21
+
22
+ internal_exec = ( CORL.admin? || ARGV.include?('--version') || ARGV.include?('-h') || ARGV.include?('--help') )
23
+
24
+ if ! internal_exec && nucleon_locate(:vagrant)
5
25
  system(*[ 'vagrant', 'corl', ARGV ].flatten)
6
26
  exit($?.exitstatus)
7
27
  else
@@ -12,8 +12,8 @@ echo "nameserver 208.67.222.222" | tee /etc/resolvconf/resolv.conf.d/base > /dev
12
12
 
13
13
  # Update system packages
14
14
  apt-get update || exit 4
15
- apt-get -y dist-upgrade || exit 5
15
+ apt-get -y upgrade || exit 5
16
16
 
17
17
  # Install basic build packages.
18
- apt-get -y install build-essential bindfs libnl-dev libpopt-dev libssl-dev libcurl4-openssl-dev libxslt-dev libxml2-dev || exit 6
18
+ apt-get -y install build-essential cmake bindfs libnl-dev libpopt-dev libssl-dev libcurl4-openssl-dev libxslt-dev libxml2-dev || exit 6
19
19
  apt-get -y install python-software-properties unzip curl || exit 7
@@ -1,14 +1,7 @@
1
1
  #!/bin/bash
2
2
  #-------------------------------------------------------------------------------
3
3
 
4
- case "$OS_VERSION" in
5
- '14.04')
6
- PUPPET_PACKAGE="3.4.3-1"
7
- ;;
8
- '12.04')
9
- PUPPET_PACKAGE="3.4.3-1puppetlabs1"
10
- ;;
11
- esac
4
+ PUPPET_PACKAGE="3.6.2-1puppetlabs1"
12
5
 
13
6
  #---
14
7
 
@@ -23,8 +16,10 @@ apt-get -y update || exit 63
23
16
 
24
17
  apt-get -y install puppet-common="$PUPPET_PACKAGE" puppet="$PUPPET_PACKAGE" || exit 64
25
18
 
19
+ chown -R root:puppet /var/lib/puppet || exit 65
20
+
26
21
  # Set up Hiera configuration
27
- mkdir -p /var/corl/config || exit 65
22
+ mkdir -p /var/corl/config || exit 66
28
23
 
29
24
  if [ ! -e /etc/hiera.yaml ]
30
25
  then
@@ -41,11 +36,11 @@ then
41
36
  :hierarchy:
42
37
  - common
43
38
  EOP
44
- ) > /etc/hiera.yaml || exit 66
45
- chmod 0440 /etc/hiera.yaml || exit 67
39
+ ) > /etc/hiera.yaml || exit 67
40
+ chmod 0440 /etc/hiera.yaml || exit 68
46
41
  fi
47
42
 
48
43
  if [ ! -e /etc/puppet/hiera.yaml ]
49
44
  then
50
- ln -fs /etc/hiera.yaml /etc/puppet/hiera.yaml || exit 68
45
+ ln -fs /etc/hiera.yaml /etc/puppet/hiera.yaml || exit 69
51
46
  fi
@@ -8,7 +8,7 @@ rm -Rf /tmp/nucleon
8
8
  mkdir /tmp/nucleon || exit 90
9
9
 
10
10
  cd /tmp/nucleon || exit 101
11
- git clone --branch 0.1 git://github.com/coralnexus/nucleon.git /tmp/nucleon || exit 91
11
+ git clone --branch 0.2 git://github.com/coralnexus/nucleon.git /tmp/nucleon || exit 91
12
12
  git submodule update --init --recursive || exit 92
13
13
  gem build /tmp/nucleon/nucleon.gemspec || exit 93
14
14
  gem install /tmp/nucleon/nucleon-*.gem || exit 94
@@ -3,9 +3,6 @@
3
3
 
4
4
  # For now we install CORL through the repo for testing purposes
5
5
 
6
- # Install this dependency separately so the damn thing will build.
7
- # I REALLY dislike Nokogiri.
8
- # TODO: Figure out why this is happening?
9
6
  gem install nokogiri || exit 100
10
7
 
11
8
  # Install the corl gem
@@ -13,7 +10,7 @@ rm -Rf /tmp/corl
13
10
  mkdir /tmp/corl || exit 101
14
11
 
15
12
  cd /tmp/corl || exit 102
16
- git clone --branch 0.4 git://github.com/coralnexus/corl.git /tmp/corl || exit 103
13
+ git clone --branch 0.5 git://github.com/coralnexus/corl.git /tmp/corl || exit 103
17
14
  git submodule update --init --recursive || exit 104
18
15
  gem build /tmp/corl/corl.gemspec || exit 105
19
16
  gem install /tmp/corl/corl-*.gem || exit 106
data/corl.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "corl"
8
- s.version = "0.4.29"
8
+ s.version = "0.5.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Adrian Webb"]
12
- s.date = "2014-05-21"
12
+ s.date = "2014-07-01"
13
13
  s.description = "Framework that provides a simple foundation for growing organically in the cloud"
14
14
  s.email = "adrian.webb@coralnexus.com"
15
15
  s.executables = ["corl"]
@@ -44,52 +44,32 @@ Gem::Specification.new do |s|
44
44
  "bootstrap/os/ubuntu/09_nucleon.sh",
45
45
  "bootstrap/os/ubuntu/10_corl.sh",
46
46
  "corl.gemspec",
47
- "lib/CORL/action/authorize.rb",
48
- "lib/CORL/action/bootstrap.rb",
49
- "lib/CORL/action/build.rb",
50
- "lib/CORL/action/destroy.rb",
51
- "lib/CORL/action/exec.rb",
52
- "lib/CORL/action/facts.rb",
53
- "lib/CORL/action/image.rb",
54
- "lib/CORL/action/images.rb",
55
- "lib/CORL/action/ip.rb",
56
- "lib/CORL/action/keypair.rb",
57
- "lib/CORL/action/lookup.rb",
58
- "lib/CORL/action/machines.rb",
59
- "lib/CORL/action/provision.rb",
60
- "lib/CORL/action/reboot.rb",
61
- "lib/CORL/action/regions.rb",
62
- "lib/CORL/action/revoke.rb",
63
- "lib/CORL/action/seed.rb",
64
- "lib/CORL/action/spawn.rb",
65
- "lib/CORL/action/ssh.rb",
66
- "lib/CORL/action/start.rb",
67
- "lib/CORL/action/stop.rb",
68
- "lib/CORL/action/vagrantfile.rb",
47
+ "lib/CORL/builder/identity.rb",
48
+ "lib/CORL/builder/package.rb",
69
49
  "lib/CORL/configuration/file.rb",
70
- "lib/CORL/event/puppet.rb",
71
- "lib/CORL/machine/aws.rb",
50
+ "lib/CORL/machine/AWS.rb",
72
51
  "lib/CORL/machine/physical.rb",
73
52
  "lib/CORL/machine/rackspace.rb",
74
53
  "lib/CORL/machine/vagrant.rb",
75
- "lib/CORL/network/default.rb",
76
- "lib/CORL/node/aws.rb",
54
+ "lib/CORL/network/CORL.rb",
55
+ "lib/CORL/node/AWS.rb",
77
56
  "lib/CORL/node/local.rb",
78
57
  "lib/CORL/node/rackspace.rb",
79
58
  "lib/CORL/node/vagrant.rb",
80
59
  "lib/CORL/provisioner/puppetnode.rb",
81
- "lib/CORL/template/environment.rb",
60
+ "lib/core/build.rb",
82
61
  "lib/core/errors.rb",
83
62
  "lib/core/facade.rb",
84
63
  "lib/core/mixin/action/keypair.rb",
64
+ "lib/core/mixin/builder.rb",
85
65
  "lib/core/mixin/lookup.rb",
86
66
  "lib/core/mixin/machine/ssh.rb",
87
67
  "lib/core/mixin/macro/network_settings.rb",
88
- "lib/core/mod/facter_loader.rb",
89
68
  "lib/core/mod/fog_aws_server.rb",
90
69
  "lib/core/mod/fog_rackspace_server.rb",
91
70
  "lib/core/mod/hiera_backend.rb",
92
- "lib/core/plugin/action.rb",
71
+ "lib/core/plugin/builder.rb",
72
+ "lib/core/plugin/cloud_action.rb",
93
73
  "lib/core/plugin/configuration.rb",
94
74
  "lib/core/plugin/fog_machine.rb",
95
75
  "lib/core/plugin/fog_node.rb",
@@ -117,6 +97,33 @@ Gem::Specification.new do |s|
117
97
  "lib/facter/custom_facts.rb",
118
98
  "lib/facter/vagrant_exists.rb",
119
99
  "lib/hiera/corl_logger.rb",
100
+ "lib/nucleon/action/cloud/create.rb",
101
+ "lib/nucleon/action/cloud/hiera.rb",
102
+ "lib/nucleon/action/cloud/images.rb",
103
+ "lib/nucleon/action/cloud/inspect.rb",
104
+ "lib/nucleon/action/cloud/machines.rb",
105
+ "lib/nucleon/action/cloud/regions.rb",
106
+ "lib/nucleon/action/cloud/vagrantfile.rb",
107
+ "lib/nucleon/action/node/IP.rb",
108
+ "lib/nucleon/action/node/SSH.rb",
109
+ "lib/nucleon/action/node/authorize.rb",
110
+ "lib/nucleon/action/node/bootstrap.rb",
111
+ "lib/nucleon/action/node/build.rb",
112
+ "lib/nucleon/action/node/destroy.rb",
113
+ "lib/nucleon/action/node/exec.rb",
114
+ "lib/nucleon/action/node/facts.rb",
115
+ "lib/nucleon/action/node/image.rb",
116
+ "lib/nucleon/action/node/keypair.rb",
117
+ "lib/nucleon/action/node/lookup.rb",
118
+ "lib/nucleon/action/node/provision.rb",
119
+ "lib/nucleon/action/node/reboot.rb",
120
+ "lib/nucleon/action/node/revoke.rb",
121
+ "lib/nucleon/action/node/seed.rb",
122
+ "lib/nucleon/action/node/spawn.rb",
123
+ "lib/nucleon/action/node/start.rb",
124
+ "lib/nucleon/action/node/stop.rb",
125
+ "lib/nucleon/event/puppet.rb",
126
+ "lib/nucleon/template/environment.rb",
120
127
  "lib/puppet/indirector/corl.rb",
121
128
  "lib/puppet/indirector/data_binding/corl.rb",
122
129
  "lib/puppet/parser/functions/corl_include.rb",
@@ -140,6 +147,152 @@ Gem::Specification.new do |s|
140
147
  "lib/puppet/parser/functions/render.rb",
141
148
  "lib/puppet/parser/functions/value.rb",
142
149
  "locales/en.yml",
150
+ "rdoc/site/0.4.29/CORL.html",
151
+ "rdoc/site/0.4.29/CORL/Action.html",
152
+ "rdoc/site/0.4.29/CORL/Action/Authorize.html",
153
+ "rdoc/site/0.4.29/CORL/Action/Bootstrap.html",
154
+ "rdoc/site/0.4.29/CORL/Action/Build.html",
155
+ "rdoc/site/0.4.29/CORL/Action/Destroy.html",
156
+ "rdoc/site/0.4.29/CORL/Action/Exec.html",
157
+ "rdoc/site/0.4.29/CORL/Action/Facts.html",
158
+ "rdoc/site/0.4.29/CORL/Action/Image.html",
159
+ "rdoc/site/0.4.29/CORL/Action/Images.html",
160
+ "rdoc/site/0.4.29/CORL/Action/Ip.html",
161
+ "rdoc/site/0.4.29/CORL/Action/Keypair.html",
162
+ "rdoc/site/0.4.29/CORL/Action/Lookup.html",
163
+ "rdoc/site/0.4.29/CORL/Action/Machines.html",
164
+ "rdoc/site/0.4.29/CORL/Action/Provision.html",
165
+ "rdoc/site/0.4.29/CORL/Action/Reboot.html",
166
+ "rdoc/site/0.4.29/CORL/Action/Regions.html",
167
+ "rdoc/site/0.4.29/CORL/Action/Revoke.html",
168
+ "rdoc/site/0.4.29/CORL/Action/Seed.html",
169
+ "rdoc/site/0.4.29/CORL/Action/Spawn.html",
170
+ "rdoc/site/0.4.29/CORL/Action/Ssh.html",
171
+ "rdoc/site/0.4.29/CORL/Action/Start.html",
172
+ "rdoc/site/0.4.29/CORL/Action/Stop.html",
173
+ "rdoc/site/0.4.29/CORL/Action/Vagrantfile.html",
174
+ "rdoc/site/0.4.29/CORL/Configuration.html",
175
+ "rdoc/site/0.4.29/CORL/Configuration/File.html",
176
+ "rdoc/site/0.4.29/CORL/Errors.html",
177
+ "rdoc/site/0.4.29/CORL/Event.html",
178
+ "rdoc/site/0.4.29/CORL/Event/Puppet.html",
179
+ "rdoc/site/0.4.29/CORL/Facade.html",
180
+ "rdoc/site/0.4.29/CORL/Machine.html",
181
+ "rdoc/site/0.4.29/CORL/Machine/Aws.html",
182
+ "rdoc/site/0.4.29/CORL/Machine/Fog.html",
183
+ "rdoc/site/0.4.29/CORL/Machine/Physical.html",
184
+ "rdoc/site/0.4.29/CORL/Machine/Rackspace.html",
185
+ "rdoc/site/0.4.29/CORL/Machine/Vagrant.html",
186
+ "rdoc/site/0.4.29/CORL/Mixin.html",
187
+ "rdoc/site/0.4.29/CORL/Mixin/Action.html",
188
+ "rdoc/site/0.4.29/CORL/Mixin/Action/Keypair.html",
189
+ "rdoc/site/0.4.29/CORL/Mixin/Lookup.html",
190
+ "rdoc/site/0.4.29/CORL/Mixin/Machine.html",
191
+ "rdoc/site/0.4.29/CORL/Mixin/Machine/SSH.html",
192
+ "rdoc/site/0.4.29/CORL/Mixin/Macro.html",
193
+ "rdoc/site/0.4.29/CORL/Mixin/Macro/NetworkSettings.html",
194
+ "rdoc/site/0.4.29/CORL/Network.html",
195
+ "rdoc/site/0.4.29/CORL/Network/Default.html",
196
+ "rdoc/site/0.4.29/CORL/Node.html",
197
+ "rdoc/site/0.4.29/CORL/Node/Aws.html",
198
+ "rdoc/site/0.4.29/CORL/Node/Fog.html",
199
+ "rdoc/site/0.4.29/CORL/Node/Local.html",
200
+ "rdoc/site/0.4.29/CORL/Node/Rackspace.html",
201
+ "rdoc/site/0.4.29/CORL/Node/Vagrant.html",
202
+ "rdoc/site/0.4.29/CORL/Plugin.html",
203
+ "rdoc/site/0.4.29/CORL/Plugin/CloudAction.html",
204
+ "rdoc/site/0.4.29/CORL/Provisioner.html",
205
+ "rdoc/site/0.4.29/CORL/Provisioner/Puppetnode.html",
206
+ "rdoc/site/0.4.29/CORL/Template.html",
207
+ "rdoc/site/0.4.29/CORL/Template/Environment.html",
208
+ "rdoc/site/0.4.29/CORL/Util.html",
209
+ "rdoc/site/0.4.29/CORL/Util/Puppet.html",
210
+ "rdoc/site/0.4.29/CORL/Util/Puppet/Resource.html",
211
+ "rdoc/site/0.4.29/CORL/Util/Puppet/ResourceGroup.html",
212
+ "rdoc/site/0.4.29/CORL/Vagrant.html",
213
+ "rdoc/site/0.4.29/CORL/Vagrant/Config.html",
214
+ "rdoc/site/0.4.29/Facter.html",
215
+ "rdoc/site/0.4.29/Facter/Util.html",
216
+ "rdoc/site/0.4.29/Facter/Util/Loader.html",
217
+ "rdoc/site/0.4.29/Fog.html",
218
+ "rdoc/site/0.4.29/Fog/Compute.html",
219
+ "rdoc/site/0.4.29/Fog/Compute/AWS.html",
220
+ "rdoc/site/0.4.29/Fog/Compute/AWS/Server.html",
221
+ "rdoc/site/0.4.29/Fog/Compute/RackspaceV2.html",
222
+ "rdoc/site/0.4.29/Fog/Compute/RackspaceV2/Server.html",
223
+ "rdoc/site/0.4.29/Hiera.html",
224
+ "rdoc/site/0.4.29/Hiera/Backend.html",
225
+ "rdoc/site/0.4.29/Hiera/Corl_logger.html",
226
+ "rdoc/site/0.4.29/Nucleon.html",
227
+ "rdoc/site/0.4.29/Nucleon/Config.html",
228
+ "rdoc/site/0.4.29/Nucleon/Plugin.html",
229
+ "rdoc/site/0.4.29/Nucleon/Plugin/Base.html",
230
+ "rdoc/site/0.4.29/Nucleon/Plugin/Configuration.html",
231
+ "rdoc/site/0.4.29/Nucleon/Plugin/Machine.html",
232
+ "rdoc/site/0.4.29/Nucleon/Plugin/Network.html",
233
+ "rdoc/site/0.4.29/Nucleon/Plugin/Node.html",
234
+ "rdoc/site/0.4.29/Nucleon/Plugin/Provisioner.html",
235
+ "rdoc/site/0.4.29/Object.html",
236
+ "rdoc/site/0.4.29/Puppet.html",
237
+ "rdoc/site/0.4.29/Puppet/DataBinding.html",
238
+ "rdoc/site/0.4.29/Puppet/DataBinding/Corl.html",
239
+ "rdoc/site/0.4.29/Puppet/Indirector.html",
240
+ "rdoc/site/0.4.29/Puppet/Indirector/Corl.html",
241
+ "rdoc/site/0.4.29/Puppet/Parser.html",
242
+ "rdoc/site/0.4.29/Puppet/Parser/Functions.html",
243
+ "rdoc/site/0.4.29/README_rdoc.html",
244
+ "rdoc/site/0.4.29/Vagrant.html",
245
+ "rdoc/site/0.4.29/Vagrant/Config.html",
246
+ "rdoc/site/0.4.29/Vagrant/Config/Loader.html",
247
+ "rdoc/site/0.4.29/Vagrant/Vagrantfile.html",
248
+ "rdoc/site/0.4.29/VagrantPlugins.html",
249
+ "rdoc/site/0.4.29/VagrantPlugins/CORL.html",
250
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Action.html",
251
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Action/DeleteCache.html",
252
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Action/InitKeys.html",
253
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Action/LinkNetwork.html",
254
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/BaseAction.html",
255
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Command.html",
256
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Command/Launcher.html",
257
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Config.html",
258
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Config/CORL.html",
259
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Plugin.html",
260
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Provisioner.html",
261
+ "rdoc/site/0.4.29/VagrantPlugins/CORL/Provisioner/CORL.html",
262
+ "rdoc/site/0.4.29/created.rid",
263
+ "rdoc/site/0.4.29/images/add.png",
264
+ "rdoc/site/0.4.29/images/brick.png",
265
+ "rdoc/site/0.4.29/images/brick_link.png",
266
+ "rdoc/site/0.4.29/images/bug.png",
267
+ "rdoc/site/0.4.29/images/bullet_black.png",
268
+ "rdoc/site/0.4.29/images/bullet_toggle_minus.png",
269
+ "rdoc/site/0.4.29/images/bullet_toggle_plus.png",
270
+ "rdoc/site/0.4.29/images/date.png",
271
+ "rdoc/site/0.4.29/images/delete.png",
272
+ "rdoc/site/0.4.29/images/find.png",
273
+ "rdoc/site/0.4.29/images/loadingAnimation.gif",
274
+ "rdoc/site/0.4.29/images/macFFBgHack.png",
275
+ "rdoc/site/0.4.29/images/package.png",
276
+ "rdoc/site/0.4.29/images/page_green.png",
277
+ "rdoc/site/0.4.29/images/page_white_text.png",
278
+ "rdoc/site/0.4.29/images/page_white_width.png",
279
+ "rdoc/site/0.4.29/images/plugin.png",
280
+ "rdoc/site/0.4.29/images/ruby.png",
281
+ "rdoc/site/0.4.29/images/tag_blue.png",
282
+ "rdoc/site/0.4.29/images/tag_green.png",
283
+ "rdoc/site/0.4.29/images/transparent.png",
284
+ "rdoc/site/0.4.29/images/wrench.png",
285
+ "rdoc/site/0.4.29/images/wrench_orange.png",
286
+ "rdoc/site/0.4.29/images/zoom.png",
287
+ "rdoc/site/0.4.29/index.html",
288
+ "rdoc/site/0.4.29/js/darkfish.js",
289
+ "rdoc/site/0.4.29/js/jquery.js",
290
+ "rdoc/site/0.4.29/js/navigation.js",
291
+ "rdoc/site/0.4.29/js/search.js",
292
+ "rdoc/site/0.4.29/js/search_index.js",
293
+ "rdoc/site/0.4.29/js/searcher.js",
294
+ "rdoc/site/0.4.29/rdoc.css",
295
+ "rdoc/site/0.4.29/table_of_contents.html",
143
296
  "spec/corl_mock_input.rb",
144
297
  "spec/corl_test_kernel.rb",
145
298
  "spec/spec_helper.rb"
@@ -157,12 +310,12 @@ Gem::Specification.new do |s|
157
310
  s.specification_version = 4
158
311
 
159
312
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
160
- s.add_runtime_dependency(%q<nucleon>, [">= 0.1.10", "~> 0.1"])
313
+ s.add_runtime_dependency(%q<nucleon>, [">= 0.2.0", "~> 0.2"])
161
314
  s.add_runtime_dependency(%q<fog>, ["~> 1.20"])
162
315
  s.add_runtime_dependency(%q<unf>, ["~> 0.1"])
163
- s.add_runtime_dependency(%q<facter>, ["~> 1.7"])
316
+ s.add_runtime_dependency(%q<facter>, ["~> 2.1"])
164
317
  s.add_runtime_dependency(%q<hiera>, ["~> 1.3"])
165
- s.add_runtime_dependency(%q<puppet>, ["<= 3.4.3", "~> 3.2"])
318
+ s.add_runtime_dependency(%q<puppet>, ["~> 3.6"])
166
319
  s.add_development_dependency(%q<bundler>, ["~> 1.2"])
167
320
  s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
168
321
  s.add_development_dependency(%q<rspec>, ["~> 2.10"])
@@ -170,12 +323,12 @@ Gem::Specification.new do |s|
170
323
  s.add_development_dependency(%q<yard>, ["~> 0.8"])
171
324
  s.add_development_dependency(%q<vagrant>, ["~> 1.5"])
172
325
  else
173
- s.add_dependency(%q<nucleon>, [">= 0.1.10", "~> 0.1"])
326
+ s.add_dependency(%q<nucleon>, [">= 0.2.0", "~> 0.2"])
174
327
  s.add_dependency(%q<fog>, ["~> 1.20"])
175
328
  s.add_dependency(%q<unf>, ["~> 0.1"])
176
- s.add_dependency(%q<facter>, ["~> 1.7"])
329
+ s.add_dependency(%q<facter>, ["~> 2.1"])
177
330
  s.add_dependency(%q<hiera>, ["~> 1.3"])
178
- s.add_dependency(%q<puppet>, ["<= 3.4.3", "~> 3.2"])
331
+ s.add_dependency(%q<puppet>, ["~> 3.6"])
179
332
  s.add_dependency(%q<bundler>, ["~> 1.2"])
180
333
  s.add_dependency(%q<jeweler>, ["~> 2.0"])
181
334
  s.add_dependency(%q<rspec>, ["~> 2.10"])
@@ -184,12 +337,12 @@ Gem::Specification.new do |s|
184
337
  s.add_dependency(%q<vagrant>, ["~> 1.5"])
185
338
  end
186
339
  else
187
- s.add_dependency(%q<nucleon>, [">= 0.1.10", "~> 0.1"])
340
+ s.add_dependency(%q<nucleon>, [">= 0.2.0", "~> 0.2"])
188
341
  s.add_dependency(%q<fog>, ["~> 1.20"])
189
342
  s.add_dependency(%q<unf>, ["~> 0.1"])
190
- s.add_dependency(%q<facter>, ["~> 1.7"])
343
+ s.add_dependency(%q<facter>, ["~> 2.1"])
191
344
  s.add_dependency(%q<hiera>, ["~> 1.3"])
192
- s.add_dependency(%q<puppet>, ["<= 3.4.3", "~> 3.2"])
345
+ s.add_dependency(%q<puppet>, ["~> 3.6"])
193
346
  s.add_dependency(%q<bundler>, ["~> 1.2"])
194
347
  s.add_dependency(%q<jeweler>, ["~> 2.0"])
195
348
  s.add_dependency(%q<rspec>, ["~> 2.10"])
@@ -0,0 +1,68 @@
1
+
2
+ module CORL
3
+ module Builder
4
+ class Identity < CORL.plugin_class(:CORL, :builder)
5
+
6
+ #-----------------------------------------------------------------------------
7
+ # Identity plugin interface
8
+
9
+ def normalize(reload)
10
+ super do
11
+ @identities = {}
12
+ end
13
+ end
14
+
15
+ #-----------------------------------------------------------------------------
16
+ # Property accessors / modifiers
17
+
18
+ def build_directory
19
+ File.join(network.directory, 'config', 'identities')
20
+ end
21
+
22
+ #---
23
+
24
+ def identities
25
+ @identities
26
+ end
27
+
28
+ def set_identity(name, directory)
29
+ @identities[name] = directory
30
+ end
31
+
32
+ #-----------------------------------------------------------------------------
33
+ # Identity interface operations
34
+
35
+ def build_provider(name, project_reference, environment)
36
+ provider_id = id(name)
37
+ directory = File.join(internal_path(build_directory), provider_id.to_s)
38
+ success = true
39
+
40
+ ui.info("Building identity #{blue(name)} at #{purple(project_reference)} into #{green(directory)}")
41
+
42
+ full_directory = File.join(network.directory, directory)
43
+
44
+ unless identities.has_key?(provider_id)
45
+ project = build_config.manage(:project, extended_config(:identity, {
46
+ :directory => full_directory,
47
+ :url => project_reference,
48
+ :create => File.directory?(full_directory) ? false : true,
49
+ :pull => true,
50
+ :internal_ip => CORL.public_ip, # Needed for seeding Vagrant VMs
51
+ :manage_ignore => false
52
+ }))
53
+ unless project
54
+ ui.warn("Identity #{cyan(name)} failed to initialize")
55
+ success = false
56
+ end
57
+
58
+ if success
59
+ set_identity(provider_id, full_directory)
60
+ build_config.set_location(plugin_provider, name, directory)
61
+ end
62
+ end
63
+ ui.success("Build of identity #{blue(name)} finished") if success
64
+ success
65
+ end
66
+ end
67
+ end
68
+ end