ironfan 3.1.0.rc1

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 (59) hide show
  1. data/.gitignore +51 -0
  2. data/.rspec +3 -0
  3. data/CHANGELOG.md +130 -0
  4. data/Gemfile +26 -0
  5. data/LICENSE.md +201 -0
  6. data/README.md +328 -0
  7. data/Rakefile +104 -0
  8. data/TODO.md +16 -0
  9. data/VERSION +1 -0
  10. data/chefignore +41 -0
  11. data/cluster_chef-knife.gemspec +123 -0
  12. data/cluster_chef.gemspec +111 -0
  13. data/config/client.rb +59 -0
  14. data/config/proxy.pac +12 -0
  15. data/config/ubuntu10.04-ironfan.erb +157 -0
  16. data/config/ubuntu11.10-ironfan.erb +145 -0
  17. data/ironfan.gemspec +121 -0
  18. data/lib/chef/knife/bootstrap/ubuntu10.04-ironfan.erb +157 -0
  19. data/lib/chef/knife/bootstrap/ubuntu11.10-ironfan.erb +145 -0
  20. data/lib/chef/knife/cluster_bootstrap.rb +74 -0
  21. data/lib/chef/knife/cluster_kick.rb +94 -0
  22. data/lib/chef/knife/cluster_kill.rb +73 -0
  23. data/lib/chef/knife/cluster_launch.rb +164 -0
  24. data/lib/chef/knife/cluster_list.rb +50 -0
  25. data/lib/chef/knife/cluster_proxy.rb +126 -0
  26. data/lib/chef/knife/cluster_show.rb +61 -0
  27. data/lib/chef/knife/cluster_ssh.rb +141 -0
  28. data/lib/chef/knife/cluster_start.rb +40 -0
  29. data/lib/chef/knife/cluster_stop.rb +43 -0
  30. data/lib/chef/knife/cluster_sync.rb +77 -0
  31. data/lib/chef/knife/generic_command.rb +66 -0
  32. data/lib/chef/knife/knife_common.rb +195 -0
  33. data/lib/ironfan.rb +143 -0
  34. data/lib/ironfan/chef_layer.rb +299 -0
  35. data/lib/ironfan/cloud.rb +412 -0
  36. data/lib/ironfan/cluster.rb +118 -0
  37. data/lib/ironfan/compute.rb +153 -0
  38. data/lib/ironfan/deprecated.rb +33 -0
  39. data/lib/ironfan/discovery.rb +177 -0
  40. data/lib/ironfan/dsl_object.rb +124 -0
  41. data/lib/ironfan/facet.rb +144 -0
  42. data/lib/ironfan/fog_layer.rb +150 -0
  43. data/lib/ironfan/private_key.rb +130 -0
  44. data/lib/ironfan/role_implications.rb +58 -0
  45. data/lib/ironfan/security_group.rb +119 -0
  46. data/lib/ironfan/server.rb +281 -0
  47. data/lib/ironfan/server_slice.rb +260 -0
  48. data/lib/ironfan/volume.rb +157 -0
  49. data/spec/ironfan/cluster_spec.rb +13 -0
  50. data/spec/ironfan/facet_spec.rb +69 -0
  51. data/spec/ironfan/server_slice_spec.rb +19 -0
  52. data/spec/ironfan/server_spec.rb +112 -0
  53. data/spec/ironfan_spec.rb +193 -0
  54. data/spec/spec_helper.rb +50 -0
  55. data/spec/spec_helper/dummy_chef.rb +25 -0
  56. data/spec/test_config.rb +20 -0
  57. data/tasks/chef_config.rake +38 -0
  58. data/tasks/jeweler_use_alt_branch.rake +53 -0
  59. metadata +217 -0
@@ -0,0 +1,53 @@
1
+
2
+ #
3
+ # Jeweler has hardcoded the 'master' branch as where to push from.
4
+ # We hardcode it right back in.
5
+ #
6
+
7
+ module Jeweler::Commands
8
+
9
+ PUSH_FROM_BRANCH = 'master' unless defined?(PUSH_FROM_BRANCH)
10
+
11
+ ReleaseToGit.class_eval do
12
+ def run
13
+ branch = PUSH_FROM_BRANCH
14
+ remote = 'origin'
15
+
16
+ unless clean_staging_area?
17
+ system "git status"
18
+ raise "Unclean staging area! Be sure to commit or .gitignore everything first. See `git status` above."
19
+ end
20
+
21
+ repo.checkout(branch)
22
+ repo.push(remote, branch)
23
+
24
+ if release_not_tagged?
25
+ output.puts "Tagging #{release_tag}"
26
+ repo.add_tag(release_tag)
27
+
28
+ output.puts "Pushing #{release_tag} to origin"
29
+ repo.push('origin', release_tag)
30
+ end
31
+ end
32
+ end
33
+
34
+ ReleaseGemspec.class_eval do
35
+ def run
36
+ branch = PUSH_FROM_BRANCH
37
+ remote = 'origin'
38
+
39
+ unless clean_staging_area?
40
+ system "git status"
41
+ raise "Unclean staging area! Be sure to commit or .gitignore everything first. See `git status` above."
42
+ end
43
+
44
+ repo.checkout(branch)
45
+
46
+ regenerate_gemspec!
47
+ commit_gemspec! if gemspec_changed?
48
+
49
+ output.puts "Pushing #{branch} to origin"
50
+ repo.push(remote, branch)
51
+ end
52
+ end
53
+ end
metadata ADDED
@@ -0,0 +1,217 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ironfan
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.1.0.rc1
5
+ prerelease: 6
6
+ platform: ruby
7
+ authors:
8
+ - Infochimps
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-02-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: chef
16
+ requirement: &70274003056380 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.10.4
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70274003056380
25
+ - !ruby/object:Gem::Dependency
26
+ name: fog
27
+ requirement: &70274003055860 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 1.1.1
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70274003055860
36
+ - !ruby/object:Gem::Dependency
37
+ name: formatador
38
+ requirement: &70274003074980 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 0.2.1
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70274003074980
47
+ - !ruby/object:Gem::Dependency
48
+ name: gorillib
49
+ requirement: &70274003073800 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 0.1.7
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70274003073800
58
+ - !ruby/object:Gem::Dependency
59
+ name: bundler
60
+ requirement: &70274003073000 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '1'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70274003073000
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: &70274003072240 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: '1.6'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70274003072240
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec
82
+ requirement: &70274003071520 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: '2.5'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70274003071520
91
+ - !ruby/object:Gem::Dependency
92
+ name: yard
93
+ requirement: &70274003070540 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: '0.6'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *70274003070540
102
+ - !ruby/object:Gem::Dependency
103
+ name: configliere
104
+ requirement: &70274003069740 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 0.4.8
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *70274003069740
113
+ description: ironfan allows you to orchestrate not just systems but clusters of machines.
114
+ It includes a powerful layer on top of knife and a collection of cloud cookbooks.
115
+ email: coders@infochimps.com
116
+ executables: []
117
+ extensions: []
118
+ extra_rdoc_files:
119
+ - LICENSE.md
120
+ - README.md
121
+ files:
122
+ - .gitignore
123
+ - .rspec
124
+ - CHANGELOG.md
125
+ - Gemfile
126
+ - LICENSE.md
127
+ - README.md
128
+ - Rakefile
129
+ - TODO.md
130
+ - VERSION
131
+ - chefignore
132
+ - cluster_chef-knife.gemspec
133
+ - cluster_chef.gemspec
134
+ - config/client.rb
135
+ - config/proxy.pac
136
+ - config/ubuntu10.04-ironfan.erb
137
+ - config/ubuntu11.10-ironfan.erb
138
+ - ironfan.gemspec
139
+ - lib/chef/knife/bootstrap/ubuntu10.04-ironfan.erb
140
+ - lib/chef/knife/bootstrap/ubuntu11.10-ironfan.erb
141
+ - lib/chef/knife/cluster_bootstrap.rb
142
+ - lib/chef/knife/cluster_kick.rb
143
+ - lib/chef/knife/cluster_kill.rb
144
+ - lib/chef/knife/cluster_launch.rb
145
+ - lib/chef/knife/cluster_list.rb
146
+ - lib/chef/knife/cluster_proxy.rb
147
+ - lib/chef/knife/cluster_show.rb
148
+ - lib/chef/knife/cluster_ssh.rb
149
+ - lib/chef/knife/cluster_start.rb
150
+ - lib/chef/knife/cluster_stop.rb
151
+ - lib/chef/knife/cluster_sync.rb
152
+ - lib/chef/knife/generic_command.rb
153
+ - lib/chef/knife/knife_common.rb
154
+ - lib/ironfan.rb
155
+ - lib/ironfan/chef_layer.rb
156
+ - lib/ironfan/cloud.rb
157
+ - lib/ironfan/cluster.rb
158
+ - lib/ironfan/compute.rb
159
+ - lib/ironfan/deprecated.rb
160
+ - lib/ironfan/discovery.rb
161
+ - lib/ironfan/dsl_object.rb
162
+ - lib/ironfan/facet.rb
163
+ - lib/ironfan/fog_layer.rb
164
+ - lib/ironfan/private_key.rb
165
+ - lib/ironfan/role_implications.rb
166
+ - lib/ironfan/security_group.rb
167
+ - lib/ironfan/server.rb
168
+ - lib/ironfan/server_slice.rb
169
+ - lib/ironfan/volume.rb
170
+ - spec/ironfan/cluster_spec.rb
171
+ - spec/ironfan/facet_spec.rb
172
+ - spec/ironfan/server_slice_spec.rb
173
+ - spec/ironfan/server_spec.rb
174
+ - spec/ironfan_spec.rb
175
+ - spec/spec_helper.rb
176
+ - spec/spec_helper/dummy_chef.rb
177
+ - spec/test_config.rb
178
+ - tasks/chef_config.rake
179
+ - tasks/jeweler_use_alt_branch.rake
180
+ homepage: http://infochimps.com/labs
181
+ licenses:
182
+ - apachev2
183
+ post_install_message:
184
+ rdoc_options: []
185
+ require_paths:
186
+ - lib
187
+ required_ruby_version: !ruby/object:Gem::Requirement
188
+ none: false
189
+ requirements:
190
+ - - ! '>='
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ segments:
194
+ - 0
195
+ hash: 1652744719024657695
196
+ required_rubygems_version: !ruby/object:Gem::Requirement
197
+ none: false
198
+ requirements:
199
+ - - ! '>'
200
+ - !ruby/object:Gem::Version
201
+ version: 1.3.1
202
+ requirements: []
203
+ rubyforge_project:
204
+ rubygems_version: 1.8.15
205
+ signing_key:
206
+ specification_version: 3
207
+ summary: ironfan allows you to orchestrate not just systems but clusters of machines.
208
+ It includes a powerful layer on top of knife and a collection of cloud cookbooks.
209
+ test_files:
210
+ - spec/ironfan/cluster_spec.rb
211
+ - spec/ironfan/facet_spec.rb
212
+ - spec/ironfan/server_slice_spec.rb
213
+ - spec/ironfan/server_spec.rb
214
+ - spec/ironfan_spec.rb
215
+ - spec/spec_helper/dummy_chef.rb
216
+ - spec/spec_helper.rb
217
+ - spec/test_config.rb