capitate 0.3.5 → 0.3.6

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 (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
@@ -4,42 +4,16 @@ namespace :merb do
4
4
  desc <<-DESC
5
5
  Setup merb.
6
6
 
7
- <dl>
8
- <dt>merb_command_path</dt>
9
- <dd>The path for merb startup command</dd>
10
- <dd class="default">Defaults to @merb@</dd>
11
-
12
- <dt>merb_nodes</dt>
13
- <dd>Number of merb daemons to run</dd>
14
- <dd>@set :merb_nodes, 3@</dd>
15
-
16
- <dt>merb_port</dt>
17
- <dd>Starting port for merb nodes. If there are 3 merb nodes with port 9000,
18
- then instances will be at 9000, 9001, and 9002</dd>
19
- <dd>@set :merb_port, 9000@</dd>
20
-
21
- <dt>merb_root</dt>
22
- <dd>Directory for merb root</dd>
23
- <dd class="default">Defaults to @\#{current_path}@</dd>
24
-
25
- <dt>merb_pid_path</dt>
26
- <dd>Path for merb pids</dd>
27
- <dd class="default">Defaults to @\#{shared_path}/pids/merb.pid@</dd>
28
- </dl>
29
7
  "Source":#{link_to_source(__FILE__)}
30
8
  DESC
9
+ task_arg(:merb_nodes, "Number of merb daemons to run")
10
+ task_arg(:merb_port, "Starting port for merb nodes. If there are 3 merb nodes with port 9000, then instances will be at 9000, 9001, and 9002")
11
+ task_arg(:merb_command_path, "The path for merb startup command", :default => "merb")
12
+ task_arg(:merb_pid_path, "Path for merb pids", :default => Proc.new{"#{shared_path}/pids/merb.pid"}, :default_desc => "\#{shared_path}/pids/merb.pid")
13
+ task_arg(:merb_root, "Directory for merb root", :set => :current_path)
14
+ task_arg(:merb_application, "Merb application name", :default => Proc.new{"merb_#{application}"}, :default_desc => "merb_\#{application}")
15
+ task_arg(:merb_initscript_name, "Initscript name", :default => Proc.new{"merb_#{application}"}, :default_desc => "merb_\#{application}")
31
16
  task :setup do
32
-
33
- # Settings
34
- fetch(:merb_nodes)
35
- fetch(:merb_port)
36
- fetch_or_default(:merb_command_path, "merb")
37
- fetch_or_default(:merb_pid_path, "#{shared_path}/pids/merb.pid")
38
- fetch_or_default(:merb_root, current_path)
39
- fetch_or_default(:merb_application, "merb_#{application}")
40
-
41
- fetch_or_default(:merb_initscript_name, "merb_#{application}")
42
-
43
17
  utils.install_template("merb/merb.initd.centos.erb", "/etc/init.d/#{merb_initscript_name}")
44
18
  run_via "/sbin/chkconfig --level 345 #{merb_initscript_name} on"
45
19
  end
@@ -7,55 +7,21 @@ namespace :mongrel do
7
7
  desc <<-DESC
8
8
  Create mongrel cluster.
9
9
 
10
- <dl>
11
- <dt>mongrel_application</dt>
12
- <dd>Name of mongrel application</dd>
13
- <dd>@set :mongrel_application, "mongrel_cluster_\#{application}"@</dd>
14
-
15
- <dt>mongrel_size</dt><dd>Number of mongrels</dd>
16
- <dd>@set :mongrel_size, 3@</dd>
17
-
18
- <dt>mongrel_port</dt><dd>Starting port for mongrels. If there are 3 mongrels with port 9000,
19
- then instances will be at 9000, 9001, and 9002</dd>
20
- <dd>@set :mongrel_port, 9000@</dd>
21
-
22
- <dt>mongrel_config_dir</dt>
23
- <dd>Directory for mongrel config.</dd>
24
- <dd class="default">Defaults to @\#{shared_path}/config/mongrel@</dd>
25
-
26
- <dt>mongrel_pid_dir</dt><dd>Directory for mongrel pids</dd>
27
- <dd class="default">Defaults to @\#{shared_path}/pids@</dd>
28
-
29
- <dt>mongrel_config_script</dt><dd>Config script to load with mongrel</dd>
30
- <dd class="default">Defaults to @nil@</dd>
31
- <dd>@set :mongrel_config_script, "config/mongrel_handler.rb"@</dd>
32
-
33
- <dt>mongrel_cluster_command</dt>
34
- <dd>Mongrel cluster command.</dd>
35
- <dd class="default">Defaults to @mongrel_cluster_ctl@</dd>
10
+ "Source":#{link_to_source(__FILE__)}
11
+ DESC
36
12
 
37
- <dt>mongrel_initscript_name</dt><dd>Mongrel initscript name.</dd>
38
- <dd class="default">Defaults to @mongrel_cluster_\#{application}@</dd>
13
+ task_arg(:mongrel_application, "Name of mongrel application")
14
+ task_arg(:mongrel_size, "Number of mongrels")
15
+ task_arg(:mongrel_port, "Starting port for mongrels. If there are 3 mongrels with port 9000, then instances will be at 9000, 9001, and 9002")
16
+ task_arg(:mongrel_config_dir, "Directory for mongrel config", :default => Proc.new{"#{shared_path}/config/mongrel"}, :default_desc => "\#{shared_path}/config/mongrel")
17
+ task_arg(:mongrel_pid_dir, "Directory for mongrel pids", :default => Proc.new{"#{shared_path}/pids"}, :default_desc => "\#{shared_path}/pids")
18
+ task_arg(:mongrel_config_script, "Config script to load with mongrel", :default => nil)
39
19
 
40
- <dt>mongrel_config_options</dt>
41
- <dd>Config options appended to cluster yml.</dd>
42
- <dd class="default">Defaults to @{}@</dd>
20
+ task_arg(:mongrel_cluster_command, "Mongrel cluster command", :default => "mongrel_cluster_ctl")
21
+ task_arg(:mongrel_initscript_name, "Mongrel initscript name", :default => Proc.new{"mongrel_cluster_#{application}"}, :default_desc => "mongrel_cluster_\#{application}")
22
+ task_arg(:mongrel_config_options, "Config options appended to cluster yml", :default => {})
43
23
 
44
- </dl>
45
- "Source":#{link_to_source(__FILE__)}
46
- DESC
47
24
  task :setup do
48
-
49
- # Settings
50
- fetch(:mongrel_size)
51
- fetch(:mongrel_port)
52
- fetch_or_default(:mongrel_config_dir, "#{shared_path}/config/mongrel")
53
- fetch_or_default(:mongrel_pid_dir, "#{shared_path}/pids")
54
- fetch_or_default(:mongrel_config_script, nil)
55
-
56
- fetch_or_default(:mongrel_cluster_command, "mongrel_cluster_ctl")
57
- fetch_or_default(:mongrel_initscript_name, "mongrel_cluster_#{application}")
58
- fetch_or_default(:mongrel_config_options, {})
59
25
 
60
26
  unless mongrel_config_script.blank?
61
27
  mongrel_config_options["config_script"] = mongrel_config_script
@@ -72,13 +38,11 @@ namespace :mongrel do
72
38
  end
73
39
 
74
40
  desc "Mongrel cluster setup initscript for application"
41
+ task_arg(:mongrel_config_dir, "Directory for mongrel config", :default => Proc.new{"#{shared_path}/config/mongrel"}, :default_desc => "\#{shared_path}/config/mongrel")
42
+ task_arg(:mongrel_pid_dir, "Directory for mongrel pids", :default => Proc.new{"#{shared_path}/pids"}, :default_desc => "\#{shared_path}/pids")
43
+ task_arg(:mongrel_cluster_command, "Mongrel cluster command", :default => "mongrel_cluster_ctl")
44
+ task_arg(:mongrel_initscript_name, "Mongrel initscript name", :default => Proc.new{"mongrel_cluster_#{application}"}, :default_desc => "mongrel_cluster_\#{application}")
75
45
  task :initscript do
76
-
77
- fetch_or_default(:mongrel_config_dir, "#{shared_path}/config/mongrel")
78
- fetch_or_default(:mongrel_pid_dir, "#{shared_path}/pids")
79
- fetch_or_default(:mongrel_cluster_command, "mongrel_cluster_ctl")
80
- fetch_or_default(:mongrel_initscript_name, "mongrel_cluster_#{application}")
81
-
82
46
  utils.install_template("mongrel/mongrel_cluster.initd.centos.erb", "/etc/init.d/#{mongrel_initscript_name}")
83
47
  run_via "/sbin/chkconfig --level 345 #{mongrel_initscript_name} on"
84
48
  end
@@ -5,49 +5,23 @@ namespace :monit do
5
5
  desc <<-DESC
6
6
  Install monit.
7
7
 
8
- <dl>
9
- <dt>monit_build_options</dt>
10
- <dd>Monit build options.</dd>
11
-
8
+ "Source":#{link_to_source(__FILE__)}
9
+ DESC
10
+ task_arg(:monit_port, "Monit port", :default => 2812)
11
+ task_arg(:monit_password, "Monit password", :default => Proc.new{prompt.password('Monit admin password (to set): ', :verify => true)}, :default_desc => "password prompt")
12
+ task_arg(:monit_conf_dir, :default => "/etc/monit")
13
+ task_arg(:monit_pid_path, "Path to monit pid", :default => "/var/run/monit.pid")
14
+ task_arg(:monit_log_path, "Path to monit log file", :default => "/var/log/monit.log")
15
+ task_arg(:monit_build_options, <<-EOS)
16
+ Monit build options
12
17
  <pre>
13
18
  <code class="ruby">
14
19
  set :monit_build_options, { :url => "http://www.tildeslash.com/monit/dist/monit-4.10.1.tar.gz" }
15
20
  </code>
16
21
  </pre>
17
-
18
- <dt>monit_port</dt>
19
- <dd>Monit port</dd>
20
- <dd class="default">Defaults to @2812@</dd>
21
- <dd>@set :monit_port, 2812@</dd>
22
-
23
- <dt>monit_password</dt>
24
- <dd>Monit password</dd>
25
- <dd class="default">Defaults to password prompt</dd>
26
- <dd>@set :monit_password, prompt.password('Monit admin password (to set): ')@</dd>
27
-
28
- <dt>monit_conf_dir</dt><dd>Directory for monitrc files.</dd>
29
- <dd>@set :monit_conf_dir, "/etc/monit"@</dd>
30
-
31
- <dt>monit_pid_path</dt><dd>Path to monit pid.</dd>
32
- @set :monit_pid_path, "/var/run/monit.pid"@</dd>
33
-
34
- <dt>monit_log_path</dt>
35
- <dd>Path to monit log file.</dd>
36
- <dd class="default">Defaults to @/var/log/monit.log@</dd>
37
-
38
- </dl>
39
- "Source":#{link_to_source(__FILE__)}
40
- DESC
22
+ EOS
41
23
  task :install do
42
24
 
43
- # Settings
44
- fetch_or_default(:monit_port, 2812)
45
- fetch_or_default(:monit_password, prompt.password('Monit admin password (to set): ', :verify => true))
46
- fetch_or_default(:monit_conf_dir, "/etc/monit")
47
- fetch_or_default(:monit_pid_path, "/var/run/monit.pid")
48
- fetch_or_default(:monit_log_path, "/var/log/monit.log")
49
- fetch(:monit_build_options)
50
-
51
25
  # Install dependencies
52
26
  yum.install([ "flex", "byacc" ])
53
27
 
@@ -5,19 +5,10 @@ namespace :mysql do
5
5
  desc <<-DESC
6
6
  Install mysql.
7
7
 
8
- <dl>
9
- <dt>mysql_admin_password_set</dt>
10
- <dd>Mysql admin password (to set)</dd>
11
- <dd class="default">Defaults to password prompt.</dd>
12
- <pre><code class="ruby">set :mysql_admin_password_set, prompt.password('Mysql admin password (to set): ')<code></pre>
13
- </dl>
14
8
  "Source":#{link_to_source(__FILE__)}
15
9
  DESC
10
+ task_arg(:mysql_admin_password_set, "Mysql admin password (to set)", :default => Proc.new{prompt.password('Mysql admin password (to set): ', :verify => true)}, :default_desc => "password prompt")
16
11
  task :install do
17
-
18
- # Settings
19
- fetch_or_default(:mysql_admin_password_set, prompt.password('Mysql admin password (to set): ', :verify => true))
20
-
21
12
  # Install through package manager
22
13
  yum.install([ "mysql", "mysql-devel", "mysql-server" ])
23
14
 
@@ -5,9 +5,10 @@ namespace :nginx do
5
5
  desc <<-DESC
6
6
  Install nginx, conf, initscript, nginx user and service.
7
7
 
8
- <dl>
9
- <dt>nginx_build_options</dt>
10
- <dd>Nginx build options.
8
+ "Source":#{link_to_source(__FILE__)}
9
+ DESC
10
+ task_arg(:nginx_build_options, <<-EOS)
11
+ Nginx build options.
11
12
  <pre>
12
13
  <code class="ruby">
13
14
  set :nginx_build_options, {
@@ -18,39 +19,12 @@ namespace :nginx do
18
19
  }
19
20
  </code>
20
21
  </pre>
21
- </dd>
22
-
23
- <dt>nginx_bin_path</dt>
24
- <dd>Nginx sbin path</dd>
25
- <dd class="default">Defaults to /sbin/nginx</dd>
26
- <dd>@set :nginx_bin_path, "/sbin/nginx"@</dd>
27
-
28
- <dt>nginx_conf_path</dt>
29
- <dd>Path to nginx conf.</dd>
30
- <dd class="default">Defaults to /etc/nginx/nginx.conf</dd>
31
- <dd>@set :nginx_conf_path, "/etc/nginx/nginx.conf"@</dd>
32
-
33
- <dt>nginx_pid_path</dt>
34
- <dd>Path to nginx pid file</dd>
35
- <dd class="default">Defaults to /var/run/nginx.pid</dd>
36
- <dd>@set :nginx_pid_path, "/var/run/nginx.pid"@</dd>
37
-
38
- <dt>nginx_prefix_path</dt>
39
- <dd>Nginx install prefix</dd>
40
- <dd class="default">Defaults to /var/nginx_</dd>
41
- <dd>@set :nginx_prefix_path, "/var/nginx"@</dd>
42
- </dl>
43
- "Source":#{link_to_source(__FILE__)}
44
- DESC
45
- task :install do
46
-
47
- # Settings
48
- fetch(:nginx_build_options)
49
- fetch_or_default(:nginx_bin_path, "/sbin/nginx")
50
- fetch_or_default(:nginx_conf_path, "/etc/nginx/nginx.conf")
51
- fetch_or_default(:nginx_pid_path, "/var/run/nginx.pid")
52
- fetch_or_default(:nginx_prefix_path, "/var/nginx")
53
-
22
+ EOS
23
+ task_arg(:nginx_bin_path, "Nginx sbin path", :default => "/sbin/nginx")
24
+ task_arg(:nginx_conf_path, "Path to nginx conf", :default => "/etc/nginx/nginx.conf")
25
+ task_arg(:nginx_pid_path, "Path to nginx pid file", :default => "/var/run/nginx.pid")
26
+ task_arg(:nginx_prefix_path, "Nginx install prefix", :default => "/var/nginx")
27
+ task :install do
54
28
  # Install dependencies
55
29
  yum.install([ "pcre-devel", "openssl", "openssl-devel" ])
56
30
 
@@ -71,11 +45,10 @@ namespace :nginx do
71
45
  end
72
46
 
73
47
  desc "Install nginx initscript"
48
+ task_arg(:nginx_bin_path, "Nginx sbin path", :default => "/sbin/nginx")
49
+ task_arg(:nginx_conf_path, "Path to nginx conf", :default => "/etc/nginx/nginx.conf")
50
+ task_arg(:nginx_pid_path, "Path to nginx pid file", :default => "/var/run/nginx.pid")
74
51
  task :initscript do
75
- fetch_or_default(:nginx_bin_path, "/sbin/nginx")
76
- fetch_or_default(:nginx_conf_path, "/etc/nginx/nginx.conf")
77
- fetch_or_default(:nginx_pid_path, "/var/run/nginx.pid")
78
-
79
52
  utils.install_template("nginx/nginx.initd.centos.erb", "/etc/init.d/nginx")
80
53
  run_via "/sbin/chkconfig --level 345 nginx on"
81
54
  end
@@ -84,8 +57,7 @@ namespace :nginx do
84
57
  desc "Restart nginx (service)"
85
58
  task :restart do
86
59
  sudo "/sbin/service nginx restart"
87
- end
88
-
60
+ end
89
61
 
90
62
  end
91
63
 
@@ -5,14 +5,10 @@ namespace :ruby do
5
5
  desc <<-DESC
6
6
  Install ruby and rubygems.
7
7
 
8
- <dl>
9
- <dt>ruby_build_options</dt>
10
- <dd>Ruby build options.</dd>
11
-
12
- <dt>rubygems_build_options<dt>
13
- <dd>Rubygems build options.</dd>
14
- </dl>
15
-
8
+ "Source":#{link_to_source(__FILE__)}
9
+ DESC
10
+ task_arg(:ruby_build_options, <<-EOS)
11
+ Rubygems build options.
16
12
  <pre>
17
13
  <code class="ruby">
18
14
  set :ruby_build_options, {
@@ -23,14 +19,9 @@ namespace :ruby do
23
19
  }
24
20
  </code>
25
21
  </pre>
26
- "Source":#{link_to_source(__FILE__)}
27
- DESC
22
+ EOS
23
+ task_arg(:rubygems_build_options, "Rubygems build options")
28
24
  task :install do
29
-
30
- # Settings
31
- fetch(:ruby_build_options)
32
- fetch(:rubygems_build_options)
33
-
34
25
  # Install dependencies
35
26
  yum.install([ "zlib", "zlib-devel", "readline-devel" ])
36
27
 
@@ -5,10 +5,9 @@ namespace :sphinx do
5
5
  desc <<-DESC
6
6
  Install sphinx.\n
7
7
 
8
- <dl>
9
- <dt>sphinx_build_options</dt>
10
- <dd>Sphinx build options.</dd>
11
- <dd>
8
+ DESC
9
+ task_arg(:sphinx_build_options, <<-EOS)
10
+ Sphinx build options.
12
11
  <pre>
13
12
  <code class="ruby">
14
13
  set :sphinx_build_options, {
@@ -18,19 +17,9 @@ namespace :sphinx do
18
17
  }
19
18
  </code>
20
19
  </pre>
21
- </dd>
22
-
23
- <dt>sphinx_prefix</dt>
24
- <dd>Sphinx install prefix</dd>
25
- <dd class="default">Defaults to @/usr/local/sphinx@</dd>
26
- </dl>
27
- DESC
20
+ EOS
21
+ task_arg(:sphinx_prefix, "Sphinx install prefix", :default => "/usr/local/sphinx")
28
22
  task :install do
29
-
30
- # Settings
31
- fetch(:sphinx_build_options)
32
- fetch_or_default(:sphinx_prefix, "/usr/local/sphinx")
33
-
34
23
  # Install dependencies
35
24
  yum.install([ "gcc-c++" ])
36
25
 
@@ -41,37 +30,25 @@ namespace :sphinx do
41
30
  desc <<-DESC
42
31
  Setup sphinx for application.
43
32
 
44
- <dl>
45
- <dt>sphinx_prefix</dt><dd>Sphinx install prefix</dd><dd class="default">Defaults to @/usr/local/sphinx@</dd>
46
- <dt>sphinx_pid_path</dt><dd>Directory to sphinx pid</dd><dd class="default">Defaults to @\#{shared_path}/pids/searchd.pid@</dd>
47
- <dt>sphinx_conf_path</dt><dd>Path to sphinx.conf</dd><dd class="default">Defaults to @\#{shared_path}/config/sphinx.conf@</dd>
48
- <dt>sphinx_index_path</dt><dd>Path to sphinx indexes</dd><dd class="default">Defaults to @\#{shared_path}/var/index@</dd>
49
- </dl>
50
33
  "Source":#{link_to_source(__FILE__)}
51
34
  DESC
35
+ task_arg(:sphinx_prefix, "Sphinx install prefix", :default => "/usr/local/sphinx")
36
+ task_arg(:sphinx_pid_path, "Directory to sphinx pid", :default => Proc.new{"#{shared_path}/pids/searchd.pid"}, :default_desc => "\#{shared_path}/pids/searchd.pid")
37
+ task_arg(:sphinx_conf_path, "Path to sphinx.conf", :default => Proc.new{"#{shared_path}/config/sphinx.conf"}, :default_desc => "\#{shared_path}/config/sphinx.conf")
38
+ task_arg(:sphinx_index_root, "Path to sphinx indexes", :default => Proc.new{"#{shared_path}/var/index"}, :default_desc => "\#{shared_path}/var/index")
52
39
  task :setup do
53
-
54
- # Settings
55
- fetch_or_default(:sphinx_prefix, "/usr/local/sphinx")
56
- fetch_or_default(:sphinx_pid_path, "#{shared_path}/pids/searchd.pid")
57
- fetch_or_default(:sphinx_conf_path, "#{shared_path}/config/sphinx.conf")
58
- fetch_or_default(:sphinx_index_root, "#{shared_path}/var/index")
59
-
60
40
  initscript
61
-
62
41
  # Create app indexes dir
63
42
  run "mkdir -p #{shared_path}/var/index"
64
43
  end
65
44
 
66
45
 
67
46
  desc "Setup sphinx initscript"
47
+ task_arg(:sphinx_prefix, "Sphinx install prefix", :default => "/usr/local/sphinx")
48
+ task_arg(:sphinx_pid_path, "Directory to sphinx pid", :default => Proc.new{"#{shared_path}/pids/searchd.pid"}, :default_desc => "\#{shared_path}/pids/searchd.pid")
49
+ task_arg(:sphinx_conf_path, "Path to sphinx.conf", :default => Proc.new{"#{shared_path}/config/sphinx.conf"}, :default_desc => "\#{shared_path}/config/sphinx.conf")
50
+ task_arg(:sphinx_index_root, "Path to sphinx indexes", :default => Proc.new{"#{shared_path}/var/index"}, :default_desc => "\#{shared_path}/var/index")
68
51
  task :initscript do
69
-
70
- fetch_or_default(:sphinx_prefix, "/usr/local/sphinx")
71
- fetch_or_default(:sphinx_pid_path, "#{shared_path}/pids/searchd.pid")
72
- fetch_or_default(:sphinx_conf_path, "#{shared_path}/config/sphinx.conf")
73
- fetch_or_default(:sphinx_index_root, "#{shared_path}/var/index")
74
-
75
52
  utils.install_template("sphinx/sphinx_app.initd.centos.erb", "/etc/init.d/sphinx_#{application}")
76
53
  run_via "/sbin/chkconfig --level 345 sphinx_#{application} on"
77
54
 
data/lib/recipes/docs.rb CHANGED
@@ -5,24 +5,12 @@ namespace :docs do
5
5
 
6
6
  This recipe generated this documentation.
7
7
 
8
- <dl>
9
- <dt>docs_recipes_dir</dd>
10
- <dd>Destination directory</dd>
11
- <dd class="default">Defaults to @docs/recipes@</dd>
12
- <dd>@set :docs_recipes_dir, "docs/recipes"@</dd>
13
-
14
- <dt>docs_recipes_clear</dt>
15
- <dd>Whether to clear destination before generating.</dd>
16
- <dd>@set :docs_recipes_clear, true@</dd>
17
- </dl>
18
8
  "Source":#{link_to_source(__FILE__)}
19
9
  DESC
10
+ task_arg(:docs_recipes_dir, "Destination directory", :default => "docs/recipes")
11
+ task_arg(:docs_recipes_clear, "Whether to clear destination before generating.", :default => true)
20
12
  task :recipes do
21
13
 
22
- # Settings
23
- fetch_or_default(:docs_recipes_dir, "docs/recipes")
24
- fetch_or_default(:docs_recipes_clear, true)
25
-
26
14
  # Build task tree
27
15
  top_node = capitate.task_tree
28
16
 
@@ -3,23 +3,22 @@ namespace :logrotated do
3
3
 
4
4
  desc <<-DESC
5
5
  Create logrotated conf. You probably use this in other recipes and not standalone.
6
-
7
- <dl>
8
- <dt>logrotate_name</dt>
9
- <dd>Name of file in /etc/logrotate.d/</dd>
10
-
11
- <dt>logrotate_log_path<dt>
12
- <dd>Path to log file. Can include wildcards, like /var/log/foo_*.log.</dd>
13
-
14
- <dt>logrotate_options</dt>
15
- <dd>:rotate (Number of times to rotate before discarding)</dd>
16
- <dd>:size (Rotate when file hits this size)</dd>
17
- <dd>:daily, :weekly, :monthly (How often to perform rotate)</dd>
18
- <dd>:missingok</dd>
19
- <dd>:compress</dd>
20
- <dd>:delaycompress</dd>
21
- <dd>:notifempty</dd>
22
- <dd>:copytruncate</dd>
6
+
7
+ "Source":#{link_to_source(__FILE__)}
8
+ DESC
9
+ task_arg(:logrotate_name, "Name of file in /etc/logrotate.d/")
10
+ task_arg(:logrotate_log_path, "Path to log file. Can include wildcards, like /var/log/foo_*.log.")
11
+ task_arg(:logrotate_options, <<-EOS)
12
+ Log rotate options
13
+
14
+ * :rotate (Number of times to rotate before discarding)
15
+ * :size (Rotate when file hits this size)
16
+ * :daily, :weekly, :monthly (How often to perform rotate)
17
+ * :missingok
18
+ * :compress
19
+ * :delaycompress
20
+ * :notifempty
21
+ * :copytruncate
23
22
 
24
23
  See man page for all the options.
25
24
 
@@ -29,14 +28,9 @@ namespace :logrotated do
29
28
  :daily, :missingok, :compress, :delaycompress, :notifempty, :copytruncate ]
30
29
  </code>
31
30
  </pre>
32
- "Source":#{link_to_source(__FILE__)}
33
- DESC
31
+ EOS
34
32
  task :install_conf do
35
33
 
36
- fetch(:logrotate_name)
37
- fetch(:logrotate_log_path)
38
- fetch(:logrotate_options)
39
-
40
34
  text = []
41
35
  logrotate_options.each do |option|
42
36
  if option.is_a?(Hash)
@@ -56,26 +50,12 @@ namespace :logrotated do
56
50
  desc <<-DESC
57
51
  Force rotate files.
58
52
 
59
- <dl>
60
- <dt>logrotate_prefix</dt>
61
- <dd>Path to logrotate</dd>
62
- <dd>Defaults to none</dd>
63
-
64
- <dt>logrotate_conf_path</dt>
65
- <dd>Path to logrotate conf</dd>
66
- <dd>Defaults to @"/etc/logrotate.conf"@</dd>
67
- </dl>
68
53
  "Source":#{link_to_source(__FILE__)}
69
54
  DESC
55
+ task_arg(:logrotate_bin_path, "Logrotate bin path", :default => "logrotate", :example => "/usr/local/bin/logrotate")
56
+ task_arg(:logrotate_conf_path, "Path to logrotate conf", :default => "/etc/logrotate.conf")
70
57
  task :force do
71
-
72
- fetch_or_default(:logrotate_prefix, "")
73
- fetch_or_default(:logrotate_conf_path, "/etc/logrotate.conf")
74
-
75
- command = "logrotate"
76
- command = "#{logrotate_prefix}/logrotate" unless logrotate_prefix.blank?
77
-
78
- run_via "#{command} -f #{logrotate_conf_path}"
58
+ run_via "#{logrotate_bin_path} -f #{logrotate_conf_path}"
79
59
  end
80
60
 
81
61
  end