capitate 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/History.txt +10 -0
  2. data/Manifest.txt +3 -9
  3. data/lib/capitate.rb +14 -0
  4. data/lib/capitate/cap_ext/namespace.rb +34 -0
  5. data/lib/capitate/cap_ext/task_definition.rb +22 -0
  6. data/lib/capitate/task_node.rb +21 -1
  7. data/lib/capitate/version.rb +1 -1
  8. data/lib/recipes/active_record.rb +7 -36
  9. data/lib/recipes/backgroundrb.rb +4 -19
  10. data/lib/recipes/centos/backgroundjob.rb +5 -26
  11. data/lib/recipes/centos/backgroundrb.rb +2 -13
  12. data/lib/recipes/centos/centos.rb +4 -26
  13. data/lib/recipes/centos/imagemagick.rb +8 -9
  14. data/lib/recipes/centos/memcached.rb +12 -53
  15. data/lib/recipes/centos/merb.rb +7 -33
  16. data/lib/recipes/centos/mongrel_cluster.rb +15 -51
  17. data/lib/recipes/centos/monit.rb +10 -36
  18. data/lib/recipes/centos/mysql.rb +1 -10
  19. data/lib/recipes/centos/nginx.rb +14 -42
  20. data/lib/recipes/centos/ruby.rb +6 -15
  21. data/lib/recipes/centos/sphinx.rb +13 -36
  22. data/lib/recipes/docs.rb +2 -14
  23. data/lib/recipes/logrotated.rb +20 -40
  24. data/lib/recipes/memcached.rb +10 -41
  25. data/lib/recipes/merb.rb +3 -4
  26. data/lib/recipes/monit.rb +4 -23
  27. data/lib/recipes/monit/merb.rb +7 -12
  28. data/lib/recipes/monit/mysql.rb +3 -19
  29. data/lib/recipes/monit/nginx.rb +2 -16
  30. data/lib/recipes/monit/sphinx.rb +20 -11
  31. data/lib/recipes/mysql.rb +13 -53
  32. data/lib/recipes/nginx.rb +9 -65
  33. data/lib/recipes/rails.rb +0 -58
  34. data/lib/recipes/sphinx.rb +20 -46
  35. data/lib/recipes/sshd.rb +6 -15
  36. data/lib/recipes/syslogd.rb +3 -43
  37. data/lib/templates/backgroundjob/backgroundjob.initd.centos.erb +4 -4
  38. data/lib/templates/merb/merb-no-http.monitrc.erb +13 -0
  39. data/lib/templates/merb/merb.initd.centos.erb +3 -3
  40. metadata +5 -12
  41. data/docs/nginx.README +0 -12
  42. data/website/index.html +0 -154
  43. data/website/index.txt +0 -69
  44. data/website/javascripts/code_highlighter.js +0 -188
  45. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  46. data/website/javascripts/ruby.js +0 -18
  47. data/website/stylesheets/screen.css +0 -265
  48. data/website/template.rhtml +0 -69
  49. data/website/template_recipe.rhtml +0 -44
data/History.txt CHANGED
@@ -1,3 +1,13 @@
1
+ == 0.3.6 ?
2
+
3
+ * Fixing backgroundjob to use --daemon
4
+ * Fixing merb init to use daemon init function on start (then it plays nice with monit)
5
+ * Fixing backgroundjob init (BIN_PATH error)
6
+ * Adding --log to backgroundjob init.d
7
+ * Fixing sphinx monit start/stop/restart
8
+ * Adding task arguments to DSL
9
+ * Updating most of the documentation to pull from task args
10
+
1
11
  == 0.3.5 2008-05-08
2
12
 
3
13
  * Adding merb:migrate recipe
data/Manifest.txt CHANGED
@@ -6,11 +6,12 @@ README.txt
6
6
  Rakefile
7
7
  config/hoe.rb
8
8
  config/requirements.rb
9
- docs/nginx.README
10
9
  lib/capitate.rb
11
10
  lib/capitate/cap_ext/connections.rb
12
11
  lib/capitate/cap_ext/docs.rb
12
+ lib/capitate/cap_ext/namespace.rb
13
13
  lib/capitate/cap_ext/run_via.rb
14
+ lib/capitate/cap_ext/task_definition.rb
14
15
  lib/capitate/cap_ext/variables.rb
15
16
  lib/capitate/plugins/base.rb
16
17
  lib/capitate/plugins/build.rb
@@ -78,6 +79,7 @@ lib/templates/logrotated/conf.erb
78
79
  lib/templates/memcached/memcached.initd.centos.erb
79
80
  lib/templates/memcached/memcached.monitrc.erb
80
81
  lib/templates/memcached/memcached.yml.erb
82
+ lib/templates/merb/merb-no-http.monitrc.erb
81
83
  lib/templates/merb/merb.initd.centos.erb
82
84
  lib/templates/merb/merb.monitrc.erb
83
85
  lib/templates/mongrel/mongrel_cluster.initd.centos.erb
@@ -112,11 +114,3 @@ test/test_helper.rb
112
114
  test/test_plugin_upload.rb
113
115
  test/test_recipes.rb
114
116
  test/test_templates.rb
115
- website/index.html
116
- website/index.txt
117
- website/javascripts/code_highlighter.js
118
- website/javascripts/rounded_corners_lite.inc.js
119
- website/javascripts/ruby.js
120
- website/stylesheets/screen.css
121
- website/template.rhtml
122
- website/template_recipe.rhtml
data/lib/capitate.rb CHANGED
@@ -27,6 +27,8 @@ require "capitate/cap_ext/connections"
27
27
  require "capitate/cap_ext/variables"
28
28
  require "capitate/cap_ext/run_via"
29
29
  require "capitate/cap_ext/docs"
30
+ require "capitate/cap_ext/namespace"
31
+ require "capitate/cap_ext/task_definition"
30
32
 
31
33
  class Capistrano::Configuration
32
34
  include Capitate::CapExt::Variables
@@ -35,6 +37,18 @@ class Capistrano::Configuration
35
37
  include Capitate::CapExt::Docs
36
38
  end
37
39
 
40
+ class Capistrano::TaskDefinition
41
+ include Capitate::CapExt::TaskDefinition
42
+ end
43
+
44
+ class Capistrano::Configuration::Namespaces::Namespace
45
+ include Capitate::CapExt::Namespace
46
+ end
47
+
48
+ module Capistrano::Configuration::Namespaces
49
+ include Capitate::CapExt::Namespace
50
+ end
51
+
38
52
  #module Capistrano::Configuration::Connections; end
39
53
 
40
54
  require 'capitate/task_node'
@@ -0,0 +1,34 @@
1
+ module Capitate
2
+
3
+ module CapExt
4
+
5
+ module Namespace
6
+
7
+ def self.included(base) #:nodoc:
8
+ unless base.method_defined?(:task_without_capitate)
9
+ base.send :alias_method, :task_without_capitate, :task
10
+ base.send :alias_method, :task, :task_with_capitate
11
+ end
12
+ end
13
+
14
+ def task_arg(name, desc, options = {})
15
+ @next_task_arguments ||= []
16
+ @next_task_arguments << options.merge({ :name => name, :desc => desc })
17
+ end
18
+
19
+ def task_with_capitate(name, options={}, &block)
20
+ task_without_capitate(name, options) do
21
+ find_task(name).setup_defaults
22
+ block.call
23
+ end
24
+ task_def = find_task(name)
25
+ task_def.arguments = @next_task_arguments
26
+ @next_task_arguments = nil
27
+ task_def
28
+ end
29
+
30
+ end
31
+
32
+ end
33
+
34
+ end
@@ -0,0 +1,22 @@
1
+ module Capitate
2
+
3
+ module CapExt
4
+
5
+ module TaskDefinition
6
+
7
+ attr_accessor :arguments
8
+
9
+ def setup_defaults
10
+ return if arguments.blank?
11
+
12
+ arguments.each do |arg|
13
+ namespace.fetch_or_default(arg[:name], arg[:default]) if arg.has_key?(:default)
14
+ namespace.fetch_or_set(arg[:name], arg[:set]) if arg.has_key?(:set)
15
+ end
16
+ end
17
+
18
+ end
19
+
20
+ end
21
+
22
+ end
@@ -172,7 +172,27 @@ class Capitate::TaskNode
172
172
  options = ""
173
173
  options = "<span class='options'>, #{task.options.inspect}</span>" unless task.options.blank?
174
174
  file.puts "h3(##{task.fully_qualified_name}). #{task.fully_qualified_name}#{options}\n\n"
175
- file.puts "#{unindent(task.desc)}\n\n"
175
+ file.puts "#{unindent(task.desc)}\n\n"
176
+ if task.arguments
177
+ file.puts "h4. Parameters\n\n"
178
+ file.puts "<dl>\n"
179
+ task.arguments.each do |arg|
180
+ file.puts "<dt>#{arg[:name]}</dt>"
181
+ file.puts "<dd>#{unindent(arg[:desc])}</dd>" if arg.has_key?(:desc)
182
+ if arg.has_key?(:default_desc)
183
+ file.puts "<dd class='default'>Defaults to @#{arg[:default_desc]}@</dd>"
184
+ elsif arg.has_key?(:default)
185
+ file.puts "<dd class='default'>Defaults to @#{arg[:default].inspect}@</dd>"
186
+ end
187
+
188
+ if arg.has_key?(:set)
189
+ file.puts "<dd class='default'>Defaults to @#{arg[:set].inspect}@ (cap setting)</dd>"
190
+ end
191
+
192
+ file.puts "<dd class='example'>Example: @set :#{arg[:name]}, #{arg[:example]}@" if arg.has_key?(:example)
193
+ end
194
+ end
195
+ file.puts "</dl>\n\n"
176
196
  file.puts "</div>\n\n\n"
177
197
  end
178
198
  end
@@ -2,7 +2,7 @@ module Capitate #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 3
5
- TINY = 5
5
+ TINY = 6
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -4,45 +4,16 @@ namespace :active_record do
4
4
  Create (ActiveRecord) database yaml in shared path.
5
5
  Note: If both @:db_host@ and @:db_socket@ are used, @db_socket@ wins.
6
6
 
7
- <dl>
8
- <dt>db_name</dt>
9
- <dd>Database name.</dd>
10
- <dd>@set :db_name, "app_db_name"@</dd>
11
-
12
- <dt>db_user</dt>
13
- <dd>Database user.</dd>
14
- <dd>@set :db_user, "app_db_user"@</dd>
15
-
16
- <dt>db_pass</dt>
17
- <dd>Database password.</dd>
18
- <dd>@set :db_pass, "the_password"@</dd>
19
-
20
- <dt>db_host</dt>
21
- <dd>Database host (can be nil, if you are using socket).</dd>
22
- <dd class="default">Defaults to @nil@</dd>
23
-
24
- <dt>db_socket</dt>
25
- <dd>Database socket (can be nil, if you are using host).</dd>
26
- <dd class="default">Defaults to @nil@</dd>
27
- <dd>@set :db_socket, "/var/lib/mysql/mysql.sock"@</dd>
28
-
29
- <dt>database_yml_template</dt>
30
- <dd>Path to database yml erb template.
31
- <dd class="default">Defaults to @rails/database.yml.erb@ (in this GEM)</dd>
32
- </dl>
33
-
34
7
  "Source":#{link_to_source(__FILE__)}
35
8
  DESC
9
+ task_arg(:db_name, "Database name")
10
+ task_arg(:db_user, "Database user")
11
+ task_arg(:db_pass, "Database password")
12
+ task_arg(:db_host, "Database host", :default => nil)
13
+ task_arg(:db_socket, "Database socket", :default => nil)
14
+ task_arg(:database_yml_template, "Database yml template", :default => "rails/database.yml.erb")
36
15
  task :setup, :roles => :app do
37
16
 
38
- # Settings
39
- fetch(:db_name)
40
- fetch(:db_user)
41
- fetch(:db_pass)
42
- fetch_or_default(:db_host, nil)
43
- fetch_or_default(:db_socket, nil)
44
- fetch_or_default(:database_yml_template, "rails/database.yml.erb")
45
-
46
17
  unless db_host.blank?
47
18
  set :db_connect_type, "host"
48
19
  set :db_connect, db_host
@@ -57,7 +28,7 @@ namespace :active_record do
57
28
  put template.load(database_yml_template), "#{shared_path}/config/database.yml"
58
29
  end
59
30
 
60
- desc "Make symlink for database yaml"
31
+ desc "Make symlink for database yaml"
61
32
  task :update_code do
62
33
  run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
63
34
  end
@@ -6,29 +6,14 @@ namespace :backgroundrb do
6
6
  For pid path support, change backgroundrb script pid_file line to:
7
7
 
8
8
  pid_file = "\#{CONFIG_FILE[:backgroundrb][:pid_file]}"
9
-
10
- <dl>
11
- <dt>backgroundrb_host</dt>
12
- <dd>Backgroundrb host</dd>
13
- <dd class="default">Defaults to @0.0.0.0@</dd>
14
9
 
15
- <dt>backgroundrb_port</dt>
16
- <dd>Backgroundrb port</dd>
17
- <dd class="default">Defaults to @11006@</dd>
18
-
19
- <dt>backgroundrb_yml_template</dt>
20
- <dd>Backgroundrb yml template</dd>
21
- <dd class="default">Defaults to @backgroundrb/backgroundrb.yml.erb@ in this gem.</dd>
22
- </dl>
23
-
24
10
  "Source":#{link_to_source(__FILE__)}
25
11
  DESC
12
+ task_arg(:backgroundrb_host, "Backgroundrb host", :default => "0.0.0.0")
13
+ task_arg(:backgroundrb_port, "Backgroundrb port", :default => 11006)
14
+ task_arg(:backgroundrb_pid_path, "Backgroundrb pid path", :default => Proc.new{"#{shared_path}/pids/backgroundrb.pid"}, :default_desc => "\#{shared_path}/pids/backgroundrb.pid")
15
+ task_arg(:backgroundrb_yml_template, "Backgroundrb yml template", :default => "backgroundrb/backgroundrb.yml.erb")
26
16
  task :setup do
27
- fetch_or_default(:backgroundrb_host, "0.0.0.0")
28
- fetch_or_default(:backgroundrb_port, 11006)
29
- fetch_or_default(:backgroundrb_pid_path, "#{shared_path}/pids/backgroundrb.pid")
30
- fetch_or_default(:backgroundrb_yml_template, "backgroundrb/backgroundrb.yml.erb")
31
-
32
17
  utils.install_template(backgroundrb_yml_template, "#{shared_path}/config/backgroundrb.yml")
33
18
  end
34
19
 
@@ -5,36 +5,15 @@ namespace :backgroundjob do
5
5
  desc <<-DESC
6
6
  Setup backgroundjob for application.
7
7
 
8
- <dl>
9
- <dt>backgroundjob_bin_path</dt>
10
- <dd>Path to start.
11
- <dd class="default">Defaults to:
12
- <pre>
13
- \#{current_path}/script/bj --forever --rails_env=production --rails_root=\#{current_path} --redirect \
14
- --redirect=\#{backgroundjob_log_path} --pidfile=\#{backgroundjob_pid_path} &
15
- </pre>
16
- </dd>
17
- <dt>backgroundjob_pid_path</dt>
18
- <dd>Path to backgroundjob pid file</dd>
19
- <dd class="default">Defaults to @\#{shared_path}/pids/bj.pid@</dd>
20
-
21
- <dt>backgroundjob_log_path</dt>
22
- <dd>Path to backgroundjob log file</dd>
23
- <dd class="default">Defaults to @\#{shared_path}/logs/bj.log@</dd>
24
- </dl>
25
8
  "Source":#{link_to_source(__FILE__)}
26
9
  DESC
10
+ task_arg(:backgroundjob_bin_path, "Path to backgroundjob",
11
+ :default => Proc.new{"#{current_path}/script/bj run --forever --rails_env=production --rails_root=#{current_path} --redirect=#{backgroundjob_log_path} --log=#{backgroundjob_log_path} --pidfile=#{backgroundjob_pid_path} --daemon"},
12
+ :default_desc => "\#{current_path}/script/bj run --forever --rails_env=production --rails_root=\#{current_path} --redirect=\#{backgroundjob_log_path} --log=\#{backgroundjob_log_path} --pidfile=\#{backgroundjob_pid_path} --daemon")
13
+ task_arg(:backgroundjob_pid_path, "Path to backgroundjob pid file", :default => Proc.new{"#{shared_path}/pids/bj.pid"}, :default_desc => "\#{shared_path}/pids/bj.pid")
14
+ task_arg(:backgroundjob_log_path, "Path to backgroundjob log file", :default => Proc.new{"#{shared_path}/log/bj.log"}, :default_desc => "\#{shared_path}/log/bj.log")
27
15
  task :setup do
28
- # Settings
29
- fetch_or_default(:backgroundjob_pid_path, "#{shared_path}/pids/bj.pid")
30
- fetch_or_default(:backgroundjob_log_path, "#{shared_path}/log/bj.log")
31
-
32
- default_bin_path = "#{current_path}/script/bj run --forever --rails_env=production --rails_root=#{current_path} \
33
- --redirect=#{backgroundjob_log_path} --pidfile=#{backgroundjob_pid_path} &"
34
16
 
35
- fetch_or_default(:backgroundjob_bin_path, default_bin_path)
36
-
37
-
38
17
  # Install initscript
39
18
  utils.install_template("backgroundjob/backgroundjob.initd.centos.erb", "/etc/init.d/backgroundjob_#{application}")
40
19
 
@@ -5,22 +5,11 @@ namespace :backgroundrb do
5
5
  desc <<-DESC
6
6
  Setup backgroundrb for application.
7
7
 
8
- <dl>
9
- <dt>backgroundrb_bin_path</dt>
10
- <dd>Path to start.
11
- <dd class="default">Defaults to @\#{current_path}/script/backgroundrb -e production start@</dd>
12
- <dt>backgroundrb_pid_path</dt>
13
- <dd>Path to backgroundrb pid file</dd>
14
- <dd class="default">Defaults to @\#{shared_path}/pids/backgroundrb.pid@</dd>
15
- </dl>
16
8
  "Source":#{link_to_source(__FILE__)}
17
9
  DESC
10
+ task_arg(:backgroundrb_bin_path, "Path to backgroundrb bin", :default => Proc.new{"#{current_path}/script/backgroundrb -e production start"}, :default_desc => "\#{current_path}/script/backgroundrb -e production start")
11
+ task_arg(:backgroundrb_pid_path, "Path to backgroundrb pid file", :default => Proc.new{"#{shared_path}/pids/backgroundrb.pid"}, :default_desc => "\#{shared_path}/pids/backgroundrb.pid")
18
12
  task :setup do
19
-
20
- # Settings
21
- fetch_or_default(:backgroundrb_bin_path, "#{current_path}/script/backgroundrb -e production start")
22
- fetch_or_default(:backgroundrb_pid_path, "#{shared_path}/pids/backgroundrb.pid")
23
-
24
13
  # Install initscript
25
14
  utils.install_template("backgroundrb/backgroundrb.initd.centos.erb", "/etc/init.d/backgroundrb_#{application}")
26
15
 
@@ -5,36 +5,14 @@ namespace :centos do
5
5
  desc <<-DESC
6
6
  Add user and set user password for application. Adds user to specified groups.
7
7
 
8
- <dl>
9
- <dt>user_add</dt>
10
- <dd>User to add.</dd>
11
- <dd>@set :user_add, "app_user"@</dd>
12
-
13
- <dt>groups</dt>
14
- <dd>Groups for user to be in.</dd>
15
- <dd class="default">Defaults to @nil@</dd>
16
- <dd>@set :groups, "admin,foo"@</dd>
17
-
18
- <dt>home</dt>
19
- <dd>Home directory for user.</dd>
20
- <dd class="default">Defaults to @:deploy_to@ setting_</dd>
21
- <dd>@set :home, "/var/www/apps/app_name"@</dd>
22
-
23
- <dt>home_readable</dt>
24
- <dd>Whether home permissions are readable by all. Needed if using deploy dir as home.</dd>
25
- <dd class="default">Defaults to @true@</dd>
26
- <dd>@set :home_readable, true@</dd>
27
- </dl>
28
8
  "Source":#{link_to_source(__FILE__)}
29
9
  DESC
10
+ task_arg(:user_add, "User to add")
11
+ task_arg(:groups, "Groups for user to be in", :default => nil, :example => "\"admin,foo,bar\"")
12
+ task_arg(:home, "Home directory for user", :set => :deploy_to)
13
+ task_arg(:home_readable, "Whether home permissions are readable by all. Needed if using deploy dir as home.", :default => true)
30
14
  task :add_user do
31
15
 
32
- # Settings
33
- fetch(:user_add)
34
- fetch_or_default(:groups, nil)
35
- fetch_or_default(:home, deploy_to)
36
- fetch_or_default(:home_readable, true)
37
-
38
16
  adduser_options = []
39
17
  adduser_options << "-d #{home}" unless home.blank?
40
18
  adduser_options << "-G #{groups}" unless groups.blank?
@@ -2,8 +2,12 @@ namespace :imagemagick do
2
2
  namespace :centos do
3
3
 
4
4
  desc <<-DESC
5
- Install imagemagick.\n
6
- <dl><dt>imagemagick_build_options</dt><dd>Imagemagick build options</dd></dl>
5
+ Install imagemagick.
6
+
7
+ "Source":#{link_to_source(__FILE__)}
8
+ DESC
9
+ task_arg(:imagemagick_build_options, <<-EOS)
10
+ Imagemagick build options
7
11
  <pre>
8
12
  <code class="ruby">
9
13
  set :imagemagick_build_options, {
@@ -12,13 +16,8 @@ namespace :imagemagick do
12
16
  }
13
17
  </code>
14
18
  </pre>
15
- "Source":#{link_to_source(__FILE__)}
16
- DESC
17
- task :install do
18
-
19
- # Settings
20
- fetch(:imagemagick_build_options)
21
-
19
+ EOS
20
+ task :install do
22
21
  # Install dependencies
23
22
  yum.install([ "libjpeg-devel", "libpng-devel", "glib2-devel", "fontconfig-devel", "zlib-devel",
24
23
  "libwmf-devel", "freetype-devel", "libtiff-devel" ])
@@ -5,10 +5,13 @@ namespace :memcached do
5
5
  desc <<-DESC
6
6
  Install memcached.
7
7
 
8
- <dl>
9
- <dt>memcached_build_options</dt>
10
- <dd>Memcached build options.</dd>
11
- <dd>
8
+ "Source":#{link_to_source(__FILE__)}
9
+ DESC
10
+ task_arg(:memcached_pid_path, "Path to memcached pid file.", :default => "/var/run/memcached.pid")
11
+ task_arg(:memcached_port, "Memcached port", :default => 11211)
12
+ task_arg(:memcached_memory, "Memcached memory (in MB)")
13
+ task_arg(:memcached_build_options, <<-EOS)
14
+ Memcached build options
12
15
  <pre>
13
16
  <code class="ruby">
14
17
  set :memcached_build_options, {
@@ -17,66 +20,22 @@ namespace :memcached do
17
20
  }
18
21
  </code>
19
22
  </pre>
20
- </dd>
21
-
22
-
23
- <dt>memcached_memory</dt>
24
- <dd>Memcached memory (in MB).</dd>
25
- <dd>@set :memcached_memory, 64@</dd>
26
-
27
- <dt>memcached_pid_path*</dt>
28
- <dd>Path to memcached pid file.</dd>
29
- <dd class="default">Defaults to @/var/run/memcached.pid@</dd>
30
- <dd>@set :memcached_pid_path, "/var/run/memcached.pid"@</dd>
31
-
32
- <dt>memcached_port</dt>
33
- <dd>Memcached port<dd>
34
- <dd class="default">Defaults to 11211.</dd>
35
- <dd>@set :memcached_port, 11211@</dd>
36
-
37
- </dl>
38
- "Source":#{link_to_source(__FILE__)}
39
- DESC
23
+ EOS
40
24
  task :install do
41
-
42
- # Settings
43
- fetch_or_default(:memcached_pid_path, "/var/run/memcached.pid")
44
- fetch_or_default(:memcached_port, 11211)
45
- fetch(:memcached_memory)
46
- fetch(:memcached_build_options)
47
-
48
25
  # Build
49
26
  build.make_install("memcached", memcached_build_options)
50
-
51
27
  initscript
52
28
  end
53
29
 
54
30
  desc <<-DESC
55
31
  Install memcached initscript.
56
32
 
57
- <dl>
58
- <dt>memcached_memory</dt>
59
- <dd>Memcached memory (in MB).</dd>
60
- <dd>@set :memcached_memory, 64@</dd>
61
-
62
- <dt>memcached_pid_path*</dt>
63
- <dd>Path to memcached pid file.</dd>
64
- <dd class="default">Defaults to @/var/run/memcached.pid@</dd>
65
- <dd>@set :memcached_pid_path, "/var/run/memcached.pid"@</dd>
66
-
67
- <dt>memcached_port</dt>
68
- <dd>Memcached port<dd>
69
- <dd class="default">Defaults to 11211.</dd>
70
- <dd>@set :memcached_port, 11211@</dd>
71
- </dl>
72
33
  "Source":#{link_to_source(__FILE__)}
73
34
  DESC
74
- task :initscript do
75
-
76
- fetch_or_default(:memcached_pid_path, "/var/run/memcached.pid")
77
- fetch_or_default(:memcached_port, 11211)
78
- fetch(:memcached_memory)
79
-
35
+ task_arg(:memcached_pid_path, "Path to memcached pid file.", :default => "/var/run/memcached.pid")
36
+ task_arg(:memcached_port, "Memcached port", :default => 11211)
37
+ task_arg(:memcached_memory, "Memcached memory (in MB)")
38
+ task :initscript do
80
39
  utils.install_template("memcached/memcached.initd.centos.erb", "/etc/init.d/memcached")
81
40
  run_via "/sbin/chkconfig --level 345 memcached on"
82
41
  end