capitate 0.1.9 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/Capfile +3 -2
  2. data/History.txt +6 -0
  3. data/Manifest.txt +28 -11
  4. data/bin/capitate +13 -61
  5. data/config/hoe.rb +2 -2
  6. data/docs/nginx.README +12 -0
  7. data/docs/recipes/centos.txt +33 -0
  8. data/docs/recipes/deploy-pending.txt +25 -0
  9. data/docs/recipes/deploy-web.txt +33 -0
  10. data/docs/recipes/deploy.txt +159 -0
  11. data/docs/recipes/docs.txt +26 -0
  12. data/docs/recipes/imagemagick-centos.txt +20 -0
  13. data/docs/recipes/imagemagick.txt +8 -0
  14. data/docs/recipes/index.txt +26 -0
  15. data/docs/recipes/memcached-centos.txt +32 -0
  16. data/docs/recipes/memcached.txt +35 -0
  17. data/docs/recipes/mongrel_cluster-centos.txt +27 -0
  18. data/docs/recipes/mongrel_cluster.txt +40 -0
  19. data/docs/recipes/monit-centos.txt +32 -0
  20. data/docs/recipes/monit.txt +8 -0
  21. data/docs/recipes/mysql-centos.txt +22 -0
  22. data/docs/recipes/mysql.txt +58 -0
  23. data/docs/recipes/nginx-centos.txt +43 -0
  24. data/docs/recipes/nginx.txt +51 -0
  25. data/docs/recipes/rails.txt +58 -0
  26. data/docs/recipes/ruby-centos.txt +22 -0
  27. data/docs/recipes/ruby.txt +8 -0
  28. data/docs/recipes/sphinx-centos.txt +35 -0
  29. data/docs/recipes/sphinx.txt +89 -0
  30. data/lib/capitate/cap_ext/run_via.rb +14 -0
  31. data/lib/capitate/plugins/gem.rb +2 -3
  32. data/lib/capitate/plugins/prompt.rb +24 -0
  33. data/lib/capitate/plugins/script.rb +29 -15
  34. data/lib/capitate/plugins/templates.rb +45 -40
  35. data/lib/capitate/plugins/yum.rb +12 -22
  36. data/lib/capitate/task_node.rb +28 -9
  37. data/lib/capitate/version.rb +2 -2
  38. data/lib/capitate.rb +4 -5
  39. data/lib/deployment/deploy.rb +42 -0
  40. data/lib/deployment/install-centos-rubyweb.rb +131 -0
  41. data/lib/recipes/centos/centos.rb +30 -21
  42. data/lib/recipes/centos/imagemagick.rb +9 -8
  43. data/lib/recipes/centos/memcached.rb +11 -21
  44. data/lib/recipes/centos/mongrel_cluster.rb +7 -11
  45. data/lib/recipes/centos/monit.rb +13 -18
  46. data/lib/recipes/centos/mysql.rb +6 -9
  47. data/lib/recipes/centos/nginx.rb +17 -30
  48. data/lib/recipes/centos/ruby.rb +14 -19
  49. data/lib/recipes/centos/sphinx.rb +14 -28
  50. data/lib/recipes/docs.rb +22 -6
  51. data/lib/recipes/memcached.rb +14 -8
  52. data/lib/recipes/mongrel_cluster.rb +11 -14
  53. data/lib/recipes/mysql.rb +22 -40
  54. data/lib/recipes/nginx.rb +9 -4
  55. data/lib/recipes/rails.rb +53 -6
  56. data/lib/recipes/sphinx.rb +86 -17
  57. data/lib/templates/capistrano/Capfile +2 -6
  58. data/lib/templates/monit/cert.sh +1 -1
  59. data/lib/templates/mysql/install_db.sql.erb +2 -2
  60. data/lib/templates/sphinx/sphinx.conf.erb +28 -399
  61. data/lib/templates/sphinx/sphinx_app.initd.centos.erb +1 -1
  62. data/website/index.html +20 -34
  63. data/website/index.txt +12 -22
  64. data/website/stylesheets/screen.css +22 -11
  65. data/website/template.rhtml +7 -5
  66. data/website/template_recipe.rhtml +7 -3
  67. metadata +55 -15
  68. data/lib/capitate/plugins/package.rb +0 -30
  69. data/lib/capitate/plugins/profiles.rb +0 -33
  70. data/lib/capitate/plugins/wget.rb +0 -23
  71. data/lib/profiles/centos-sick.rb +0 -116
  72. data/lib/recipes/README +0 -5
  73. data/lib/recipes/centos/README +0 -3
  74. data/lib/recipes/gems.rb +0 -20
  75. data/lib/recipes/packages.rb +0 -39
  76. data/lib/recipes/recipes.rb +0 -30
  77. data/lib/templates/centos/setup_for_web.sh +0 -17
  78. data/lib/templates/centos/sudoers +0 -95
data/website/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
  <title>
8
- &#x2192; &#8216;capitate&#8217;
8
+ &#x2192; &#8216;capitate&#8217;: Capistrano recipes, plugins and templates.
9
9
  </title>
10
10
  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
11
  <style>
@@ -23,7 +23,7 @@
23
23
  validTags: ["div"]
24
24
  };
25
25
 
26
- curvy_ids = [ "version", "recipes" ];
26
+ curvy_ids = [ "version" ];
27
27
  for(id in curvy_ids) {
28
28
  var box = new curvyCorners(settings, document.getElementById(curvy_ids[id]));
29
29
  box.applyCornersToAll();
@@ -38,16 +38,18 @@
38
38
 
39
39
  <div id="version" class="clickable box" onclick='document.location = "http://rubyforge.org/projects/capitate"; return false'>
40
40
  <p>Get Version</p>
41
- <a href="http://rubyforge.org/projects/capitate" class="numbers">0.1.9</a>
41
+ <a href="http://rubyforge.org/projects/capitate" class="numbers">0.2.1</a>
42
42
  </div>
43
43
 
44
- <div id="recipes" class="box">
44
+ <div id="recipes">
45
+ <p>Documentation:
45
46
  <a href="recipes/index.html">Recipes</a> &#x2192;
46
47
  <a href="http://svn.ducktyper.com/capitate/trunk/lib/capitate/plugins/">Plugins</a> &#x2192;
47
48
  <a href="http://svn.ducktyper.com/capitate/trunk/lib/templates/">Templates</a>
49
+ </p>
48
50
  </div>
49
51
 
50
- <div style="clear:both">
52
+ <div>
51
53
  <h2>What</h2>
52
54
 
53
55
 
@@ -74,54 +76,38 @@
74
76
  <h2>The basics</h2>
75
77
 
76
78
 
77
- <p>Capitate has recipes for:</p>
79
+ <p>Capitate has:</p>
78
80
 
79
81
 
80
82
  <ul>
81
- <li>Installing applications, via package manager or manually building with make.</li>
83
+ <li>Plugins to help install applications, via yum or manually unpacking, and building. Also to help upload files sanely, prompt for input, install gems, and run scripts.</li>
84
+ <li>Templates for init scripts and application configuration.</li>
82
85
  <li>Common deployment setup and update_code tasks, such as symlinking in database.yml and more advanced recipes such as sphinx configuration.</li>
83
- <li><span class="caps">ERB</span> templates for application configuration files, init scripts, monit configuration, etc.</li>
84
- <li>And more&#8230;</li>
85
86
  </ul>
86
87
 
87
88
 
88
- <h3>Beefing up your deploy</h3>
89
+ <h3>Example: Using capitate to write an install task:</h3>
89
90
 
90
91
 
91
- <p>For an example deploy, see <a href="http://svn.ducktyper.com/capitate/trunk/lib/profiles/centos-sick.rb">centos-sick.rb</a></p>
92
+ <p>See <a href="http://svn.ducktyper.com/capitate/trunk/lib/deployment/install-centos-rubyweb.rb">install-centos-rubyweb.rb</a></p>
92
93
 
93
94
 
94
- <p>You could copy this profile into config/deployment/ and add it to your Capfile:</p>
95
+ <p>Load this in your Capfile:</p>
95
96
 
96
97
 
97
- <pre><code>load "config/deployment/centos-sick.rb"</code></pre>
98
+ <pre><code>load "lib/deployment/install-centos-rubyweb.rb"</code></pre>
98
99
 
99
100
 
100
- <h3>Use recipes</h3>
101
+ <p>and then:</p>
101
102
 
102
103
 
103
- <p><a href="recipes/index.html">View recipes documentation</a></p>
104
-
105
-
106
- <p>For example, to script the install of a group of applications as root, use <a href="recipes/recipes.html">recipes:run</a>:</p>
104
+ <pre><code>cap HOSTS=x.x.x.x install</code></pre>
107
105
 
108
106
 
109
- <p>Configure your Capfile to run it:</p>
110
-
111
-
112
- <p><pre class='syntax'>
113
- <span class="ident">set</span> <span class="symbol">:recipes_run</span><span class="punct">,</span> <span class="punct">[</span> <span class="punct">&quot;</span><span class="string">ruby:centos:install</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">memcached:centos:install</span><span class="punct">&quot;</span> <span class="punct">]</span>
114
- <span class="ident">set</span> <span class="symbol">:recipes_user</span><span class="punct">,</span> <span class="punct">&quot;</span><span class="string">root</span><span class="punct">&quot;</span>
115
- </pre></p>
107
+ <h3>Use it</h3>
116
108
 
117
109
 
118
- <p>Then run:</p>
119
-
120
-
121
- <pre><code>cap recipes:run</code></pre>
122
-
123
-
124
- <p>This is just a basic example.</p>
110
+ <p><a href="recipes/index.html">View recipes documentation</a></p>
125
111
 
126
112
 
127
113
  <h2>Forum</h2>
@@ -136,7 +122,7 @@
136
122
  <p>Read the <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/">8 steps for fixing other people&#8217;s code</a> and for section <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups">8b: Submit patch to Google Groups</a>, use the Google Group above.</p>
137
123
 
138
124
 
139
- <p>The trunk repository is <code>http://svn.ducktyper.com/capitate/trunk</code> for anonymous access.</p>
125
+ <p>The trunk repository is <a href="http://svn.ducktyper.com/capitate/trunk">http://svn.ducktyper.com/capitate/trunk</a> for anonymous access.</p>
140
126
 
141
127
 
142
128
  <h2>License</h2>
@@ -151,7 +137,7 @@
151
137
  <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>
152
138
  </div>
153
139
  <p class="coda">
154
- <a href="FIXME email">Gabriel Handford</a>, 22nd February 2008<br>
140
+ <a href="mailto:gabrielh@gmail.com">Gabriel Handford</a>, 23rd February 2008<br>
155
141
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
156
142
  </p>
157
143
  </div>
data/website/index.txt CHANGED
@@ -21,42 +21,32 @@ set :project_root, File.dirname(__FILE__)
21
21
 
22
22
  h2. The basics
23
23
 
24
- Capitate has recipes for:
24
+ Capitate has:
25
25
 
26
- * Installing applications, via package manager or manually building with make.
26
+ * Plugins to help install applications, via yum or manually unpacking, and building. Also to help upload files sanely, prompt for input, install gems, and run scripts.
27
+ * Templates for init scripts and application configuration.
27
28
  * Common deployment setup and update_code tasks, such as symlinking in database.yml and more advanced recipes such as sphinx configuration.
28
- * ERB templates for application configuration files, init scripts, monit configuration, etc.
29
- * And more...
30
29
 
31
30
 
32
- h3. Beefing up your deploy
31
+ h3. Example: Using capitate to write an install task:
33
32
 
34
- For an example deploy, see "centos-sick.rb":http://svn.ducktyper.com/capitate/trunk/lib/profiles/centos-sick.rb
33
+ See "install-centos-rubyweb.rb":http://svn.ducktyper.com/capitate/trunk/lib/deployment/install-centos-rubyweb.rb
35
34
 
36
- You could copy this profile into config/deployment/ and add it to your Capfile:
35
+ Load this in your Capfile:
37
36
 
38
- load "config/deployment/centos-sick.rb"
37
+ load "lib/deployment/install-centos-rubyweb.rb"
38
+
39
+ and then:
39
40
 
41
+ cap HOSTS=x.x.x.x install
40
42
 
41
43
 
42
- h3. Use recipes
44
+ h3. Use it
43
45
 
44
46
  "View recipes documentation":recipes/index.html
45
47
 
46
- For example, to script the install of a group of applications as root, use "recipes:run":recipes/recipes.html:
47
48
 
48
- Configure your Capfile to run it:
49
49
 
50
- <pre syntax="ruby">
51
- set :recipes_run, [ "ruby:centos:install", "memcached:centos:install" ]
52
- set :recipes_user, "root"
53
- </pre>
54
-
55
- Then run:
56
-
57
- cap recipes:run
58
-
59
- This is just a basic example.
60
50
 
61
51
  h2. Forum
62
52
 
@@ -66,7 +56,7 @@ h2. How to submit patches
66
56
 
67
57
  Read the "8 steps for fixing other people's code":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/ and for section "8b: Submit patch to Google Groups":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups, use the Google Group above.
68
58
 
69
- The trunk repository is <code>http://svn.ducktyper.com/capitate/trunk</code> for anonymous access.
59
+ The trunk repository is "http://svn.ducktyper.com/capitate/trunk":http://svn.ducktyper.com/capitate/trunk for anonymous access.
70
60
 
71
61
  h2. License
72
62
 
@@ -45,7 +45,6 @@ blockquote {
45
45
  }
46
46
  .coda {
47
47
  text-align: right;
48
- color: #77f;
49
48
  font-size: smaller;
50
49
  }
51
50
 
@@ -101,7 +100,7 @@ pre, code {
101
100
  .box {
102
101
  font-family: sans-serif;
103
102
  font-weight: normal;
104
- background-color: #A7A37E;
103
+ background-color: #445878;
105
104
  color: #000;
106
105
  padding: 15px 20px 10px 20px;
107
106
  margin: 0 auto;
@@ -110,12 +109,25 @@ pre, code {
110
109
  }
111
110
 
112
111
  .landing h1 {
113
- float: left;
112
+
114
113
  }
115
114
 
116
115
  #recipes {
117
- float: right;
118
- margin-right: 10px;
116
+
117
+ }
118
+
119
+ .recipes pre,
120
+ .recipes code {
121
+ margin: 0 30px;
122
+ }
123
+
124
+ .recipes code {
125
+ display:block;
126
+ }
127
+
128
+ .recipes h3 {
129
+ padding: 4px;
130
+ background-color: #E6E2AF;
119
131
  }
120
132
 
121
133
  #version {
@@ -134,16 +146,15 @@ pre, code {
134
146
 
135
147
  #version p {
136
148
  text-decoration: none;
137
- color: #000;
138
- background-color: #A7A37E;
149
+ color: #FFF;
150
+ background-color: #445878;
139
151
  margin: 0;
140
152
  padding: 0;
141
153
  }
142
154
 
143
- #version a,
144
- #recipes a {
145
- color: #000;
146
- background-color: #A7A37E;
155
+ #version a {
156
+ color: #FFF;
157
+ background-color: #445878;
147
158
  }
148
159
 
149
160
  #version a {
@@ -5,7 +5,7 @@
5
5
  <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
  <title>
8
- <%= title %>
8
+ <%= title %>: Capistrano recipes, plugins and templates.
9
9
  </title>
10
10
  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
11
  <style>
@@ -23,7 +23,7 @@
23
23
  validTags: ["div"]
24
24
  };
25
25
 
26
- curvy_ids = [ "version", "recipes" ];
26
+ curvy_ids = [ "version" ];
27
27
  for(id in curvy_ids) {
28
28
  var box = new curvyCorners(settings, document.getElementById(curvy_ids[id]));
29
29
  box.applyCornersToAll();
@@ -41,17 +41,19 @@
41
41
  <a href="<%= download %>" class="numbers"><%= version %></a>
42
42
  </div>
43
43
 
44
- <div id="recipes" class="box">
44
+ <div id="recipes">
45
+ <p>Documentation:
45
46
  <a href="recipes/index.html">Recipes</a> &#x2192;
46
47
  <a href="http://svn.ducktyper.com/capitate/trunk/lib/capitate/plugins/">Plugins</a> &#x2192;
47
48
  <a href="http://svn.ducktyper.com/capitate/trunk/lib/templates/">Templates</a>
49
+ </p>
48
50
  </div>
49
51
 
50
- <div style="clear:both">
52
+ <div>
51
53
  <%= body %>
52
54
  </div>
53
55
  <p class="coda">
54
- <a href="FIXME email">Gabriel Handford</a>, <%= modified.pretty %><br>
56
+ <a href="mailto:gabrielh@gmail.com">Gabriel Handford</a>, <%= modified.pretty %><br>
55
57
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
56
58
  </p>
57
59
  </div>
@@ -5,16 +5,20 @@
5
5
  <link rel="stylesheet" href="../stylesheets/screen.css" type="text/css" media="screen" />
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
  <title>
8
- <%= title %>
8
+ <% if title != "Recipes" %>
9
+ Capistrano recipes: <%= title %>
10
+ <% else %>
11
+ Capistrano recipes
12
+ <% end %>
9
13
  </title>
10
14
  </head>
11
15
  <body>
12
16
  <div id="main" class="recipes">
13
-
17
+
14
18
  <h1><%= title %></h1>
15
19
  <%= body %>
16
20
  <p class="coda">
17
- <a href="FIXME email">Gabriel Handford</a>, <%= modified.pretty %><br>
21
+ <a href="mailto:gabrielh@gmail.com">Gabriel Handford</a>, <%= modified.pretty %><br>
18
22
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
19
23
  </p>
20
24
  </div>
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capitate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
5
- platform: ""
4
+ version: 0.2.1
5
+ platform: ruby
6
6
  authors:
7
7
  - Gabriel Handford
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-02-22 00:00:00 -05:00
12
+ date: 2008-02-24 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -33,6 +33,29 @@ extra_rdoc_files:
33
33
  - License.txt
34
34
  - Manifest.txt
35
35
  - README.txt
36
+ - docs/recipes/centos.txt
37
+ - docs/recipes/deploy-pending.txt
38
+ - docs/recipes/deploy-web.txt
39
+ - docs/recipes/deploy.txt
40
+ - docs/recipes/docs.txt
41
+ - docs/recipes/imagemagick-centos.txt
42
+ - docs/recipes/imagemagick.txt
43
+ - docs/recipes/index.txt
44
+ - docs/recipes/memcached-centos.txt
45
+ - docs/recipes/memcached.txt
46
+ - docs/recipes/mongrel_cluster-centos.txt
47
+ - docs/recipes/mongrel_cluster.txt
48
+ - docs/recipes/monit-centos.txt
49
+ - docs/recipes/monit.txt
50
+ - docs/recipes/mysql-centos.txt
51
+ - docs/recipes/mysql.txt
52
+ - docs/recipes/nginx-centos.txt
53
+ - docs/recipes/nginx.txt
54
+ - docs/recipes/rails.txt
55
+ - docs/recipes/ruby-centos.txt
56
+ - docs/recipes/ruby.txt
57
+ - docs/recipes/sphinx-centos.txt
58
+ - docs/recipes/sphinx.txt
36
59
  - website/index.txt
37
60
  files:
38
61
  - Capfile
@@ -44,25 +67,47 @@ files:
44
67
  - bin/capitate
45
68
  - config/hoe.rb
46
69
  - config/requirements.rb
70
+ - docs/nginx.README
71
+ - docs/recipes/centos.txt
72
+ - docs/recipes/deploy-pending.txt
73
+ - docs/recipes/deploy-web.txt
74
+ - docs/recipes/deploy.txt
75
+ - docs/recipes/docs.txt
76
+ - docs/recipes/imagemagick-centos.txt
77
+ - docs/recipes/imagemagick.txt
78
+ - docs/recipes/index.txt
79
+ - docs/recipes/memcached-centos.txt
80
+ - docs/recipes/memcached.txt
81
+ - docs/recipes/mongrel_cluster-centos.txt
82
+ - docs/recipes/mongrel_cluster.txt
83
+ - docs/recipes/monit-centos.txt
84
+ - docs/recipes/monit.txt
85
+ - docs/recipes/mysql-centos.txt
86
+ - docs/recipes/mysql.txt
87
+ - docs/recipes/nginx-centos.txt
88
+ - docs/recipes/nginx.txt
89
+ - docs/recipes/rails.txt
90
+ - docs/recipes/ruby-centos.txt
91
+ - docs/recipes/ruby.txt
92
+ - docs/recipes/sphinx-centos.txt
93
+ - docs/recipes/sphinx.txt
47
94
  - lib/capitate.rb
48
95
  - lib/capitate/cap_ext/connections.rb
49
96
  - lib/capitate/cap_ext/extension_proxy.rb
97
+ - lib/capitate/cap_ext/run_via.rb
50
98
  - lib/capitate/cap_ext/variables.rb
51
99
  - lib/capitate/plugins/base.rb
52
100
  - lib/capitate/plugins/gem.rb
53
- - lib/capitate/plugins/package.rb
54
- - lib/capitate/plugins/profiles.rb
101
+ - lib/capitate/plugins/prompt.rb
55
102
  - lib/capitate/plugins/script.rb
56
103
  - lib/capitate/plugins/templates.rb
57
104
  - lib/capitate/plugins/upload.rb
58
- - lib/capitate/plugins/wget.rb
59
105
  - lib/capitate/plugins/yum.rb
60
106
  - lib/capitate/recipes.rb
61
107
  - lib/capitate/task_node.rb
62
108
  - lib/capitate/version.rb
63
- - lib/profiles/centos-sick.rb
64
- - lib/recipes/README
65
- - lib/recipes/centos/README
109
+ - lib/deployment/deploy.rb
110
+ - lib/deployment/install-centos-rubyweb.rb
66
111
  - lib/recipes/centos/centos.rb
67
112
  - lib/recipes/centos/imagemagick.rb
68
113
  - lib/recipes/centos/memcached.rb
@@ -74,18 +119,13 @@ files:
74
119
  - lib/recipes/centos/sphinx.rb
75
120
  - lib/recipes/deploy.rb
76
121
  - lib/recipes/docs.rb
77
- - lib/recipes/gems.rb
78
122
  - lib/recipes/memcached.rb
79
123
  - lib/recipes/mongrel_cluster.rb
80
124
  - lib/recipes/mysql.rb
81
125
  - lib/recipes/nginx.rb
82
- - lib/recipes/packages.rb
83
126
  - lib/recipes/rails.rb
84
- - lib/recipes/recipes.rb
85
127
  - lib/recipes/sphinx.rb
86
128
  - lib/templates/capistrano/Capfile
87
- - lib/templates/centos/setup_for_web.sh
88
- - lib/templates/centos/sudoers
89
129
  - lib/templates/memcached/memcached.initd.centos.erb
90
130
  - lib/templates/memcached/memcached.monitrc.erb
91
131
  - lib/templates/mongrel/mongrel_cluster.initd.erb
@@ -147,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
187
  requirements: []
148
188
 
149
189
  rubyforge_project: capitate
150
- rubygems_version: 0.9.5
190
+ rubygems_version: 1.0.1
151
191
  signing_key:
152
192
  specification_version: 2
153
193
  summary: Capistrano recipes, plugins and templates.
@@ -1,30 +0,0 @@
1
- # Package plugin.
2
- #
3
- # TODO: If type not set silently fails. NOT GOOD :(
4
- #
5
- module Capitate::Plugins::Package
6
-
7
- # Setup packager.
8
- #
9
- # ==== Options
10
- # +packager_type+:: Packager type (:yum)
11
- #
12
- # ==== Examples (in capistrano task)
13
- # package.type = :yum
14
- # package.install [ "aspell", "foo" ]
15
- # package.remove [ "aspell", "foo" ]
16
- # package.update [ "aspell", "foo" ]
17
- # package.clean
18
- #
19
- def type=(packager_type)
20
- case packager_type.to_sym
21
- when :yum
22
- include Capitate::Plugins::Yum
23
- else
24
- raise "Invalid packager type: #{packager_type}"
25
- end
26
- end
27
-
28
- end
29
-
30
- Capistrano.plugin :package, Capitate::Plugins::Package
@@ -1,33 +0,0 @@
1
- # == Profiles
2
- # Useful for starting a profile, but your mileage may vary.
3
- #
4
- module Capitate::Plugins::Profiles
5
-
6
- ProfileDir = File.dirname(__FILE__) + "/../../profiles"
7
-
8
- # Load all profiles with prefix.
9
- #
10
- # ==== Options
11
- # +prefix+:: Prefix to filter/search on
12
- #
13
- def list(prefix = "")
14
- Dir[ProfileDir + "/#{prefix}*.rb"].collect { |file| File.basename(file).gsub(File.extname(file), "") }
15
- end
16
-
17
- # Choose a profile (via command line).
18
- #
19
- # ==== Options
20
- # +prefix+:: Prefix to filter/search on
21
- #
22
- def choose(prefix = "")
23
- profile = HighLine.new.choose(*list(prefix)) do |menu|
24
- menu.header = "Choose recipe profile"
25
- end
26
-
27
- "#{ProfileDir}/#{profile}.rb"
28
- end
29
-
30
- end
31
-
32
-
33
- Capistrano.plugin :profile, Capitate::Plugins::Profiles
@@ -1,23 +0,0 @@
1
- require 'open-uri'
2
-
3
- module Capitate::Plugins::Wget
4
-
5
- # Download the uri, then upload it into the remote destination directory
6
- #
7
- # ==== Options
8
- # +uri+:: URI to get
9
- # +remote_dest_dir+:: Remote destination directory, defaults to /tmp
10
- #
11
- def uri(uri, remote_dest_dir = "/tmp")
12
-
13
- uri = uri = URI.parse(uri)
14
- name = uri.path.split("/").last
15
- remote_dest_path = File.join(remote_dest_dir, name)
16
-
17
- logger.info "Downloading #{name} from #{uri}..."
18
- put open(uri).read, remote_dest_path
19
- end
20
-
21
- end
22
-
23
- Capistrano.plugin :wget, Capitate::Plugins::Wget
@@ -1,116 +0,0 @@
1
- #
2
- # This is an EXAMPLE profile.
3
- #
4
- # Profile for sick rails app on centos 5.1
5
- #
6
-
7
- set :description, "Sick project deployment for centos 5.1 image"
8
-
9
- set :recipes_run, [
10
- "centos:setup_for_web",
11
- "packages:install",
12
- "ruby:centos:install",
13
- "nginx:centos:install",
14
- "mysql:centos:install",
15
- "sphinx:centos:install",
16
- "monit:centos:install",
17
- "imagemagick:centos:install",
18
- "memcached:centos:install",
19
- "nginx:install_monit",
20
- "mysql:install_monit",
21
- "memcached:install_monit",
22
- "gems:install",
23
- "centos:cleanup"
24
- ]
25
-
26
- #
27
- # Settings for recipes
28
- #
29
-
30
- # For packages:install
31
- set :packages_type, :yum
32
- set :packages_remove, [ "openoffice.org-*", "ImageMagick" ]
33
- set :packages_add, [
34
- "gcc", "kernel-devel", "libevent-devel", "libxml2-devel",
35
- "openssl", "openssl-devel",
36
- "aspell", "aspell-devel", "aspell-en", "aspell-es",
37
- ]
38
-
39
- # For gem:install
40
- set :gem_list, [
41
- "rake",
42
- "mysql -- --with-mysql-include=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql --with-mysql-config",
43
- "raspell",
44
- "rmagick",
45
- "mongrel",
46
- "mongrel_cluster",
47
- "json"
48
- ]
49
-
50
- # For monit:install
51
- set :monit_port, 2812 # Capistrano::CLI.ui.ask('Monit port: ')
52
- set :monit_password, Proc.new { Capistrano::CLI.ui.ask('Monit admin password (to set): ') }
53
-
54
- # For nginx:install
55
- set :nginx_bin_path, "/sbin/nginx"
56
- set :nginx_conf_path, "/etc/nginx/nginx.conf"
57
- set :nginx_pid_path, "/var/run/nginx.pid"
58
- set :nginx_prefix_path, "/var/nginx"
59
-
60
- # For mysql:install
61
- set :mysql_admin_password_set, Proc.new { Capistrano::CLI.ui.ask('Mysql admin password (to set): ') }
62
- set :mysql_pid_path, "/var/run/mysqld/mysqld.pid"
63
- set :db_port, 3306 # Capistrano::CLI.ui.ask('Mysql port: ')
64
-
65
- # For sphinx:install
66
- set :sphinx_prefix, "/usr/local/sphinx"
67
-
68
- # For memcached:install
69
- set :memcached_pid_path, "/var/run/memcached.pid"
70
- set :memcached_memory, 64
71
- set :memcached_port, 11211
72
-
73
-
74
- #
75
- # Settings for project
76
- #
77
-
78
- set :application, "sick"
79
- set :user, "sick"
80
- set :deploy_to, "/var/www/apps/sick"
81
- set :web_host, "WEB_HOST"
82
- set :db_host, "DB_HOST"
83
- set :db_user, "sick"
84
- set :db_pass, "sick"
85
- set :db_name, "sick"
86
- # db_port set already
87
- set :sphinx_host, "SPHINX_HOST"
88
- set :sphinx_port, 3312
89
- set :repository, "REPOSITORY"
90
- set :mongrel_port, 12000
91
- set :mongrel_size, 3
92
- set :domain_name, "localhost"
93
- set :mysql_admin_password, Proc.new { Capistrano::CLI.ui.ask('Mysql admin password: ') }
94
-
95
- set :deploy_via, :copy
96
- set :copy_strategy, :export
97
-
98
- role :web, "WEB_URL"
99
- role :db, "DB_URL", :primary => true
100
-
101
-
102
- # Callbacks
103
- before "deploy:setup", "centos:add_user_for_app"
104
-
105
- after "deploy:setup", "mysql:setup", "rails:setup", "mongrel_cluster:centos:setup",
106
- "nginx:setup_mongrel", "sphinx:centos:setup"
107
-
108
- after "sphinx:centos:setup", "sphinx:setup_monit"
109
- after "mongrel_cluster:centos:setup", "mongrel_cluster:setup_monit"
110
-
111
- after "nginx:setup_mongrels", "nginx:centos:restart"
112
-
113
- after "deploy:update_code", "rails:update_code", "sphinx:update_code"
114
-
115
- # Auto cleanup after deploy
116
- after "deploy", "deploy:cleanup"
data/lib/recipes/README DELETED
@@ -1,5 +0,0 @@
1
- = Recipes
2
- * Install tasks are one time tasks (per OS).
3
- * Setup tasks are one time tasks (per application).
4
- * Update code tasks are called after each deploy (per application).
5
- * Scripts and templates are in capitate/lib/templates.
@@ -1,3 +0,0 @@
1
- Recipes specific to Centos.
2
-
3
- Tested on Centos 5.1