lib/recipes/centos/mongrel_cluster.rb in capitate-0.2.3 vs lib/recipes/centos/mongrel_cluster.rb in capitate-0.2.5
- old
+ new
@@ -1,41 +1,55 @@
-namespace :mongrel_cluster do
+namespace :mongrel do
+
+ namespace :cluster do
- namespace :centos do
+ namespace :centos do
- desc <<-DESC
- Create mongrel cluster.
+ desc <<-DESC
+ Create mongrel cluster.
- *mongrel_size*: Number of mongrels.\n
- @set :mongrel_size, 3@\n
- *mongrel_port*: Starting port for mongrels. If there are 3 mongrels with port 9000,
- then instances will be at 9000, 9001, and 9002\n
- @set :mongrel_port, 9000@\n
- *mongrel_config_dir*: Directory for mongrel config. _Defaults to "[shared_path]/config/mongrel"_
- *mongrel_pid_dir*: Directory for mongrel pids. _Defaults to "[shared_path]/pids"
- *mongrel_config_script*: Config script to load with mongrel. _Defaults to nil_\n
- @set :mongrel_config_script, "config/mongrel_handler.rb"@\n
- DESC
- task :setup do
+ *mongrel_size*: Number of mongrels.\n
+ @set :mongrel_size, 3@\n
+ *mongrel_port*: Starting port for mongrels. If there are 3 mongrels with port 9000,
+ then instances will be at 9000, 9001, and 9002\n
+ @set :mongrel_port, 9000@\n
+ *mongrel_config_dir*: Directory for mongrel config. _Defaults to "[shared_path]/config/mongrel"_
+ *mongrel_pid_dir*: Directory for mongrel pids. _Defaults to "[shared_path]/pids"
+ *mongrel_config_script*: Config script to load with mongrel. _Defaults to nil_\n
+ @set :mongrel_config_script, "config/mongrel_handler.rb"@\n
+ *mongrel_cluster_command*: Mongrel cluster command. _Defaults to mongrel_cluster_ctl_
+ *mongrel_initscript_name*: Mongrel initscript name. _Defaults to mongrel_cluster_\#{application}_
+ *mongrel_config_options*: Config options appended to cluster yml. _Defaults to <tt>{}</tt>_
+ DESC
+ task :setup do
- # Settings
- fetch(:mongrel_size)
- fetch(:mongrel_port)
- fetch_or_default(:mongrel_config_dir, "#{shared_path}/config/mongrel")
- fetch_or_default(:mongrel_pid_dir, "#{shared_path}/pids")
- fetch_or_default(:mongrel_config_script, nil)
+ # Settings
+ fetch(:mongrel_size)
+ fetch(:mongrel_port)
+ fetch_or_default(:mongrel_config_dir, "#{shared_path}/config/mongrel")
+ fetch_or_default(:mongrel_pid_dir, "#{shared_path}/pids")
+ fetch_or_default(:mongrel_config_script, nil)
+
+ fetch_or_default(:mongrel_cluster_command, "mongrel_cluster_ctl")
+ fetch_or_default(:mongrel_initscript_name, "mongrel_cluster_#{application}")
+ fetch_or_default(:mongrel_config_options, {})
+
+ unless mongrel_config_script.blank?
+ mongrel_config_options["config_script"] = mongrel_config_script
+ end
- run "mkdir -p #{mongrel_config_dir}"
+ run "mkdir -p #{mongrel_config_dir}"
- put template.load("mongrel/mongrel_cluster.initd.erb"), "/tmp/mongrel_cluster_#{application}.initd"
- put template.load("mongrel/mongrel_cluster.yml.erb"), "#{mongrel_config_dir}/mongrel_cluster.yml"
+ put template.load("mongrel/mongrel_cluster.initd.erb"), "/tmp/#{mongrel_initscript_name}.initd"
+ put template.load("mongrel/mongrel_cluster.yml.erb"), "#{mongrel_config_dir}/mongrel_cluster.yml"
- # Setup the mongrel_cluster init script
- sudo "install -o root /tmp/mongrel_cluster_#{application}.initd /etc/init.d/mongrel_cluster_#{application}"
+ # Setup the mongrel_cluster init script
+ sudo "install -o root /tmp/#{mongrel_initscript_name}.initd /etc/init.d/#{mongrel_initscript_name}"
- sudo "/sbin/chkconfig --level 345 mongrel_cluster_#{application} on"
- end
+ sudo "/sbin/chkconfig --level 345 #{mongrel_initscript_name} on"
+ end
+ end
end
end
\ No newline at end of file