capitate 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +7 -0
- data/Manifest.txt +1 -1
- data/lib/capitate/plugins/prompt.rb +40 -9
- data/lib/capitate/version.rb +1 -1
- data/lib/recipes/logrotate/merb.rb +2 -2
- data/lib/recipes/merb.rb +33 -0
- data/lib/recipes/monit/merb.rb +2 -2
- data/website/index.html +3 -3
- data/website/index.txt +1 -1
- metadata +5 -5
- data/bin/capitate +0 -30
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -4,7 +4,6 @@ License.txt
|
|
4
4
|
Manifest.txt
|
5
5
|
README.txt
|
6
6
|
Rakefile
|
7
|
-
bin/capitate
|
8
7
|
config/hoe.rb
|
9
8
|
config/requirements.rb
|
10
9
|
docs/nginx.README
|
@@ -51,6 +50,7 @@ lib/recipes/logrotate/rails.rb
|
|
51
50
|
lib/recipes/logrotate/sphinx.rb
|
52
51
|
lib/recipes/logrotated.rb
|
53
52
|
lib/recipes/memcached.rb
|
53
|
+
lib/recipes/merb.rb
|
54
54
|
lib/recipes/monit.rb
|
55
55
|
lib/recipes/monit/backgroundjob.rb
|
56
56
|
lib/recipes/monit/backgroundrb.rb
|
@@ -5,8 +5,8 @@ module Capitate::Plugins::Prompt
|
|
5
5
|
# Prompt.
|
6
6
|
#
|
7
7
|
# ==== Options
|
8
|
-
#
|
9
|
-
#
|
8
|
+
# :label<String>:: Label
|
9
|
+
# :options<Hash>:: An options hash (see below)
|
10
10
|
#
|
11
11
|
def ask(label, options = {}, &block)
|
12
12
|
Capistrano::CLI.ui.ask(label, &block)
|
@@ -14,15 +14,15 @@ module Capitate::Plugins::Prompt
|
|
14
14
|
|
15
15
|
# Prompt for password.
|
16
16
|
#
|
17
|
-
# ==== Options
|
18
|
-
#
|
19
|
-
#
|
17
|
+
# ==== Options (options)
|
18
|
+
# :label<String>:: Label
|
19
|
+
# :options<Hash>:: An options hash (see below)
|
20
20
|
#
|
21
21
|
# ==== Password options
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
22
|
+
# :verify<bool>:: If true, prompt twice and verify
|
23
|
+
# :lazy<bool>:: If true, returns a Proc. _Defaults to true_
|
24
|
+
# :check_hash<String>:: If present, checks that md5 is same as password md5
|
25
|
+
# :max_attempts<Integer>:: Number of attempts to retry. _Defaults to 3_
|
26
26
|
#
|
27
27
|
def password(label, options = {})
|
28
28
|
|
@@ -73,6 +73,37 @@ module Capitate::Plugins::Prompt
|
|
73
73
|
password_prompt.call
|
74
74
|
end
|
75
75
|
|
76
|
+
# Preview variables, and re-set them if asked to.
|
77
|
+
# Uses highline menus. Is not very intelligent.
|
78
|
+
#
|
79
|
+
# ==== Options
|
80
|
+
# :variables<Array>:: List of variables to show and verify
|
81
|
+
# :header<String>:: Menu header
|
82
|
+
# :prompt<String>:: Menu prompt
|
83
|
+
#
|
84
|
+
def preview_variables(variables, header = "Verify your settings", prompt = "Choose: ")
|
85
|
+
hl = Capistrano::CLI.ui
|
86
|
+
|
87
|
+
confirmed = false
|
88
|
+
while not confirmed do
|
89
|
+
hl.choose do |menu|
|
90
|
+
menu.header = header
|
91
|
+
menu.prompt = prompt
|
92
|
+
|
93
|
+
menu.choice("<Continue>") do
|
94
|
+
confirmed = true
|
95
|
+
end
|
96
|
+
|
97
|
+
variables.each do |variable|
|
98
|
+
menu.choice("#{variable}: #{fetch(variable)}") do
|
99
|
+
new_setting = ask("Set #{variable}: ") { |q| q.default = fetch(variable) }
|
100
|
+
set variable, new_setting
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
76
107
|
end
|
77
108
|
|
78
109
|
Capistrano.plugin :prompt, Capitate::Plugins::Prompt
|
data/lib/capitate/version.rb
CHANGED
@@ -7,12 +7,12 @@ namespace :merb do
|
|
7
7
|
<dl>
|
8
8
|
<dt>merb_logrotate_path</dt>
|
9
9
|
<dd>Merb logrotate path</dd>
|
10
|
-
<dd class="default">Defaults to @\#{shared_path}/log/
|
10
|
+
<dd class="default">Defaults to @\#{shared_path}/log/merb.*.log@</dd>
|
11
11
|
</dl>
|
12
12
|
"Source":#{link_to_source(__FILE__)}
|
13
13
|
DESC
|
14
14
|
task :install do
|
15
|
-
fetch_or_default(:merb_logrotate_path, "#{shared_path}/log/
|
15
|
+
fetch_or_default(:merb_logrotate_path, "#{shared_path}/log/merb.*.log")
|
16
16
|
|
17
17
|
set :logrotate_name, "merb_#{application}"
|
18
18
|
set :logrotate_log_path, merb_logrotate_path
|
data/lib/recipes/merb.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
namespace :merb do
|
2
|
+
|
3
|
+
desc <<-DESC
|
4
|
+
Run the migrate rake task. By default, it runs this in most recently \
|
5
|
+
deployed version of the app. However, you can specify a different release \
|
6
|
+
via the migrate_target variable, which must be one of :latest (for the \
|
7
|
+
default behavior), or :current (for the release indicated by the \
|
8
|
+
`current' symlink). Strings will work for those values instead of symbols, \
|
9
|
+
too. You can also specify additional environment variables to pass to rake \
|
10
|
+
via the migrate_env variable. Finally, you can specify the full path to the \
|
11
|
+
rake executable by setting the rake variable. The defaults are:
|
12
|
+
|
13
|
+
set :rake, "rake"
|
14
|
+
set :merb_env, "production"
|
15
|
+
set :migrate_env, ""
|
16
|
+
set :migrate_target, :latest
|
17
|
+
DESC
|
18
|
+
task :migrate, :roles => :db, :only => { :primary => true } do
|
19
|
+
rake = fetch(:rake, "rake")
|
20
|
+
merb_env = fetch(:merb_env, "production")
|
21
|
+
migrate_env = fetch(:migrate_env, "")
|
22
|
+
migrate_target = fetch(:migrate_target, :latest)
|
23
|
+
|
24
|
+
current_directory = case migrate_target.to_sym
|
25
|
+
when :current then current_path
|
26
|
+
when :latest then current_release
|
27
|
+
else raise ArgumentError, "unknown migration target #{migrate_target.inspect}"
|
28
|
+
end
|
29
|
+
|
30
|
+
run "cd #{current_directory}; #{rake} MERB_ENV=#{merb_env} #{migrate_env} db:migrate"
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
data/lib/recipes/monit/merb.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
namespace :merb do
|
3
3
|
|
4
|
-
|
4
|
+
namespace :monit do
|
5
5
|
|
6
6
|
desc <<-DESC
|
7
7
|
Create monit configuration for merb.
|
@@ -23,7 +23,7 @@ namespace :merb do
|
|
23
23
|
ports = (0...merb_nodes).collect { |i| merb_port + i }
|
24
24
|
ports.each do |port|
|
25
25
|
|
26
|
-
pid_path = "#{merb_pid_dir}
|
26
|
+
pid_path = "#{merb_pid_dir}/merb.#{port}.pid"
|
27
27
|
|
28
28
|
start = "/etc/init.d/#{merb_initscript_name} start_only #{port}"
|
29
29
|
stop = "/etc/init.d/#{merb_initscript_name} stop_only #{port}"
|
data/website/index.html
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
|
36
36
|
<div id="version" class="clickable box" onclick='document.location = "http://rubyforge.org/projects/capitate"; return false'>
|
37
37
|
<p>Get Version</p>
|
38
|
-
<a href="http://rubyforge.org/projects/capitate" class="numbers">0.3.
|
38
|
+
<a href="http://rubyforge.org/projects/capitate" class="numbers">0.3.5</a>
|
39
39
|
</div>
|
40
40
|
|
41
41
|
<div id="recipes">
|
@@ -77,7 +77,7 @@
|
|
77
77
|
|
78
78
|
|
79
79
|
<ul>
|
80
|
-
<li>Plugins to help install applications, via yum or manually unpacking, and building. Also to
|
80
|
+
<li>Plugins to help install applications, via yum or manually unpacking, and building. Also to prompt for input, install gems, run shell scripts, etc.</li>
|
81
81
|
<li>Templates for init scripts and application configuration</li>
|
82
82
|
<li>Templates and recipes for common apps like monit, nginx, sphinx, mongrel, ruby and mysql</li>
|
83
83
|
<li>Common deployment setup and update_code tasks, such as symlinking in database.yml and more advanced recipes such as sphinx configuration.</li>
|
@@ -135,7 +135,7 @@
|
|
135
135
|
<p>Comments are welcome. Send an email to <a href="mailto:gabrielh@gmail.com">Gabriel Handford</a> via the <a href="http://groups.google.com/group/capitate">forum</a></p>
|
136
136
|
</div>
|
137
137
|
<p class="coda">
|
138
|
-
<a href="http://ducktyper.com">ducktyper.com</a>,
|
138
|
+
<a href="http://ducktyper.com">ducktyper.com</a>, 8th May 2008<br>
|
139
139
|
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
140
140
|
</p>
|
141
141
|
</div>
|
data/website/index.txt
CHANGED
@@ -23,7 +23,7 @@ h2. The basics
|
|
23
23
|
|
24
24
|
Capitate has:
|
25
25
|
|
26
|
-
* Plugins to help install applications, via yum or manually unpacking, and building. Also to
|
26
|
+
* Plugins to help install applications, via yum or manually unpacking, and building. Also to prompt for input, install gems, run shell scripts, etc.
|
27
27
|
* Templates for init scripts and application configuration
|
28
28
|
* Templates and recipes for common apps like monit, nginx, sphinx, mongrel, ruby and mysql
|
29
29
|
* Common deployment setup and update_code tasks, such as symlinking in database.yml and more advanced recipes such as sphinx configuration.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capitate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ""
|
6
6
|
authors:
|
7
7
|
- Gabriel Handford
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-05-
|
12
|
+
date: 2008-05-08 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -24,8 +24,8 @@ dependencies:
|
|
24
24
|
description: Capistrano recipes, plugins and templates.
|
25
25
|
email:
|
26
26
|
- gabrielh@gmail.com
|
27
|
-
executables:
|
28
|
-
|
27
|
+
executables: []
|
28
|
+
|
29
29
|
extensions: []
|
30
30
|
|
31
31
|
extra_rdoc_files:
|
@@ -41,7 +41,6 @@ files:
|
|
41
41
|
- Manifest.txt
|
42
42
|
- README.txt
|
43
43
|
- Rakefile
|
44
|
-
- bin/capitate
|
45
44
|
- config/hoe.rb
|
46
45
|
- config/requirements.rb
|
47
46
|
- docs/nginx.README
|
@@ -88,6 +87,7 @@ files:
|
|
88
87
|
- lib/recipes/logrotate/sphinx.rb
|
89
88
|
- lib/recipes/logrotated.rb
|
90
89
|
- lib/recipes/memcached.rb
|
90
|
+
- lib/recipes/merb.rb
|
91
91
|
- lib/recipes/monit.rb
|
92
92
|
- lib/recipes/monit/backgroundjob.rb
|
93
93
|
- lib/recipes/monit/backgroundrb.rb
|
data/bin/capitate
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'capitate'
|
5
|
-
rescue LoadError
|
6
|
-
require 'rubygems'
|
7
|
-
require 'capitate'
|
8
|
-
end
|
9
|
-
|
10
|
-
require 'capistrano/cli'
|
11
|
-
|
12
|
-
cli = Capistrano::CLI.new(ARGV)
|
13
|
-
cli.parse_options!
|
14
|
-
|
15
|
-
config = cli.instantiate_configuration
|
16
|
-
config.logger.level = cli.options[:verbose]
|
17
|
-
|
18
|
-
cli.set_pre_vars(config)
|
19
|
-
cli.load_recipes(config)
|
20
|
-
|
21
|
-
config.load do
|
22
|
-
require 'capitate/recipes'
|
23
|
-
end
|
24
|
-
|
25
|
-
config.trigger(:load)
|
26
|
-
cli.execute_requested_actions(config)
|
27
|
-
config.trigger(:exit)
|
28
|
-
|
29
|
-
|
30
|
-
|