corl 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. data/.document +5 -0
  2. data/.gitmodules +4 -0
  3. data/Gemfile +24 -0
  4. data/Gemfile.lock +123 -0
  5. data/LICENSE.txt +674 -0
  6. data/README.rdoc +27 -0
  7. data/Rakefile +78 -0
  8. data/VERSION +1 -0
  9. data/bin/corl +55 -0
  10. data/corl.gemspec +228 -0
  11. data/lib/corl/action/add.rb +69 -0
  12. data/lib/corl/action/bootstrap.rb +83 -0
  13. data/lib/corl/action/clone.rb +40 -0
  14. data/lib/corl/action/create.rb +55 -0
  15. data/lib/corl/action/exec.rb +41 -0
  16. data/lib/corl/action/extract.rb +49 -0
  17. data/lib/corl/action/image.rb +30 -0
  18. data/lib/corl/action/images.rb +55 -0
  19. data/lib/corl/action/lookup.rb +35 -0
  20. data/lib/corl/action/machines.rb +51 -0
  21. data/lib/corl/action/provision.rb +37 -0
  22. data/lib/corl/action/remove.rb +51 -0
  23. data/lib/corl/action/save.rb +53 -0
  24. data/lib/corl/action/seed.rb +115 -0
  25. data/lib/corl/action/spawn.rb +75 -0
  26. data/lib/corl/action/start.rb +37 -0
  27. data/lib/corl/action/stop.rb +30 -0
  28. data/lib/corl/action/update.rb +37 -0
  29. data/lib/corl/command/shell.rb +164 -0
  30. data/lib/corl/configuration/file.rb +386 -0
  31. data/lib/corl/event/puppet.rb +90 -0
  32. data/lib/corl/event/regex.rb +52 -0
  33. data/lib/corl/extension/puppetloader.rb +24 -0
  34. data/lib/corl/machine/fog.rb +310 -0
  35. data/lib/corl/machine/physical.rb +161 -0
  36. data/lib/corl/network/default.rb +26 -0
  37. data/lib/corl/node/aws.rb +90 -0
  38. data/lib/corl/node/fog.rb +198 -0
  39. data/lib/corl/node/google.rb +115 -0
  40. data/lib/corl/node/local.rb +26 -0
  41. data/lib/corl/node/rackspace.rb +89 -0
  42. data/lib/corl/project/git.rb +465 -0
  43. data/lib/corl/project/github.rb +108 -0
  44. data/lib/corl/provisioner/puppetnode/resource.rb +245 -0
  45. data/lib/corl/provisioner/puppetnode/resource_group.rb +205 -0
  46. data/lib/corl/provisioner/puppetnode.rb +407 -0
  47. data/lib/corl/template/environment.rb +73 -0
  48. data/lib/corl/template/json.rb +16 -0
  49. data/lib/corl/template/wrapper.rb +16 -0
  50. data/lib/corl/template/yaml.rb +16 -0
  51. data/lib/corl/translator/json.rb +27 -0
  52. data/lib/corl/translator/yaml.rb +27 -0
  53. data/lib/corl.rb +173 -0
  54. data/lib/corl_core/codes.rb +107 -0
  55. data/lib/corl_core/config/collection.rb +57 -0
  56. data/lib/corl_core/config/options.rb +70 -0
  57. data/lib/corl_core/config.rb +337 -0
  58. data/lib/corl_core/core.rb +59 -0
  59. data/lib/corl_core/corl.rb +254 -0
  60. data/lib/corl_core/errors.rb +84 -0
  61. data/lib/corl_core/facade.rb +126 -0
  62. data/lib/corl_core/gems.rb +72 -0
  63. data/lib/corl_core/manager.rb +425 -0
  64. data/lib/corl_core/mixin/action/commit.rb +58 -0
  65. data/lib/corl_core/mixin/action/keypair.rb +105 -0
  66. data/lib/corl_core/mixin/action/node.rb +129 -0
  67. data/lib/corl_core/mixin/action/project.rb +53 -0
  68. data/lib/corl_core/mixin/action/push.rb +52 -0
  69. data/lib/corl_core/mixin/config/collection.rb +53 -0
  70. data/lib/corl_core/mixin/config/ops.rb +53 -0
  71. data/lib/corl_core/mixin/config/options.rb +39 -0
  72. data/lib/corl_core/mixin/lookup.rb +196 -0
  73. data/lib/corl_core/mixin/macro/object_interface.rb +361 -0
  74. data/lib/corl_core/mixin/macro/plugin_interface.rb +380 -0
  75. data/lib/corl_core/mixin/settings.rb +46 -0
  76. data/lib/corl_core/mixin/sub_config.rb +148 -0
  77. data/lib/corl_core/mod/hash.rb +29 -0
  78. data/lib/corl_core/mod/hiera_backend.rb +63 -0
  79. data/lib/corl_core/plugin/action.rb +381 -0
  80. data/lib/corl_core/plugin/base.rb +374 -0
  81. data/lib/corl_core/plugin/command.rb +98 -0
  82. data/lib/corl_core/plugin/configuration.rb +177 -0
  83. data/lib/corl_core/plugin/event.rb +53 -0
  84. data/lib/corl_core/plugin/extension.rb +12 -0
  85. data/lib/corl_core/plugin/machine.rb +266 -0
  86. data/lib/corl_core/plugin/network.rb +359 -0
  87. data/lib/corl_core/plugin/node.rb +904 -0
  88. data/lib/corl_core/plugin/project.rb +927 -0
  89. data/lib/corl_core/plugin/provisioner.rb +51 -0
  90. data/lib/corl_core/plugin/template.rb +80 -0
  91. data/lib/corl_core/plugin/translator.rb +38 -0
  92. data/lib/corl_core/util/cli.rb +352 -0
  93. data/lib/corl_core/util/data.rb +404 -0
  94. data/lib/corl_core/util/disk.rb +114 -0
  95. data/lib/corl_core/util/git.rb +47 -0
  96. data/lib/corl_core/util/interface.rb +319 -0
  97. data/lib/corl_core/util/liquid.rb +17 -0
  98. data/lib/corl_core/util/package.rb +93 -0
  99. data/lib/corl_core/util/shell.rb +239 -0
  100. data/lib/corl_core/util/ssh.rb +286 -0
  101. data/lib/facter/corl_config_ready.rb +13 -0
  102. data/lib/facter/corl_exists.rb +15 -0
  103. data/lib/facter/corl_network.rb +17 -0
  104. data/lib/hiera/corl_logger.rb +18 -0
  105. data/lib/puppet/indirector/corl.rb +27 -0
  106. data/lib/puppet/indirector/data_binding/corl.rb +6 -0
  107. data/lib/puppet/parser/functions/config_initialized.rb +26 -0
  108. data/lib/puppet/parser/functions/corl_include.rb +44 -0
  109. data/lib/puppet/parser/functions/corl_resources.rb +58 -0
  110. data/lib/puppet/parser/functions/deep_merge.rb +21 -0
  111. data/lib/puppet/parser/functions/ensure.rb +29 -0
  112. data/lib/puppet/parser/functions/file_exists.rb +19 -0
  113. data/lib/puppet/parser/functions/global_array.rb +35 -0
  114. data/lib/puppet/parser/functions/global_hash.rb +35 -0
  115. data/lib/puppet/parser/functions/global_options.rb +23 -0
  116. data/lib/puppet/parser/functions/global_param.rb +43 -0
  117. data/lib/puppet/parser/functions/interpolate.rb +26 -0
  118. data/lib/puppet/parser/functions/is_false.rb +21 -0
  119. data/lib/puppet/parser/functions/is_true.rb +21 -0
  120. data/lib/puppet/parser/functions/module_array.rb +38 -0
  121. data/lib/puppet/parser/functions/module_hash.rb +38 -0
  122. data/lib/puppet/parser/functions/module_options.rb +23 -0
  123. data/lib/puppet/parser/functions/module_param.rb +48 -0
  124. data/lib/puppet/parser/functions/name.rb +21 -0
  125. data/lib/puppet/parser/functions/render.rb +33 -0
  126. data/lib/puppet/parser/functions/value.rb +21 -0
  127. data/locales/en.yml +232 -0
  128. data/spec/corl_core/interface_spec.rb +489 -0
  129. data/spec/corl_mock_input.rb +29 -0
  130. data/spec/corl_test_kernel.rb +22 -0
  131. data/spec/spec_helper.rb +15 -0
  132. metadata +406 -0
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.gitmodules ADDED
@@ -0,0 +1,4 @@
1
+
2
+ [submodule "bootstrap"]
3
+ path = bootstrap
4
+ url = git://github.com/coralnexus/coral-bootstrap.git
data/Gemfile ADDED
@@ -0,0 +1,24 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "log4r", "~> 1.1"
4
+ gem "i18n", "~> 0.6"
5
+ gem "deep_merge", "~> 1.0"
6
+ gem "celluloid", "~> 0.15"
7
+ gem "sshkey", "~> 1.6"
8
+ gem "hiera", "~> 1.3"
9
+ gem "multi_json", "~> 1.7"
10
+ gem "grit", "~> 2.5"
11
+ gem "octokit", "~> 2.7"
12
+ gem "netrc", "~> 0.7"
13
+ gem "fog", "~> 1.20"
14
+ gem "rgen", "~> 0.6"
15
+ gem "facter", "~> 1.7"
16
+ gem "puppet", "~> 3.2"
17
+
18
+ group :development do
19
+ gem "bundler", "~> 1.2"
20
+ gem "jeweler", "~> 2.0"
21
+ gem "rspec", "~> 2.10"
22
+ gem "rdoc", "~> 3.12"
23
+ gem "yard", "~> 0.8"
24
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,123 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ addressable (2.3.5)
5
+ builder (3.2.2)
6
+ celluloid (0.15.2)
7
+ timers (~> 1.1.0)
8
+ deep_merge (1.0.1)
9
+ descendants_tracker (0.0.3)
10
+ diff-lcs (1.2.5)
11
+ excon (0.31.0)
12
+ facter (1.7.5)
13
+ faraday (0.9.0)
14
+ multipart-post (>= 1.2, < 3)
15
+ fog (1.20.0)
16
+ builder
17
+ excon (~> 0.31.0)
18
+ formatador (~> 0.2.0)
19
+ mime-types
20
+ multi_json (~> 1.0)
21
+ net-scp (~> 1.1)
22
+ net-ssh (>= 2.1.3)
23
+ nokogiri (>= 1.5.11)
24
+ formatador (0.2.4)
25
+ git (1.2.6)
26
+ github_api (0.11.2)
27
+ addressable (~> 2.3)
28
+ descendants_tracker (~> 0.0.1)
29
+ faraday (~> 0.8, < 0.10)
30
+ hashie (>= 1.2)
31
+ multi_json (>= 1.7.5, < 2.0)
32
+ nokogiri (~> 1.6.0)
33
+ oauth2
34
+ grit (2.5.0)
35
+ diff-lcs (~> 1.1)
36
+ mime-types (~> 1.15)
37
+ posix-spawn (~> 0.3.6)
38
+ hashie (2.0.5)
39
+ hiera (1.3.1)
40
+ json_pure
41
+ highline (1.6.20)
42
+ i18n (0.6.9)
43
+ jeweler (2.0.1)
44
+ builder
45
+ bundler (>= 1.0)
46
+ git (>= 1.2.5)
47
+ github_api
48
+ highline (>= 1.6.15)
49
+ nokogiri (>= 1.5.10)
50
+ rake
51
+ rdoc
52
+ json (1.8.1)
53
+ json_pure (1.8.1)
54
+ jwt (0.1.11)
55
+ multi_json (>= 1.5)
56
+ log4r (1.1.10)
57
+ mime-types (1.25.1)
58
+ mini_portile (0.5.2)
59
+ multi_json (1.8.4)
60
+ multi_xml (0.5.5)
61
+ multipart-post (2.0.0)
62
+ net-scp (1.1.2)
63
+ net-ssh (>= 2.6.5)
64
+ net-ssh (2.8.0)
65
+ netrc (0.7.7)
66
+ nokogiri (1.6.1)
67
+ mini_portile (~> 0.5.0)
68
+ oauth2 (0.9.3)
69
+ faraday (>= 0.8, < 0.10)
70
+ jwt (~> 0.1.8)
71
+ multi_json (~> 1.3)
72
+ multi_xml (~> 0.5)
73
+ rack (~> 1.2)
74
+ octokit (2.7.1)
75
+ sawyer (~> 0.5.2)
76
+ posix-spawn (0.3.8)
77
+ puppet (3.4.3)
78
+ facter (~> 1.6)
79
+ hiera (~> 1.0)
80
+ rgen (~> 0.6.5)
81
+ rack (1.5.2)
82
+ rake (10.1.1)
83
+ rdoc (3.12.2)
84
+ json (~> 1.4)
85
+ rgen (0.6.6)
86
+ rspec (2.14.1)
87
+ rspec-core (~> 2.14.0)
88
+ rspec-expectations (~> 2.14.0)
89
+ rspec-mocks (~> 2.14.0)
90
+ rspec-core (2.14.7)
91
+ rspec-expectations (2.14.5)
92
+ diff-lcs (>= 1.1.3, < 2.0)
93
+ rspec-mocks (2.14.5)
94
+ sawyer (0.5.3)
95
+ addressable (~> 2.3.5)
96
+ faraday (~> 0.8, < 0.10)
97
+ sshkey (1.6.1)
98
+ timers (1.1.0)
99
+ yard (0.8.7.3)
100
+
101
+ PLATFORMS
102
+ ruby
103
+
104
+ DEPENDENCIES
105
+ bundler (~> 1.2)
106
+ celluloid (~> 0.15)
107
+ deep_merge (~> 1.0)
108
+ facter (~> 1.7)
109
+ fog (~> 1.20)
110
+ grit (~> 2.5)
111
+ hiera (~> 1.3)
112
+ i18n (~> 0.6)
113
+ jeweler (~> 2.0)
114
+ log4r (~> 1.1)
115
+ multi_json (~> 1.7)
116
+ netrc (~> 0.7)
117
+ octokit (~> 2.7)
118
+ puppet (~> 3.2)
119
+ rdoc (~> 3.12)
120
+ rgen (~> 0.6)
121
+ rspec (~> 2.10)
122
+ sshkey (~> 1.6)
123
+ yard (~> 0.8)