powcloud-sprinkle 0.3.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 (106) hide show
  1. data/.gitignore +5 -0
  2. data/CREDITS +33 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.markdown +241 -0
  5. data/Rakefile +50 -0
  6. data/VERSION +1 -0
  7. data/bin/sprinkle +90 -0
  8. data/examples/packages/build_essential.rb +9 -0
  9. data/examples/packages/databases/mysql.rb +13 -0
  10. data/examples/packages/databases/sqlite3.rb +16 -0
  11. data/examples/packages/phusion.rb +55 -0
  12. data/examples/packages/ruby/rails.rb +9 -0
  13. data/examples/packages/ruby/ruby.rb +17 -0
  14. data/examples/packages/ruby/rubygems.rb +17 -0
  15. data/examples/packages/scm/git.rb +11 -0
  16. data/examples/packages/scm/subversion.rb +4 -0
  17. data/examples/packages/servers/apache.rb +15 -0
  18. data/examples/rails/README +15 -0
  19. data/examples/rails/deploy.rb +2 -0
  20. data/examples/rails/packages/database.rb +9 -0
  21. data/examples/rails/packages/essential.rb +9 -0
  22. data/examples/rails/packages/rails.rb +29 -0
  23. data/examples/rails/packages/scm.rb +11 -0
  24. data/examples/rails/packages/search.rb +11 -0
  25. data/examples/rails/packages/server.rb +28 -0
  26. data/examples/rails/rails.rb +73 -0
  27. data/examples/sprinkle/sprinkle.rb +38 -0
  28. data/lib/sprinkle/actors/actors.rb +17 -0
  29. data/lib/sprinkle/actors/capistrano.rb +140 -0
  30. data/lib/sprinkle/actors/local.rb +37 -0
  31. data/lib/sprinkle/actors/ssh.rb +123 -0
  32. data/lib/sprinkle/actors/vlad.rb +78 -0
  33. data/lib/sprinkle/configurable.rb +31 -0
  34. data/lib/sprinkle/deployment.rb +73 -0
  35. data/lib/sprinkle/extensions/arbitrary_options.rb +10 -0
  36. data/lib/sprinkle/extensions/array.rb +5 -0
  37. data/lib/sprinkle/extensions/blank_slate.rb +5 -0
  38. data/lib/sprinkle/extensions/dsl_accessor.rb +15 -0
  39. data/lib/sprinkle/extensions/string.rb +10 -0
  40. data/lib/sprinkle/extensions/symbol.rb +7 -0
  41. data/lib/sprinkle/installers/apt.rb +52 -0
  42. data/lib/sprinkle/installers/binary.rb +46 -0
  43. data/lib/sprinkle/installers/bsd_port.rb +33 -0
  44. data/lib/sprinkle/installers/deb.rb +38 -0
  45. data/lib/sprinkle/installers/freebsd_pkg.rb +37 -0
  46. data/lib/sprinkle/installers/freebsd_portinstall.rb +36 -0
  47. data/lib/sprinkle/installers/gem.rb +64 -0
  48. data/lib/sprinkle/installers/install_package.rb +79 -0
  49. data/lib/sprinkle/installers/installer.rb +120 -0
  50. data/lib/sprinkle/installers/mac_port.rb +38 -0
  51. data/lib/sprinkle/installers/noop.rb +20 -0
  52. data/lib/sprinkle/installers/openbsd_pkg.rb +47 -0
  53. data/lib/sprinkle/installers/opensolaris_pkg.rb +43 -0
  54. data/lib/sprinkle/installers/push_text.rb +45 -0
  55. data/lib/sprinkle/installers/rake.rb +37 -0
  56. data/lib/sprinkle/installers/rpm.rb +37 -0
  57. data/lib/sprinkle/installers/smart.rb +29 -0
  58. data/lib/sprinkle/installers/source.rb +190 -0
  59. data/lib/sprinkle/installers/transfer.rb +164 -0
  60. data/lib/sprinkle/installers/yum.rb +37 -0
  61. data/lib/sprinkle/package.rb +309 -0
  62. data/lib/sprinkle/policy.rb +125 -0
  63. data/lib/sprinkle/script.rb +23 -0
  64. data/lib/sprinkle/verifiers/directory.rb +16 -0
  65. data/lib/sprinkle/verifiers/executable.rb +53 -0
  66. data/lib/sprinkle/verifiers/file.rb +26 -0
  67. data/lib/sprinkle/verifiers/package.rb +26 -0
  68. data/lib/sprinkle/verifiers/process.rb +21 -0
  69. data/lib/sprinkle/verifiers/rpm.rb +21 -0
  70. data/lib/sprinkle/verifiers/ruby.rb +25 -0
  71. data/lib/sprinkle/verifiers/symlink.rb +30 -0
  72. data/lib/sprinkle/verify.rb +114 -0
  73. data/lib/sprinkle.rb +32 -0
  74. data/script/console +8 -0
  75. data/script/destroy +14 -0
  76. data/script/generate +14 -0
  77. data/spec/spec.opts +1 -0
  78. data/spec/spec_helper.rb +17 -0
  79. data/spec/sprinkle/actors/capistrano_spec.rb +265 -0
  80. data/spec/sprinkle/actors/local_spec.rb +29 -0
  81. data/spec/sprinkle/configurable_spec.rb +46 -0
  82. data/spec/sprinkle/deployment_spec.rb +80 -0
  83. data/spec/sprinkle/extensions/array_spec.rb +19 -0
  84. data/spec/sprinkle/extensions/string_spec.rb +21 -0
  85. data/spec/sprinkle/installers/apt_spec.rb +70 -0
  86. data/spec/sprinkle/installers/bsd_port_spec.rb +42 -0
  87. data/spec/sprinkle/installers/freebsd_pkg_spec.rb +49 -0
  88. data/spec/sprinkle/installers/freebsd_portinstall_spec.rb +42 -0
  89. data/spec/sprinkle/installers/gem_spec.rb +107 -0
  90. data/spec/sprinkle/installers/installer_spec.rb +151 -0
  91. data/spec/sprinkle/installers/mac_port_spec.rb +42 -0
  92. data/spec/sprinkle/installers/noop_spec.rb +23 -0
  93. data/spec/sprinkle/installers/openbsd_pkg_spec.rb +49 -0
  94. data/spec/sprinkle/installers/opensolaris_pkg_spec.rb +49 -0
  95. data/spec/sprinkle/installers/push_text_spec.rb +66 -0
  96. data/spec/sprinkle/installers/rake_spec.rb +29 -0
  97. data/spec/sprinkle/installers/rpm_spec.rb +50 -0
  98. data/spec/sprinkle/installers/source_spec.rb +371 -0
  99. data/spec/sprinkle/installers/transfer_spec.rb +98 -0
  100. data/spec/sprinkle/installers/yum_spec.rb +49 -0
  101. data/spec/sprinkle/package_spec.rb +466 -0
  102. data/spec/sprinkle/policy_spec.rb +126 -0
  103. data/spec/sprinkle/script_spec.rb +51 -0
  104. data/spec/sprinkle/sprinkle_spec.rb +25 -0
  105. data/spec/sprinkle/verify_spec.rb +174 -0
  106. metadata +244 -0
@@ -0,0 +1,126 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Sprinkle::Policy do
4
+ include Sprinkle::Policy
5
+
6
+ before do
7
+ @name = 'a policy'
8
+ end
9
+
10
+ describe 'when created' do
11
+
12
+ it 'should be invalid without a name' do
13
+ lambda { policy nil }.should raise_error
14
+ end
15
+
16
+ it 'should be invalid without role definitions' do
17
+ lambda { policy @name do; end }.should raise_error
18
+ lambda { policy @name, :roles => :app do; end }.should_not raise_error
19
+ end
20
+
21
+ it 'should optionally accept package dependencies' do
22
+ p = policy @name, :roles => :app do; end
23
+ p.should respond_to(:requires)
24
+ p.requires :appserver
25
+ p.packages.should == [ :appserver ]
26
+ end
27
+
28
+ it 'should optionally accept package dependencies with versions' do
29
+ p = policy @name, :roles => :app do; end
30
+ p.requires :appserver, :version => 2
31
+ p.packages.should == [ :appserver ]
32
+ pending 'requires version checking implementation'
33
+ end
34
+
35
+ it 'should add itself to the global policy list' do
36
+ sz = Sprinkle::Policy::POLICIES.size
37
+ p = policy @name, :roles => :app do; end
38
+ Sprinkle::Policy::POLICIES.size.should == sz + 1
39
+ Sprinkle::Policy::POLICIES.last.should == p
40
+ end
41
+
42
+ end
43
+
44
+ describe 'with packages' do
45
+ include Sprinkle::Package
46
+
47
+ before do
48
+ @deployment = mock(Sprinkle::Deployment)
49
+ Sprinkle::Package::PACKAGES.clear # reset full package list before each spec is run
50
+
51
+ @a = package :a do; requires :b; requires :c; end
52
+ @b = package :b, :provides => :xyz do; end
53
+ @c = package :c, :provides => :abc do; end
54
+ @d = package :d, :provides => :abc do; end
55
+
56
+ @policy = policy :test, :roles => :app do; requires :a; end
57
+ $terminal.stub!(:choose).and_return(:c) # stub out highline asking questions
58
+ end
59
+
60
+ describe 'when applying' do
61
+ include Sprinkle::Package
62
+
63
+ it 'should determine the packages to install via the hierarchy dependency tree of each package in the policy' do
64
+ @a.should_receive(:process).and_return
65
+ @b.should_receive(:process).and_return
66
+ @c.should_receive(:process).and_return
67
+ @d.should_not_receive(:process)
68
+ end
69
+
70
+ it 'should normalize (ie remove duplicates from) the installation order of all packages including dependencies' do
71
+ @e = package :e do; requires :b; end
72
+ @policy.requires :e
73
+
74
+ @a.should_receive(:process).once.and_return
75
+ @b.should_receive(:process).once.and_return
76
+ @c.should_receive(:process).once.and_return
77
+ @d.should_not_receive(:process)
78
+ @e.should_receive(:process).once.and_return
79
+ end
80
+ end
81
+
82
+ describe 'containing package dependencies with versions' do
83
+
84
+ it 'should be invalid if the specified package does not exist'
85
+ it 'should ignore any packages of the same name that have other versions'
86
+ it 'should select the correct package version when applying'
87
+
88
+ end
89
+
90
+ describe 'containing virtual packages' do
91
+
92
+ it 'should automatically select a concrete package implementation for a virtual one when there exists only one possible selection' do
93
+ @policy = policy :virtual, :roles => :app do; requires :xyz; end
94
+ Sprinkle::Package::PACKAGES[:xyz].should == [ @b ]
95
+ end
96
+
97
+ it 'should ask the user for the concrete package implementation to use for a virtual one when more than one possible choice exists' do
98
+ @policy = policy :virtual, :roles => :app do; requires :abc; end
99
+ Sprinkle::Package::PACKAGES[:abc].should include(@c)
100
+ Sprinkle::Package::PACKAGES[:abc].should include(@d)
101
+ $terminal.should_receive(:choose).and_return(:c)
102
+ end
103
+
104
+ end
105
+
106
+ after do
107
+ @policy.process(@deployment)
108
+ end
109
+ end
110
+ end
111
+
112
+ describe Sprinkle::Policy, 'with missing packages' do
113
+
114
+ before do
115
+ @deployment = mock(Sprinkle::Deployment)
116
+ Sprinkle::Package::PACKAGES.clear # reset full package list before each spec is run
117
+
118
+ @policy = policy :test, :roles => :app do; requires :z; end
119
+ $terminal.stub!(:choose).and_return(:c) # stub out highline asking questions
120
+ end
121
+
122
+ it 'should raise an error if a package is missing' do
123
+ lambda { @policy.process(@deployment) }.should raise_error
124
+ end
125
+
126
+ end
@@ -0,0 +1,51 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Sprinkle::Script, 'class' do
4
+
5
+ it 'should define a entry point into the system' do
6
+ Sprinkle::Script.should respond_to(:sprinkle)
7
+ end
8
+
9
+ end
10
+
11
+ describe Sprinkle::Script, 'when given a script' do
12
+
13
+ before do
14
+ @script = 'script'
15
+ @filename = 'filename'
16
+
17
+ @sprinkle = Sprinkle::Script.new
18
+ Sprinkle::Script.stub!(:new).and_return(@sprinkle)
19
+ end
20
+
21
+ it 'should create a new sprinkle instance' do
22
+ Sprinkle::Script.should_receive(:new).and_return(@sprinkle)
23
+ Sprinkle::Script.sprinkle @script
24
+ end
25
+
26
+ it 'should evaulate the sprinkle script against the instance' do
27
+ @sprinkle.should_receive(:instance_eval).and_return
28
+ Sprinkle::Script.sprinkle @script
29
+ end
30
+
31
+ it 'should specify the filename if given for line number errors' do
32
+ @sprinkle.should_receive(:instance_eval).with(@script, @filename).and_return
33
+ Sprinkle::Script.sprinkle @script, @filename
34
+ end
35
+
36
+ it 'should specify a filename of __SCRIPT__ by default if none is provided' do
37
+ @sprinkle.should_receive(:instance_eval).with(@script, '__SCRIPT__').and_return
38
+ Sprinkle::Script.sprinkle @script
39
+ end
40
+
41
+ it 'should automatically run in production mode by default' do
42
+ @sprinkle.should_receive(:instance_eval).with(@script, '__SCRIPT__').and_return
43
+ Sprinkle::Script.sprinkle @script
44
+ end
45
+
46
+ it 'should ask the Sprinkle instance to process the data from the script' do
47
+ @sprinkle.should_receive(:sprinkle)
48
+ Sprinkle::Script.sprinkle @script
49
+ end
50
+
51
+ end
@@ -0,0 +1,25 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Sprinkle do
4
+
5
+ it 'should automatically extend Object to support package, policy and deployment DSL keywords' do
6
+ %w( package policy deployment ).each do |keyword|
7
+ Object.should respond_to(keyword.to_sym)
8
+ end
9
+ end
10
+
11
+ it 'should default to production mode' do
12
+ Sprinkle::OPTIONS[:testing].should be_false
13
+ end
14
+
15
+ it 'should automatically create a logger object on Kernel' do
16
+ Object.should respond_to(:logger)
17
+ logger.should_not be_nil
18
+ logger.class.should == ActiveSupport::BufferedLogger
19
+ end
20
+
21
+ it 'should create a logger of level INFO' do
22
+ logger.level.should == ActiveSupport::BufferedLogger::Severity::INFO
23
+ end
24
+
25
+ end
@@ -0,0 +1,174 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Sprinkle::Verify do
4
+ before do
5
+ @name = :package
6
+ @package = package @name do
7
+ gem 'nonexistent'
8
+ verify 'moo' do
9
+ # Check a file exists
10
+ has_file 'my_file.txt'
11
+
12
+ # Check that a file contains a substring
13
+ file_contains 'my_file.txt', 'A sunny day on the lower east-side'
14
+
15
+ # Check a directory exists
16
+ has_directory 'mydir'
17
+
18
+ # Check a symlink exists
19
+ has_symlink 'mypointer'
20
+
21
+ # Check a symlink points to a certain file
22
+ has_symlink 'mypointer', 'myfile'
23
+
24
+ # Check if an executable exists
25
+ has_executable '/usr/bin/ruby'
26
+
27
+ # Check if a global executable exists (in PATH)
28
+ has_executable 'rails'
29
+
30
+ # Check for a process
31
+ has_process 'httpd'
32
+
33
+ # Check that ruby can include files
34
+ ruby_can_load 'a', 'b', 'c'
35
+
36
+ # Check that a gem exists
37
+ has_gem 'rails'
38
+ has_gem 'rails', '2.1.0'
39
+
40
+ # Check for a certain RPM package
41
+ has_rpm 'ntp'
42
+ end
43
+ end
44
+ @verification = @package.verifications[0]
45
+ @delivery = mock(Sprinkle::Deployment, :process => true)
46
+ @verification.delivery = @delivery
47
+ end
48
+
49
+ describe 'when created' do
50
+ it 'should raise error without a block' do
51
+ lambda { Verify.new(nil, '') }.should raise_error
52
+ end
53
+ end
54
+
55
+ describe 'with checks' do
56
+ it 'should do a "test -f" on the has_file check' do
57
+ @verification.commands.should include('test -f my_file.txt')
58
+ end
59
+
60
+ it 'should do a grep to see if a file contains a text string' do
61
+ @verification.commands.should include("grep 'A sunny day on the lower east-side' my_file.txt")
62
+ end
63
+
64
+ it 'should do a "test -d" on the has_directory check' do
65
+ @verification.commands.should include('test -d mydir')
66
+ end
67
+
68
+ it 'should do a "test -L" to check something is a symbolic link' do
69
+ @verification.commands.should include('test -L mypointer')
70
+ end
71
+
72
+ it 'should do a test equality to check a symlink points to a specific file' do
73
+ @verification.commands.should include("test 'myfile' = `readlink mypointer`")
74
+ end
75
+
76
+ it 'should do a "test -x" to check for an executable' do
77
+ @verification.commands.should include("test -x /usr/bin/ruby")
78
+ end
79
+
80
+ it 'should test the "which" command to look for a global executable' do
81
+ @verification.commands.should include('[ -n "`echo \`which rails\``" ]')
82
+ end
83
+
84
+ it 'should test the process list to find a process' do
85
+ @verification.commands.should include("ps aux | grep 'httpd' | grep -v grep")
86
+ end
87
+
88
+ it 'should check if ruby can include a, b, c' do
89
+ @verification.commands.should include("ruby -e \"require 'rubygems';require 'a';require 'b';require 'c'\"")
90
+ end
91
+
92
+ it 'should check that a ruby gem is installed' do
93
+ @verification.commands.should include("sudo gem list | grep -e '^rails (.*.*)$'")
94
+ @verification.commands.should include("sudo gem list | grep -e '^rails (.*2\\.1\\.0.*)$'")
95
+ end
96
+
97
+ it 'should check that an RPM is installed' do
98
+ @verification.commands.should include("rpm -qa | grep ntp")
99
+ end
100
+ end
101
+
102
+ describe 'with configurations' do
103
+ # Make sure it includes Sprinkle::Configurable
104
+ it 'should respond to configurable methods' do
105
+ @verification.should respond_to(:defaults)
106
+ end
107
+
108
+ it 'should default padding option to 4' do
109
+ @verification.padding.should eql(4)
110
+ end
111
+ end
112
+
113
+ describe 'with process' do
114
+ it 'should raise an error when no delivery mechanism is set' do
115
+ @verification.instance_variable_set(:@delivery, nil)
116
+ lambda { @verification.process([]) }.should raise_error
117
+ end
118
+
119
+ describe 'when not testing' do
120
+ before do
121
+ # To be explicit
122
+ Sprinkle::OPTIONS[:testing] = false
123
+ end
124
+
125
+ it 'should call process on the delivery with the correct parameters' do
126
+ @delivery.should_receive(:process).with(@name, @verification.commands, [:app], true).once.and_return(true)
127
+ @verification.process([:app])
128
+ end
129
+
130
+ it 'should raise Sprinkle::VerificationFailed exception when commands fail' do
131
+ @delivery.should_receive(:process).once.and_return(false)
132
+ lambda { @verification.process([:app]) }.should raise_error(Sprinkle::VerificationFailed) do |error|
133
+ error.package.should eql(@package)
134
+ error.description.should eql('moo')
135
+ end
136
+ end
137
+ end
138
+
139
+ describe 'when testing' do
140
+ before do
141
+ Sprinkle::OPTIONS[:testing] = true
142
+ @logger = mock(ActiveSupport::BufferedLogger, :debug => true, :debug? => true)
143
+ end
144
+
145
+ it 'should not call process on the delivery' do
146
+ @delivery.should_not_receive(:process)
147
+ end
148
+
149
+ it 'should print the install sequence to the console' do
150
+ @verification.should_receive(:logger).twice.and_return(@logger)
151
+ end
152
+
153
+ after do
154
+ @verification.process([:app])
155
+ Sprinkle::OPTIONS[:testing] = false
156
+ end
157
+ end
158
+ end
159
+
160
+ describe 'with registering new verification modules' do
161
+ module MyModule
162
+ def rawr; end
163
+ end
164
+
165
+ it 'should not respond to rawr initially' do
166
+ @verification.should_not respond_to(:rawr)
167
+ end
168
+
169
+ it 'should respond to rawr after registering the module' do
170
+ Sprinkle::Verify.register(MyModule)
171
+ @verification.should respond_to(:rawr)
172
+ end
173
+ end
174
+ end
metadata ADDED
@@ -0,0 +1,244 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: powcloud-sprinkle
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Marcus Crafter
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-02-08 00:00:00 +03:00
13
+ default_executable: sprinkle
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.2.9
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: activesupport
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.0.2
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: highline
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.4.0
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: capistrano
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 2.5.5
54
+ version:
55
+ description: Ruby DSL based software provisioning tool
56
+ email: drush@powcloud.com
57
+ executables:
58
+ - sprinkle
59
+ extensions: []
60
+
61
+ extra_rdoc_files:
62
+ - README.markdown
63
+ files:
64
+ - .gitignore
65
+ - CREDITS
66
+ - MIT-LICENSE
67
+ - README.markdown
68
+ - Rakefile
69
+ - VERSION
70
+ - bin/sprinkle
71
+ - examples/packages/build_essential.rb
72
+ - examples/packages/databases/mysql.rb
73
+ - examples/packages/databases/sqlite3.rb
74
+ - examples/packages/phusion.rb
75
+ - examples/packages/ruby/rails.rb
76
+ - examples/packages/ruby/ruby.rb
77
+ - examples/packages/ruby/rubygems.rb
78
+ - examples/packages/scm/git.rb
79
+ - examples/packages/scm/subversion.rb
80
+ - examples/packages/servers/apache.rb
81
+ - examples/rails/README
82
+ - examples/rails/deploy.rb
83
+ - examples/rails/packages/database.rb
84
+ - examples/rails/packages/essential.rb
85
+ - examples/rails/packages/rails.rb
86
+ - examples/rails/packages/scm.rb
87
+ - examples/rails/packages/search.rb
88
+ - examples/rails/packages/server.rb
89
+ - examples/rails/rails.rb
90
+ - examples/sprinkle/sprinkle.rb
91
+ - lib/sprinkle.rb
92
+ - lib/sprinkle/actors/actors.rb
93
+ - lib/sprinkle/actors/capistrano.rb
94
+ - lib/sprinkle/actors/local.rb
95
+ - lib/sprinkle/actors/ssh.rb
96
+ - lib/sprinkle/actors/vlad.rb
97
+ - lib/sprinkle/configurable.rb
98
+ - lib/sprinkle/deployment.rb
99
+ - lib/sprinkle/extensions/arbitrary_options.rb
100
+ - lib/sprinkle/extensions/array.rb
101
+ - lib/sprinkle/extensions/blank_slate.rb
102
+ - lib/sprinkle/extensions/dsl_accessor.rb
103
+ - lib/sprinkle/extensions/string.rb
104
+ - lib/sprinkle/extensions/symbol.rb
105
+ - lib/sprinkle/installers/apt.rb
106
+ - lib/sprinkle/installers/binary.rb
107
+ - lib/sprinkle/installers/bsd_port.rb
108
+ - lib/sprinkle/installers/deb.rb
109
+ - lib/sprinkle/installers/freebsd_pkg.rb
110
+ - lib/sprinkle/installers/freebsd_portinstall.rb
111
+ - lib/sprinkle/installers/gem.rb
112
+ - lib/sprinkle/installers/install_package.rb
113
+ - lib/sprinkle/installers/installer.rb
114
+ - lib/sprinkle/installers/mac_port.rb
115
+ - lib/sprinkle/installers/noop.rb
116
+ - lib/sprinkle/installers/openbsd_pkg.rb
117
+ - lib/sprinkle/installers/opensolaris_pkg.rb
118
+ - lib/sprinkle/installers/push_text.rb
119
+ - lib/sprinkle/installers/rake.rb
120
+ - lib/sprinkle/installers/rpm.rb
121
+ - lib/sprinkle/installers/smart.rb
122
+ - lib/sprinkle/installers/source.rb
123
+ - lib/sprinkle/installers/transfer.rb
124
+ - lib/sprinkle/installers/yum.rb
125
+ - lib/sprinkle/package.rb
126
+ - lib/sprinkle/policy.rb
127
+ - lib/sprinkle/script.rb
128
+ - lib/sprinkle/verifiers/directory.rb
129
+ - lib/sprinkle/verifiers/executable.rb
130
+ - lib/sprinkle/verifiers/file.rb
131
+ - lib/sprinkle/verifiers/package.rb
132
+ - lib/sprinkle/verifiers/process.rb
133
+ - lib/sprinkle/verifiers/rpm.rb
134
+ - lib/sprinkle/verifiers/ruby.rb
135
+ - lib/sprinkle/verifiers/symlink.rb
136
+ - lib/sprinkle/verify.rb
137
+ - script/console
138
+ - script/destroy
139
+ - script/generate
140
+ - spec/spec.opts
141
+ - spec/spec_helper.rb
142
+ - spec/sprinkle/actors/capistrano_spec.rb
143
+ - spec/sprinkle/actors/local_spec.rb
144
+ - spec/sprinkle/configurable_spec.rb
145
+ - spec/sprinkle/deployment_spec.rb
146
+ - spec/sprinkle/extensions/array_spec.rb
147
+ - spec/sprinkle/extensions/string_spec.rb
148
+ - spec/sprinkle/installers/apt_spec.rb
149
+ - spec/sprinkle/installers/bsd_port_spec.rb
150
+ - spec/sprinkle/installers/freebsd_pkg_spec.rb
151
+ - spec/sprinkle/installers/freebsd_portinstall_spec.rb
152
+ - spec/sprinkle/installers/gem_spec.rb
153
+ - spec/sprinkle/installers/installer_spec.rb
154
+ - spec/sprinkle/installers/mac_port_spec.rb
155
+ - spec/sprinkle/installers/noop_spec.rb
156
+ - spec/sprinkle/installers/openbsd_pkg_spec.rb
157
+ - spec/sprinkle/installers/opensolaris_pkg_spec.rb
158
+ - spec/sprinkle/installers/push_text_spec.rb
159
+ - spec/sprinkle/installers/rake_spec.rb
160
+ - spec/sprinkle/installers/rpm_spec.rb
161
+ - spec/sprinkle/installers/source_spec.rb
162
+ - spec/sprinkle/installers/transfer_spec.rb
163
+ - spec/sprinkle/installers/yum_spec.rb
164
+ - spec/sprinkle/package_spec.rb
165
+ - spec/sprinkle/policy_spec.rb
166
+ - spec/sprinkle/script_spec.rb
167
+ - spec/sprinkle/sprinkle_spec.rb
168
+ - spec/sprinkle/verify_spec.rb
169
+ has_rdoc: true
170
+ homepage: http://github.com/powcloud/sprinkle
171
+ licenses: []
172
+
173
+ post_install_message:
174
+ rdoc_options:
175
+ - --charset=UTF-8
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: "0"
183
+ version:
184
+ required_rubygems_version: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: "0"
189
+ version:
190
+ requirements: []
191
+
192
+ rubyforge_project: sprinkle
193
+ rubygems_version: 1.3.5
194
+ signing_key:
195
+ specification_version: 3
196
+ summary: Ruby DSL based software provisioning tool
197
+ test_files:
198
+ - spec/spec_helper.rb
199
+ - spec/sprinkle/actors/capistrano_spec.rb
200
+ - spec/sprinkle/actors/local_spec.rb
201
+ - spec/sprinkle/configurable_spec.rb
202
+ - spec/sprinkle/deployment_spec.rb
203
+ - spec/sprinkle/extensions/array_spec.rb
204
+ - spec/sprinkle/extensions/string_spec.rb
205
+ - spec/sprinkle/installers/apt_spec.rb
206
+ - spec/sprinkle/installers/bsd_port_spec.rb
207
+ - spec/sprinkle/installers/freebsd_pkg_spec.rb
208
+ - spec/sprinkle/installers/freebsd_portinstall_spec.rb
209
+ - spec/sprinkle/installers/gem_spec.rb
210
+ - spec/sprinkle/installers/installer_spec.rb
211
+ - spec/sprinkle/installers/mac_port_spec.rb
212
+ - spec/sprinkle/installers/noop_spec.rb
213
+ - spec/sprinkle/installers/openbsd_pkg_spec.rb
214
+ - spec/sprinkle/installers/opensolaris_pkg_spec.rb
215
+ - spec/sprinkle/installers/push_text_spec.rb
216
+ - spec/sprinkle/installers/rake_spec.rb
217
+ - spec/sprinkle/installers/rpm_spec.rb
218
+ - spec/sprinkle/installers/source_spec.rb
219
+ - spec/sprinkle/installers/transfer_spec.rb
220
+ - spec/sprinkle/installers/yum_spec.rb
221
+ - spec/sprinkle/package_spec.rb
222
+ - spec/sprinkle/policy_spec.rb
223
+ - spec/sprinkle/script_spec.rb
224
+ - spec/sprinkle/sprinkle_spec.rb
225
+ - spec/sprinkle/verify_spec.rb
226
+ - examples/packages/build_essential.rb
227
+ - examples/packages/databases/mysql.rb
228
+ - examples/packages/databases/sqlite3.rb
229
+ - examples/packages/phusion.rb
230
+ - examples/packages/ruby/rails.rb
231
+ - examples/packages/ruby/ruby.rb
232
+ - examples/packages/ruby/rubygems.rb
233
+ - examples/packages/scm/git.rb
234
+ - examples/packages/scm/subversion.rb
235
+ - examples/packages/servers/apache.rb
236
+ - examples/rails/deploy.rb
237
+ - examples/rails/packages/database.rb
238
+ - examples/rails/packages/essential.rb
239
+ - examples/rails/packages/rails.rb
240
+ - examples/rails/packages/scm.rb
241
+ - examples/rails/packages/search.rb
242
+ - examples/rails/packages/server.rb
243
+ - examples/rails/rails.rb
244
+ - examples/sprinkle/sprinkle.rb