automate-it 0.9.0

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 (137) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.hgignore +10 -0
  4. data/.loadpath +5 -0
  5. data/.project +17 -0
  6. data/CHANGES.txt +314 -0
  7. data/Hoe.rake +40 -0
  8. data/Manifest.txt +164 -0
  9. data/README.txt +40 -0
  10. data/Rakefile +256 -0
  11. data/TESTING.txt +57 -0
  12. data/TODO.txt +50 -0
  13. data/TUTORIAL.txt +391 -0
  14. data/automate-it.gemspec +25 -0
  15. data/bin/ai +3 -0
  16. data/bin/aifield +75 -0
  17. data/bin/aissh +93 -0
  18. data/bin/aitag +134 -0
  19. data/bin/automateit +133 -0
  20. data/docs/friendly_errors.txt +50 -0
  21. data/docs/previews.txt +86 -0
  22. data/examples/basic/Rakefile +26 -0
  23. data/examples/basic/config/automateit_env.rb +16 -0
  24. data/examples/basic/config/fields.yml +3 -0
  25. data/examples/basic/config/tags.yml +7 -0
  26. data/examples/basic/dist/README.txt +9 -0
  27. data/examples/basic/dist/myapp_server.erb +30 -0
  28. data/examples/basic/install.log +15 -0
  29. data/examples/basic/lib/README.txt +10 -0
  30. data/examples/basic/recipes/README.txt +4 -0
  31. data/examples/basic/recipes/install.rb +61 -0
  32. data/examples/basic/recipes/uninstall.rb +6 -0
  33. data/gpl.txt +674 -0
  34. data/helpers/cpan_wrapper.pl +220 -0
  35. data/helpers/which.cmd +7 -0
  36. data/lib/automateit.rb +55 -0
  37. data/lib/automateit/account_manager.rb +114 -0
  38. data/lib/automateit/account_manager/base.rb +138 -0
  39. data/lib/automateit/account_manager/etc.rb +128 -0
  40. data/lib/automateit/account_manager/nscd.rb +33 -0
  41. data/lib/automateit/account_manager/passwd_expect.rb +40 -0
  42. data/lib/automateit/account_manager/passwd_pty.rb +69 -0
  43. data/lib/automateit/account_manager/posix.rb +138 -0
  44. data/lib/automateit/address_manager.rb +88 -0
  45. data/lib/automateit/address_manager/base.rb +171 -0
  46. data/lib/automateit/address_manager/bsd.rb +28 -0
  47. data/lib/automateit/address_manager/freebsd.rb +59 -0
  48. data/lib/automateit/address_manager/linux.rb +42 -0
  49. data/lib/automateit/address_manager/openbsd.rb +66 -0
  50. data/lib/automateit/address_manager/portable.rb +37 -0
  51. data/lib/automateit/address_manager/sunos.rb +34 -0
  52. data/lib/automateit/cli.rb +85 -0
  53. data/lib/automateit/common.rb +65 -0
  54. data/lib/automateit/constants.rb +35 -0
  55. data/lib/automateit/download_manager.rb +48 -0
  56. data/lib/automateit/edit_manager.rb +321 -0
  57. data/lib/automateit/error.rb +10 -0
  58. data/lib/automateit/field_manager.rb +103 -0
  59. data/lib/automateit/interpreter.rb +631 -0
  60. data/lib/automateit/package_manager.rb +257 -0
  61. data/lib/automateit/package_manager/apt.rb +27 -0
  62. data/lib/automateit/package_manager/cpan.rb +101 -0
  63. data/lib/automateit/package_manager/dpkg.rb +54 -0
  64. data/lib/automateit/package_manager/egg.rb +64 -0
  65. data/lib/automateit/package_manager/gem.rb +201 -0
  66. data/lib/automateit/package_manager/pear.rb +95 -0
  67. data/lib/automateit/package_manager/pecl.rb +80 -0
  68. data/lib/automateit/package_manager/portage.rb +69 -0
  69. data/lib/automateit/package_manager/yum.rb +65 -0
  70. data/lib/automateit/platform_manager.rb +49 -0
  71. data/lib/automateit/platform_manager/darwin.rb +30 -0
  72. data/lib/automateit/platform_manager/debian.rb +26 -0
  73. data/lib/automateit/platform_manager/freebsd.rb +29 -0
  74. data/lib/automateit/platform_manager/gentoo.rb +26 -0
  75. data/lib/automateit/platform_manager/lsb.rb +44 -0
  76. data/lib/automateit/platform_manager/openbsd.rb +28 -0
  77. data/lib/automateit/platform_manager/struct.rb +80 -0
  78. data/lib/automateit/platform_manager/sunos.rb +39 -0
  79. data/lib/automateit/platform_manager/uname.rb +29 -0
  80. data/lib/automateit/platform_manager/windows.rb +40 -0
  81. data/lib/automateit/plugin.rb +7 -0
  82. data/lib/automateit/plugin/base.rb +32 -0
  83. data/lib/automateit/plugin/driver.rb +256 -0
  84. data/lib/automateit/plugin/manager.rb +224 -0
  85. data/lib/automateit/project.rb +493 -0
  86. data/lib/automateit/root.rb +17 -0
  87. data/lib/automateit/service_manager.rb +93 -0
  88. data/lib/automateit/service_manager/chkconfig.rb +39 -0
  89. data/lib/automateit/service_manager/rc_update.rb +37 -0
  90. data/lib/automateit/service_manager/sysv.rb +139 -0
  91. data/lib/automateit/service_manager/update_rcd.rb +35 -0
  92. data/lib/automateit/shell_manager.rb +316 -0
  93. data/lib/automateit/shell_manager/base_link.rb +67 -0
  94. data/lib/automateit/shell_manager/link.rb +24 -0
  95. data/lib/automateit/shell_manager/portable.rb +523 -0
  96. data/lib/automateit/shell_manager/symlink.rb +32 -0
  97. data/lib/automateit/shell_manager/which_base.rb +30 -0
  98. data/lib/automateit/shell_manager/which_unix.rb +16 -0
  99. data/lib/automateit/shell_manager/which_windows.rb +20 -0
  100. data/lib/automateit/tag_manager.rb +127 -0
  101. data/lib/automateit/tag_manager/struct.rb +121 -0
  102. data/lib/automateit/tag_manager/tag_parser.rb +93 -0
  103. data/lib/automateit/tag_manager/yaml.rb +29 -0
  104. data/lib/automateit/template_manager.rb +56 -0
  105. data/lib/automateit/template_manager/base.rb +181 -0
  106. data/lib/automateit/template_manager/erb.rb +17 -0
  107. data/lib/ext/metaclass.rb +17 -0
  108. data/lib/ext/object.rb +18 -0
  109. data/lib/ext/shell_escape.rb +7 -0
  110. data/lib/hashcache.rb +22 -0
  111. data/lib/helpful_erb.rb +63 -0
  112. data/lib/inactive_support.rb +53 -0
  113. data/lib/inactive_support/basic_object.rb +6 -0
  114. data/lib/inactive_support/clean_logger.rb +127 -0
  115. data/lib/inactive_support/core_ext/array/extract_options.rb +19 -0
  116. data/lib/inactive_support/core_ext/blank.rb +50 -0
  117. data/lib/inactive_support/core_ext/class/attribute_accessors.rb +48 -0
  118. data/lib/inactive_support/core_ext/class/inheritable_attributes.rb +140 -0
  119. data/lib/inactive_support/core_ext/enumerable.rb +63 -0
  120. data/lib/inactive_support/core_ext/hash/keys.rb +54 -0
  121. data/lib/inactive_support/core_ext/module/aliasing.rb +70 -0
  122. data/lib/inactive_support/core_ext/numeric/time.rb +91 -0
  123. data/lib/inactive_support/core_ext/string/inflections.rb +153 -0
  124. data/lib/inactive_support/core_ext/symbol.rb +14 -0
  125. data/lib/inactive_support/core_ext/time/conversions.rb +96 -0
  126. data/lib/inactive_support/duration.rb +96 -0
  127. data/lib/inactive_support/inflections.rb +53 -0
  128. data/lib/inactive_support/inflector.rb +282 -0
  129. data/lib/nested_error.rb +33 -0
  130. data/lib/nitpick.rb +33 -0
  131. data/lib/queued_logger.rb +68 -0
  132. data/lib/tempster.rb +250 -0
  133. data/misc/index_gem_repository.rb +304 -0
  134. data/misc/setup_egg.rb +12 -0
  135. data/misc/setup_gem_dependencies.sh +6 -0
  136. data/misc/setup_rubygems.sh +21 -0
  137. metadata +279 -0
data/misc/setup_egg.rb ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env automateit
2
+
3
+ # Install Python's easy_install package manager for 'egg' files
4
+
5
+ SOURCE = 'http://peak.telecommunity.com/dist/ez_setup.py'
6
+
7
+ require 'open-uri'
8
+
9
+ mktemp do |t|
10
+ File.open(t, "w+") {|h| h.write(open(SOURCE).read)}
11
+ sh "python #{t}"
12
+ end
@@ -0,0 +1,6 @@
1
+ #!/bin/sh
2
+
3
+ cmd='sudo gem install -y rake open4 activesupport rspec ruby-breakpoint ruby-debug --no-rdoc --no-ri'
4
+
5
+ # Run it twice because the first one will usually fail. Oh how I hate gem. :/
6
+ $cmd || $cmd
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # SUMMARY: Installs the rubygems system for managing Ruby libraries
4
+
5
+ # RELEASES: http://rubyforge.org/frs/?group_id=126
6
+
7
+ URL="http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz"
8
+ PACKAGE=$(echo $URL | sed "s/\.[^\.]*$//; s/^.*\///")
9
+
10
+ pushd "/tmp"
11
+ CACHE=`mktemp -d install_rubygems.XXXXXXXXXX`
12
+ pushd "$CACHE"
13
+ wget -c -T20 -q "$URL"
14
+ tar xfz "$PACKAGE.tgz"
15
+ cd "$PACKAGE"
16
+ sudo ruby setup.rb
17
+ popd
18
+ popd
19
+
20
+ # Uninstall, only run this if there's no other version of rubygems on the system or it'll destroy those up too:
21
+ ### rm -rf /usr/bin/{gem{,1.*},update_rubygems*} /usr/local/lib/site_ruby/1.8/{{,r}ubygems.rb,rubygems} /usr/lib/ruby/gems
metadata ADDED
@@ -0,0 +1,279 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: automate-it
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ platform: ruby
6
+ authors:
7
+ - Igal Koshevoy
8
+ - Pavel Novotny
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-05-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: hoe
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '>='
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: open4
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ description: AutomateIt is an open source tool for automating the setup and maintenance
43
+ of servers, applications and their dependencies. This is updated fork.
44
+ email: fandisek@gmail.com
45
+ executables:
46
+ - ai
47
+ - aifield
48
+ - aissh
49
+ - aitag
50
+ - automateit
51
+ extensions: []
52
+ extra_rdoc_files: []
53
+ files:
54
+ - .gitignore
55
+ - .hgignore
56
+ - .loadpath
57
+ - .project
58
+ - CHANGES.txt
59
+ - Hoe.rake
60
+ - Manifest.txt
61
+ - README.txt
62
+ - Rakefile
63
+ - TESTING.txt
64
+ - TODO.txt
65
+ - TUTORIAL.txt
66
+ - automate-it.gemspec
67
+ - bin/ai
68
+ - bin/aifield
69
+ - bin/aissh
70
+ - bin/aitag
71
+ - bin/automateit
72
+ - docs/friendly_errors.txt
73
+ - docs/previews.txt
74
+ - examples/basic/Rakefile
75
+ - examples/basic/config/automateit_env.rb
76
+ - examples/basic/config/fields.yml
77
+ - examples/basic/config/tags.yml
78
+ - examples/basic/dist/README.txt
79
+ - examples/basic/dist/myapp_server.erb
80
+ - examples/basic/install.log
81
+ - examples/basic/lib/README.txt
82
+ - examples/basic/recipes/README.txt
83
+ - examples/basic/recipes/install.rb
84
+ - examples/basic/recipes/uninstall.rb
85
+ - gpl.txt
86
+ - helpers/cpan_wrapper.pl
87
+ - helpers/which.cmd
88
+ - lib/automateit.rb
89
+ - lib/automateit/account_manager.rb
90
+ - lib/automateit/account_manager/base.rb
91
+ - lib/automateit/account_manager/etc.rb
92
+ - lib/automateit/account_manager/nscd.rb
93
+ - lib/automateit/account_manager/passwd_expect.rb
94
+ - lib/automateit/account_manager/passwd_pty.rb
95
+ - lib/automateit/account_manager/posix.rb
96
+ - lib/automateit/address_manager.rb
97
+ - lib/automateit/address_manager/base.rb
98
+ - lib/automateit/address_manager/bsd.rb
99
+ - lib/automateit/address_manager/freebsd.rb
100
+ - lib/automateit/address_manager/linux.rb
101
+ - lib/automateit/address_manager/openbsd.rb
102
+ - lib/automateit/address_manager/portable.rb
103
+ - lib/automateit/address_manager/sunos.rb
104
+ - lib/automateit/cli.rb
105
+ - lib/automateit/common.rb
106
+ - lib/automateit/constants.rb
107
+ - lib/automateit/download_manager.rb
108
+ - lib/automateit/edit_manager.rb
109
+ - lib/automateit/error.rb
110
+ - lib/automateit/field_manager.rb
111
+ - lib/automateit/interpreter.rb
112
+ - lib/automateit/package_manager.rb
113
+ - lib/automateit/package_manager/apt.rb
114
+ - lib/automateit/package_manager/cpan.rb
115
+ - lib/automateit/package_manager/dpkg.rb
116
+ - lib/automateit/package_manager/egg.rb
117
+ - lib/automateit/package_manager/gem.rb
118
+ - lib/automateit/package_manager/pear.rb
119
+ - lib/automateit/package_manager/pecl.rb
120
+ - lib/automateit/package_manager/portage.rb
121
+ - lib/automateit/package_manager/yum.rb
122
+ - lib/automateit/platform_manager.rb
123
+ - lib/automateit/platform_manager/darwin.rb
124
+ - lib/automateit/platform_manager/debian.rb
125
+ - lib/automateit/platform_manager/freebsd.rb
126
+ - lib/automateit/platform_manager/gentoo.rb
127
+ - lib/automateit/platform_manager/lsb.rb
128
+ - lib/automateit/platform_manager/openbsd.rb
129
+ - lib/automateit/platform_manager/struct.rb
130
+ - lib/automateit/platform_manager/sunos.rb
131
+ - lib/automateit/platform_manager/uname.rb
132
+ - lib/automateit/platform_manager/windows.rb
133
+ - lib/automateit/plugin.rb
134
+ - lib/automateit/plugin/base.rb
135
+ - lib/automateit/plugin/driver.rb
136
+ - lib/automateit/plugin/manager.rb
137
+ - lib/automateit/project.rb
138
+ - lib/automateit/root.rb
139
+ - lib/automateit/service_manager.rb
140
+ - lib/automateit/service_manager/chkconfig.rb
141
+ - lib/automateit/service_manager/rc_update.rb
142
+ - lib/automateit/service_manager/sysv.rb
143
+ - lib/automateit/service_manager/update_rcd.rb
144
+ - lib/automateit/shell_manager.rb
145
+ - lib/automateit/shell_manager/base_link.rb
146
+ - lib/automateit/shell_manager/link.rb
147
+ - lib/automateit/shell_manager/portable.rb
148
+ - lib/automateit/shell_manager/symlink.rb
149
+ - lib/automateit/shell_manager/which_base.rb
150
+ - lib/automateit/shell_manager/which_unix.rb
151
+ - lib/automateit/shell_manager/which_windows.rb
152
+ - lib/automateit/tag_manager.rb
153
+ - lib/automateit/tag_manager/struct.rb
154
+ - lib/automateit/tag_manager/tag_parser.rb
155
+ - lib/automateit/tag_manager/yaml.rb
156
+ - lib/automateit/template_manager.rb
157
+ - lib/automateit/template_manager/base.rb
158
+ - lib/automateit/template_manager/erb.rb
159
+ - lib/ext/metaclass.rb
160
+ - lib/ext/object.rb
161
+ - lib/ext/shell_escape.rb
162
+ - lib/hashcache.rb
163
+ - lib/helpful_erb.rb
164
+ - lib/inactive_support.rb
165
+ - lib/inactive_support/basic_object.rb
166
+ - lib/inactive_support/clean_logger.rb
167
+ - lib/inactive_support/core_ext/array/extract_options.rb
168
+ - lib/inactive_support/core_ext/blank.rb
169
+ - lib/inactive_support/core_ext/class/attribute_accessors.rb
170
+ - lib/inactive_support/core_ext/class/inheritable_attributes.rb
171
+ - lib/inactive_support/core_ext/enumerable.rb
172
+ - lib/inactive_support/core_ext/hash/keys.rb
173
+ - lib/inactive_support/core_ext/module/aliasing.rb
174
+ - lib/inactive_support/core_ext/numeric/time.rb
175
+ - lib/inactive_support/core_ext/string/inflections.rb
176
+ - lib/inactive_support/core_ext/symbol.rb
177
+ - lib/inactive_support/core_ext/time/conversions.rb
178
+ - lib/inactive_support/duration.rb
179
+ - lib/inactive_support/inflections.rb
180
+ - lib/inactive_support/inflector.rb
181
+ - lib/nested_error.rb
182
+ - lib/nitpick.rb
183
+ - lib/queued_logger.rb
184
+ - lib/tempster.rb
185
+ - misc/index_gem_repository.rb
186
+ - misc/setup_egg.rb
187
+ - misc/setup_gem_dependencies.sh
188
+ - misc/setup_rubygems.sh
189
+ - spec/breaker.rb
190
+ - spec/extras/automateit_service_sysv_test
191
+ - spec/extras/scratch.rb
192
+ - spec/extras/simple_recipe.rb
193
+ - spec/integration/account_manager_nscd_spec.rb
194
+ - spec/integration/account_manager_spec.rb
195
+ - spec/integration/address_manager_portable_spec.rb
196
+ - spec/integration/address_manager_spec.rb
197
+ - spec/integration/cli_spec.rb
198
+ - spec/integration/download_spec.rb
199
+ - spec/integration/edit_manager_spec.rb
200
+ - spec/integration/examples_spec.rb
201
+ - spec/integration/examples_spec_editor.rb
202
+ - spec/integration/package_manager_spec.rb
203
+ - spec/integration/platform_manager_spec.rb
204
+ - spec/integration/service_manager_sysv_spec.rb
205
+ - spec/integration/shell_manager_spec.rb
206
+ - spec/integration/template_manager_erb_spec.rb
207
+ - spec/integration/tempster_spec.rb
208
+ - spec/spec_helper.rb
209
+ - spec/unit/address_manager_spec.rb
210
+ - spec/unit/edit_manager_spec.rb
211
+ - spec/unit/field_manager_spec.rb
212
+ - spec/unit/hashcache_spec.rb
213
+ - spec/unit/interpreter_spec.rb
214
+ - spec/unit/nested_error_spec.rb
215
+ - spec/unit/object_spec.rb
216
+ - spec/unit/package_manager_spec.rb
217
+ - spec/unit/platform_manager_spec.rb
218
+ - spec/unit/plugins_spec.rb
219
+ - spec/unit/shell_escape_spec.rb
220
+ - spec/unit/tag_manager_spec.rb
221
+ - spec/unit/template_manager_erb_spec.rb
222
+ homepage: http://rubygems.org/gems/better-automateit
223
+ licenses:
224
+ - GNU-GPL
225
+ metadata: {}
226
+ post_install_message:
227
+ rdoc_options: []
228
+ require_paths:
229
+ - lib
230
+ required_ruby_version: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - '>='
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
235
+ required_rubygems_version: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - '>='
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
240
+ requirements: []
241
+ rubyforge_project:
242
+ rubygems_version: 2.0.3
243
+ signing_key:
244
+ specification_version: 4
245
+ summary: Fork of AutomateIt
246
+ test_files:
247
+ - spec/breaker.rb
248
+ - spec/extras/automateit_service_sysv_test
249
+ - spec/extras/scratch.rb
250
+ - spec/extras/simple_recipe.rb
251
+ - spec/integration/account_manager_nscd_spec.rb
252
+ - spec/integration/account_manager_spec.rb
253
+ - spec/integration/address_manager_portable_spec.rb
254
+ - spec/integration/address_manager_spec.rb
255
+ - spec/integration/cli_spec.rb
256
+ - spec/integration/download_spec.rb
257
+ - spec/integration/edit_manager_spec.rb
258
+ - spec/integration/examples_spec.rb
259
+ - spec/integration/examples_spec_editor.rb
260
+ - spec/integration/package_manager_spec.rb
261
+ - spec/integration/platform_manager_spec.rb
262
+ - spec/integration/service_manager_sysv_spec.rb
263
+ - spec/integration/shell_manager_spec.rb
264
+ - spec/integration/template_manager_erb_spec.rb
265
+ - spec/integration/tempster_spec.rb
266
+ - spec/spec_helper.rb
267
+ - spec/unit/address_manager_spec.rb
268
+ - spec/unit/edit_manager_spec.rb
269
+ - spec/unit/field_manager_spec.rb
270
+ - spec/unit/hashcache_spec.rb
271
+ - spec/unit/interpreter_spec.rb
272
+ - spec/unit/nested_error_spec.rb
273
+ - spec/unit/object_spec.rb
274
+ - spec/unit/package_manager_spec.rb
275
+ - spec/unit/platform_manager_spec.rb
276
+ - spec/unit/plugins_spec.rb
277
+ - spec/unit/shell_escape_spec.rb
278
+ - spec/unit/tag_manager_spec.rb
279
+ - spec/unit/template_manager_erb_spec.rb