nirvdrum-rubber 1.1.7
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.
- data/CHANGELOG +146 -0
- data/COPYING +339 -0
- data/README +6 -0
- data/TODO +11 -0
- data/VERSION +1 -0
- data/bin/vulcanize +41 -0
- data/generators/vulcanize/USAGE +6 -0
- data/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +51 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf +10 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf +9 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf +6 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +8 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +5 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf +52 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +66 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth +7 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +34 -0
- data/generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml +6 -0
- data/generators/vulcanize/templates/apache/templates.yml +1 -0
- data/generators/vulcanize/templates/base/Capfile +14 -0
- data/generators/vulcanize/templates/base/config/deploy.rb +55 -0
- data/generators/vulcanize/templates/base/config/rubber/common/crontab +17 -0
- data/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +8 -0
- data/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +14 -0
- data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +84 -0
- data/generators/vulcanize/templates/base/config/rubber/rubber-dns.yml +79 -0
- data/generators/vulcanize/templates/base/config/rubber/rubber.yml +227 -0
- data/generators/vulcanize/templates/base/lib/tasks/rubber.rake +15 -0
- data/generators/vulcanize/templates/base/script/cron-rake +18 -0
- data/generators/vulcanize/templates/base/script/cron-runner +18 -0
- data/generators/vulcanize/templates/base/script/cron-sh +67 -0
- data/generators/vulcanize/templates/base/templates.yml +1 -0
- data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +23 -0
- data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +113 -0
- data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml +41 -0
- data/generators/vulcanize/templates/complete_mongrel_mysql/templates.yml +6 -0
- data/generators/vulcanize/templates/complete_passenger_mysql/config/rubber/role/haproxy/haproxy-passenger.conf +21 -0
- data/generators/vulcanize/templates/complete_passenger_mysql/config/rubber/rubber-complete.yml +40 -0
- data/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +10 -0
- data/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +72 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise +40 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +165 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb +8 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb +76 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf +11 -0
- data/generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml +18 -0
- data/generators/vulcanize/templates/cruise/templates.yml +1 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +45 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf +26 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf +8 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +9 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +6 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +17 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +10 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml +7 -0
- data/generators/vulcanize/templates/haproxy/templates.yml +1 -0
- data/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +59 -0
- data/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.sh +589 -0
- data/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.xml +199 -0
- data/generators/vulcanize/templates/jetty/config/rubber/role/jetty/monit-jetty.conf +9 -0
- data/generators/vulcanize/templates/jetty/config/rubber/rubber-jetty.yml +10 -0
- data/generators/vulcanize/templates/jetty/templates.yml +1 -0
- data/generators/vulcanize/templates/memcached/config/memcached.yml +28 -0
- data/generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml +14 -0
- data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +52 -0
- data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin +249 -0
- data/generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml +7 -0
- data/generators/vulcanize/templates/memcached/templates.yml +1 -0
- data/generators/vulcanize/templates/minimal_mysql/templates.yml +7 -0
- data/generators/vulcanize/templates/minimal_nodb/templates.yml +6 -0
- data/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +75 -0
- data/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +12 -0
- data/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf +20 -0
- data/generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml +9 -0
- data/generators/vulcanize/templates/mongrel/templates.yml +1 -0
- data/generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf +15 -0
- data/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +251 -0
- data/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +32 -0
- data/generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +10 -0
- data/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +6 -0
- data/generators/vulcanize/templates/monit/templates.yml +1 -0
- data/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +8 -0
- data/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +48 -0
- data/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +9 -0
- data/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +46 -0
- data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf +8 -0
- data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +31 -0
- data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +80 -0
- data/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +8 -0
- data/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +57 -0
- data/generators/vulcanize/templates/munin/script/munin/example_simple.rb +24 -0
- data/generators/vulcanize/templates/munin/templates.yml +1 -0
- data/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +11 -0
- data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +156 -0
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/crontab +14 -0
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +10 -0
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +167 -0
- data/generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +51 -0
- data/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +46 -0
- data/generators/vulcanize/templates/mysql/templates.yml +1 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +13 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +173 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf +15 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +39 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +10 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +23 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +32 -0
- data/generators/vulcanize/templates/mysql_cluster/templates.yml +1 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml +16 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +10 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy +153 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf +10 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua +5 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +52 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +11 -0
- data/generators/vulcanize/templates/mysql_proxy/templates.yml +1 -0
- data/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +45 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +9 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +8 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf +42 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/nginx-tools.conf +55 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-index.html +30 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-nginx.auth +7 -0
- data/generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml +10 -0
- data/generators/vulcanize/templates/nginx/templates.yml +1 -0
- data/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +37 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +34 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf +7 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +47 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +46 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +10 -0
- data/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +15 -0
- data/generators/vulcanize/templates/passenger/templates.yml +3 -0
- data/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +36 -0
- data/generators/vulcanize/templates/redis/config/rubber/role/redis/crontab +8 -0
- data/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +9 -0
- data/generators/vulcanize/templates/redis/config/rubber/role/redis/redis.conf +141 -0
- data/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +4 -0
- data/generators/vulcanize/templates/redis/templates.yml +1 -0
- data/generators/vulcanize/templates/resque/config/rubber/deploy-resque-worker-default.rb +38 -0
- data/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +39 -0
- data/generators/vulcanize/templates/resque/config/rubber/role/resque_worker_default/monit-resque_worker_default.conf +19 -0
- data/generators/vulcanize/templates/resque/config/rubber/rubber-resque.yml +10 -0
- data/generators/vulcanize/templates/resque/templates.yml +3 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml +46 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +112 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +11 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +10 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml +6 -0
- data/generators/vulcanize/templates/sphinx/templates.yml +1 -0
- data/generators/vulcanize/vulcanize_generator.rb +67 -0
- data/lib/capistrano/hostcmd.rb +12 -0
- data/lib/rubber.rb +38 -0
- data/lib/rubber/capistrano.rb +1 -0
- data/lib/rubber/cloud.rb +13 -0
- data/lib/rubber/cloud/aws.rb +334 -0
- data/lib/rubber/cloud/base.rb +16 -0
- data/lib/rubber/configuration.rb +47 -0
- data/lib/rubber/dns.rb +13 -0
- data/lib/rubber/dns/base.rb +84 -0
- data/lib/rubber/dns/dyndns.rb +78 -0
- data/lib/rubber/dns/nettica.rb +117 -0
- data/lib/rubber/dns/zerigo.rb +174 -0
- data/lib/rubber/environment.rb +169 -0
- data/lib/rubber/generator.rb +197 -0
- data/lib/rubber/instance.rb +166 -0
- data/lib/rubber/recipes/rubber.rb +89 -0
- data/lib/rubber/recipes/rubber/bundles.rb +28 -0
- data/lib/rubber/recipes/rubber/deploy.rb +90 -0
- data/lib/rubber/recipes/rubber/instances.rb +393 -0
- data/lib/rubber/recipes/rubber/load_balancers.rb +44 -0
- data/lib/rubber/recipes/rubber/security_groups.rb +189 -0
- data/lib/rubber/recipes/rubber/setup.rb +457 -0
- data/lib/rubber/recipes/rubber/spot_requests.rb +17 -0
- data/lib/rubber/recipes/rubber/static_ips.rb +107 -0
- data/lib/rubber/recipes/rubber/utils.rb +203 -0
- data/lib/rubber/recipes/rubber/volumes.rb +264 -0
- data/lib/rubber/tasks/rubber.rb +279 -0
- data/lib/rubber/util.rb +37 -0
- data/rails/init.rb +9 -0
- data/test/environment_test.rb +133 -0
- data/test/generator_test.rb +323 -0
- data/test/instance_test.rb +93 -0
- data/test/test_helper.rb +8 -0
- data/test/util_test.rb +16 -0
- metadata +298 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
<%-
|
|
2
|
+
@path = "#{rubber_env.jetty_dir}/etc/jetty.xml"
|
|
3
|
+
%><?xml version="1.0"?>
|
|
4
|
+
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
|
|
5
|
+
|
|
6
|
+
<!-- =============================================================== -->
|
|
7
|
+
<!-- Configure the Jetty Server -->
|
|
8
|
+
<!-- -->
|
|
9
|
+
<!-- Documentation of this file format can be found at: -->
|
|
10
|
+
<!-- http://docs.codehaus.org/display/JETTY/jetty.xml -->
|
|
11
|
+
<!-- -->
|
|
12
|
+
<!-- =============================================================== -->
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
|
16
|
+
|
|
17
|
+
<!-- =========================================================== -->
|
|
18
|
+
<!-- Server Thread Pool -->
|
|
19
|
+
<!-- =========================================================== -->
|
|
20
|
+
<Set name="ThreadPool">
|
|
21
|
+
<!-- Default queued blocking threadpool
|
|
22
|
+
-->
|
|
23
|
+
<New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
|
|
24
|
+
<Set name="minThreads">10</Set>
|
|
25
|
+
<Set name="maxThreads">200</Set>
|
|
26
|
+
</New>
|
|
27
|
+
|
|
28
|
+
<!-- Optional Java 5 bounded threadpool with job queue
|
|
29
|
+
<New class="org.eclipse.thread.concurrent.ThreadPool">
|
|
30
|
+
<Set name="corePoolSize">50</Set>
|
|
31
|
+
<Set name="maximumPoolSize">50</Set>
|
|
32
|
+
</New>
|
|
33
|
+
-->
|
|
34
|
+
</Set>
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
<!-- =========================================================== -->
|
|
39
|
+
<!-- Set connectors -->
|
|
40
|
+
<!-- =========================================================== -->
|
|
41
|
+
|
|
42
|
+
<Call name="addConnector">
|
|
43
|
+
<Arg>
|
|
44
|
+
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
|
|
45
|
+
<Set name="host"><SystemProperty name="jetty.host" /></Set>
|
|
46
|
+
<Set name="port"><SystemProperty name="jetty.port" default="<%= rubber_env.jetty_port %>"/></Set>
|
|
47
|
+
<Set name="maxIdleTime">300000</Set>
|
|
48
|
+
<Set name="Acceptors">2</Set>
|
|
49
|
+
<Set name="statsOn">false</Set>
|
|
50
|
+
<Set name="confidentialPort">8443</Set>
|
|
51
|
+
<Set name="lowResourcesConnections">20000</Set>
|
|
52
|
+
<Set name="lowResourcesMaxIdleTime">5000</Set>
|
|
53
|
+
</New>
|
|
54
|
+
</Arg>
|
|
55
|
+
</Call>
|
|
56
|
+
|
|
57
|
+
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
58
|
+
<!-- To add a HTTPS SSL connector -->
|
|
59
|
+
<!-- mixin jetty-ssl.xml: -->
|
|
60
|
+
<!-- java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml -->
|
|
61
|
+
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
62
|
+
|
|
63
|
+
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
64
|
+
<!-- To add a HTTP blocking connector -->
|
|
65
|
+
<!-- mixin jetty-bio.xml: -->
|
|
66
|
+
<!-- java -jar start.jar etc/jetty.xml etc/jetty-bio.xml -->
|
|
67
|
+
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
68
|
+
|
|
69
|
+
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
70
|
+
<!-- To allow Jetty to be started from xinetd -->
|
|
71
|
+
<!-- mixin jetty-xinetd.xml: -->
|
|
72
|
+
<!-- java -jar start.jar etc/jetty.xml etc/jetty-xinetd.xml -->
|
|
73
|
+
<!-- -->
|
|
74
|
+
<!-- See jetty-xinetd.xml for further instructions. -->
|
|
75
|
+
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
76
|
+
|
|
77
|
+
<!-- =========================================================== -->
|
|
78
|
+
<!-- Set handler Collection Structure -->
|
|
79
|
+
<!-- =========================================================== -->
|
|
80
|
+
<Set name="handler">
|
|
81
|
+
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
|
|
82
|
+
<Set name="handlers">
|
|
83
|
+
<Array type="org.eclipse.jetty.server.Handler">
|
|
84
|
+
<Item>
|
|
85
|
+
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
|
|
86
|
+
</Item>
|
|
87
|
+
<Item>
|
|
88
|
+
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
|
|
89
|
+
</Item>
|
|
90
|
+
<Item>
|
|
91
|
+
<New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
|
|
92
|
+
</Item>
|
|
93
|
+
</Array>
|
|
94
|
+
</Set>
|
|
95
|
+
</New>
|
|
96
|
+
</Set>
|
|
97
|
+
|
|
98
|
+
<!-- =========================================================== -->
|
|
99
|
+
<!-- Configure the context deployer -->
|
|
100
|
+
<!-- A context deployer will deploy contexts described in -->
|
|
101
|
+
<!-- configuration files discovered in a directory. -->
|
|
102
|
+
<!-- The configuration directory can be scanned for hot -->
|
|
103
|
+
<!-- deployments at the configured scanInterval. -->
|
|
104
|
+
<!-- -->
|
|
105
|
+
<!-- This deployer is configured to deploy contexts configured -->
|
|
106
|
+
<!-- in the $JETTY_HOME/contexts directory -->
|
|
107
|
+
<!-- -->
|
|
108
|
+
<!-- =========================================================== -->
|
|
109
|
+
<Call name="addBean">
|
|
110
|
+
<Arg>
|
|
111
|
+
<New class="org.eclipse.jetty.deploy.ContextDeployer">
|
|
112
|
+
<Set name="contexts"><Ref id="Contexts"/></Set>
|
|
113
|
+
<Set name="configurationDir"><SystemProperty name="jetty.home" default="."/>/contexts</Set>
|
|
114
|
+
<Set name="scanInterval">5</Set>
|
|
115
|
+
<Call name="setAttribute">
|
|
116
|
+
<Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
|
|
117
|
+
<Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg>
|
|
118
|
+
</Call>
|
|
119
|
+
</New>
|
|
120
|
+
</Arg>
|
|
121
|
+
</Call>
|
|
122
|
+
|
|
123
|
+
<!-- =========================================================== -->
|
|
124
|
+
<!-- Configure the webapp deployer. -->
|
|
125
|
+
<!-- A webapp deployer will deploy standard webapps discovered -->
|
|
126
|
+
<!-- in a directory at startup, without the need for additional -->
|
|
127
|
+
<!-- configuration files. It does not support hot deploy or -->
|
|
128
|
+
<!-- non standard contexts (see ContextDeployer above). -->
|
|
129
|
+
<!-- -->
|
|
130
|
+
<!-- This deployer is configured to deploy webapps from the -->
|
|
131
|
+
<!-- $JETTY_HOME/webapps directory -->
|
|
132
|
+
<!-- -->
|
|
133
|
+
<!-- Normally only one type of deployer need be used. -->
|
|
134
|
+
<!-- -->
|
|
135
|
+
<!-- =========================================================== -->
|
|
136
|
+
<Call name="addBean">
|
|
137
|
+
<Arg>
|
|
138
|
+
<New class="org.eclipse.jetty.deploy.WebAppDeployer">
|
|
139
|
+
<Set name="contexts"><Ref id="Contexts"/></Set>
|
|
140
|
+
<Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/webapps</Set>
|
|
141
|
+
<Set name="parentLoaderPriority">false</Set>
|
|
142
|
+
<Set name="extract">true</Set>
|
|
143
|
+
<Set name="allowDuplicates">false</Set>
|
|
144
|
+
<Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
|
|
145
|
+
<Call name="setAttribute">
|
|
146
|
+
<Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
|
|
147
|
+
<Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg>
|
|
148
|
+
</Call>
|
|
149
|
+
</New>
|
|
150
|
+
</Arg>
|
|
151
|
+
</Call>
|
|
152
|
+
|
|
153
|
+
<!-- =========================================================== -->
|
|
154
|
+
<!-- Configure Authentication Login Service -->
|
|
155
|
+
<!-- Realms may be configured for the entire server here, or -->
|
|
156
|
+
<!-- they can be configured for a specific web app in a context -->
|
|
157
|
+
<!-- configuration (see $(jetty.home)/contexts/test.xml for an -->
|
|
158
|
+
<!-- example). -->
|
|
159
|
+
<!-- =========================================================== -->
|
|
160
|
+
<Call name="addBean">
|
|
161
|
+
<Arg>
|
|
162
|
+
<New class="org.eclipse.jetty.security.HashLoginService">
|
|
163
|
+
<Set name="name">Test Realm</Set>
|
|
164
|
+
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
|
|
165
|
+
<Set name="refreshInterval">0</Set>
|
|
166
|
+
</New>
|
|
167
|
+
</Arg>
|
|
168
|
+
</Call>
|
|
169
|
+
|
|
170
|
+
<!-- =========================================================== -->
|
|
171
|
+
<!-- Configure Request Log -->
|
|
172
|
+
<!-- Request logs may be configured for the entire server here, -->
|
|
173
|
+
<!-- or they can be configured for a specific web app in a -->
|
|
174
|
+
<!-- contexts configuration (see $(jetty.home)/contexts/test.xml -->
|
|
175
|
+
<!-- for an example). -->
|
|
176
|
+
<!-- =========================================================== -->
|
|
177
|
+
<Ref id="RequestLog">
|
|
178
|
+
<Set name="requestLog">
|
|
179
|
+
<New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
|
|
180
|
+
<Set name="filename"><SystemProperty name="jetty.home" default="."/>/logs/yyyy_mm_dd.request.log</Set>
|
|
181
|
+
<Set name="filenameDateFormat">yyyy_MM_dd</Set>
|
|
182
|
+
<Set name="retainDays">90</Set>
|
|
183
|
+
<Set name="append">true</Set>
|
|
184
|
+
<Set name="extended">false</Set>
|
|
185
|
+
<Set name="logCookies">false</Set>
|
|
186
|
+
<Set name="LogTimeZone">GMT</Set>
|
|
187
|
+
</New>
|
|
188
|
+
</Set>
|
|
189
|
+
</Ref>
|
|
190
|
+
|
|
191
|
+
<!-- =========================================================== -->
|
|
192
|
+
<!-- extra options -->
|
|
193
|
+
<!-- =========================================================== -->
|
|
194
|
+
<Set name="stopAtShutdown">true</Set>
|
|
195
|
+
<Set name="sendServerVersion">true</Set>
|
|
196
|
+
<Set name="sendDateHeader">true</Set>
|
|
197
|
+
<Set name="gracefulShutdown">1000</Set>
|
|
198
|
+
|
|
199
|
+
</Configure>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = '/etc/monit/monit.d/monit-jetty.conf'
|
|
3
|
+
%>
|
|
4
|
+
<% PIDFILE = "/var/run/jetty.pid" %>
|
|
5
|
+
check process jetty with pidfile <%= PIDFILE %>
|
|
6
|
+
group jetty-<%= RUBBER_ENV %>
|
|
7
|
+
start program = "<%= rubber_env.jetty_dir %>/bin/jetty.sh start"
|
|
8
|
+
stop program = "<%= rubber_env.jetty_dir %>/bin/jetty.sh stop"
|
|
9
|
+
if failed host <%= rubber_env.host %> port <%= rubber_env.jetty_port %> with timeout 10 seconds for 10 cycles then restart
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
description: Jetty HTTP server and servlet container module
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
defaults:
|
|
2
|
+
ttl: 1800
|
|
3
|
+
readonly: false
|
|
4
|
+
urlencode: false
|
|
5
|
+
c_threshold: 10000
|
|
6
|
+
compression: true
|
|
7
|
+
debug: false
|
|
8
|
+
namespace: app
|
|
9
|
+
sessions: false
|
|
10
|
+
session_servers: false
|
|
11
|
+
fragments: false
|
|
12
|
+
memory: 64
|
|
13
|
+
servers: localhost:11211
|
|
14
|
+
benchmarking: true
|
|
15
|
+
raise_errors: true
|
|
16
|
+
fast_hash: false
|
|
17
|
+
fastest_hash: false
|
|
18
|
+
|
|
19
|
+
development:
|
|
20
|
+
sessions: false
|
|
21
|
+
fragments: true
|
|
22
|
+
servers: localhost:11211
|
|
23
|
+
|
|
24
|
+
# turn off caching
|
|
25
|
+
test:
|
|
26
|
+
disabled: true
|
|
27
|
+
fragments: true
|
|
28
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = "#{RUBBER_ROOT}/config/memcached.yml"
|
|
3
|
+
@additive = ["# rubber-memcached-start", "# rubber-memcached-end"]
|
|
4
|
+
%>
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
<%= RUBBER_ENV %>:
|
|
8
|
+
memory: 256
|
|
9
|
+
fragments: true
|
|
10
|
+
benchmarking: false
|
|
11
|
+
servers:
|
|
12
|
+
<% rubber_instances.for_role('memcached').each do |ic| %>
|
|
13
|
+
- <%= ic.full_name %>:11211
|
|
14
|
+
<% end %>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = "/etc/memcached.conf"
|
|
3
|
+
@post = "/etc/init.d/memcached restart"
|
|
4
|
+
%>
|
|
5
|
+
|
|
6
|
+
# memcached default config file edited for mobicious
|
|
7
|
+
# 2003 - Jay Bonci <jaybonci@debian.org>
|
|
8
|
+
# This configuration file is read by the start-memcached script provided as
|
|
9
|
+
# part of the Debian GNU/Linux distribution.
|
|
10
|
+
|
|
11
|
+
# Run memcached as a daemon. This command is implied, and is not needed for the
|
|
12
|
+
# daemon to run. See the README.Debian that comes with this package for more
|
|
13
|
+
# information.
|
|
14
|
+
-d
|
|
15
|
+
|
|
16
|
+
# Log memcached's output to /var/log/memcached
|
|
17
|
+
logfile /var/log/memcached.log
|
|
18
|
+
|
|
19
|
+
# Be verbose
|
|
20
|
+
-v
|
|
21
|
+
|
|
22
|
+
# Be even more verbose (print client commands as well)
|
|
23
|
+
# -vv
|
|
24
|
+
|
|
25
|
+
# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
|
|
26
|
+
# Note that the daemon will grow to this size, but does not start out holding this much
|
|
27
|
+
# memory
|
|
28
|
+
-m 64
|
|
29
|
+
|
|
30
|
+
# Default connection port is 11211
|
|
31
|
+
-p 11211
|
|
32
|
+
|
|
33
|
+
# Run the daemon as root. The start-memcached will default to running as root if no
|
|
34
|
+
# -u command is present in this config file
|
|
35
|
+
-u nobody
|
|
36
|
+
|
|
37
|
+
# Specify which IP address to listen on. The default is to listen on all IP addresses
|
|
38
|
+
# This parameter is one of the only security measures that memcached has, so make sure
|
|
39
|
+
# it's listening on a firewalled interface.
|
|
40
|
+
#-l 127.0.0.1
|
|
41
|
+
|
|
42
|
+
# Limit the number of simultaneous incoming connections. The daemon default is 1024
|
|
43
|
+
# -c 1024
|
|
44
|
+
|
|
45
|
+
# Lock down all paged memory. Consult with the README and homepage before you do this
|
|
46
|
+
# -k
|
|
47
|
+
|
|
48
|
+
# Return error when memory is exhausted (rather than removing items)
|
|
49
|
+
# -M
|
|
50
|
+
|
|
51
|
+
# Maximize core file limit
|
|
52
|
+
# -r
|
data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = "/usr/share/munin/plugins/memcached"
|
|
3
|
+
@perms = 0755
|
|
4
|
+
@post = <<-POST
|
|
5
|
+
ln -sf #{@path} /etc/munin/plugins/memcached_rates
|
|
6
|
+
ln -sf #{@path} /etc/munin/plugins/memcached_bytes
|
|
7
|
+
ln -sf #{@path} /etc/munin/plugins/memcached_counters
|
|
8
|
+
/etc/init.d/munin-node restart
|
|
9
|
+
POST
|
|
10
|
+
%>#!/usr/bin/perl
|
|
11
|
+
#
|
|
12
|
+
# Plugin to monitor memcache statistics
|
|
13
|
+
#
|
|
14
|
+
# This module has 3 seperate graph datasets:
|
|
15
|
+
# rates
|
|
16
|
+
# bytes
|
|
17
|
+
# counters
|
|
18
|
+
#
|
|
19
|
+
# For each of them, symlink the memcached_ script to memcached_FOO where foo is
|
|
20
|
+
# the datset name.
|
|
21
|
+
#
|
|
22
|
+
# Parameters supported:
|
|
23
|
+
#
|
|
24
|
+
# config
|
|
25
|
+
# autoconf
|
|
26
|
+
#
|
|
27
|
+
# Configurable variables
|
|
28
|
+
#
|
|
29
|
+
# host Host of the memcache daemon
|
|
30
|
+
# port Port of the memcache daemon
|
|
31
|
+
#
|
|
32
|
+
# Author: Robin H. Johnson <robbat2@gentoo.org>
|
|
33
|
+
# Slightly based on the original version by Joshua Thijssen
|
|
34
|
+
# <jthijssen@noxlogic.nl>
|
|
35
|
+
#
|
|
36
|
+
# Magic markers:
|
|
37
|
+
#%# family=auto
|
|
38
|
+
#%# capabilities=autoconf
|
|
39
|
+
use strict;
|
|
40
|
+
my $ret = undef;
|
|
41
|
+
if (! eval "require Cache::Memcached;") {
|
|
42
|
+
$ret = "Cache::Memcached not found";
|
|
43
|
+
}
|
|
44
|
+
my $HOST = exists $ENV{'host'} ? $ENV{'host'} : "127.0.0.1";
|
|
45
|
+
my $PORT = exists $ENV{'port'} ? $ENV{'port'} : 11211;
|
|
46
|
+
if ( exists $ARGV[0] and $ARGV[0] eq "autoconf" ) {
|
|
47
|
+
if ($ret) {
|
|
48
|
+
print "no ($ret)\n";
|
|
49
|
+
exit 1;
|
|
50
|
+
}
|
|
51
|
+
# Todo: we can always connect to a memcache server without any errors so I cannot really
|
|
52
|
+
# find a way to detect the presence of a memcache instance. Maybe a forced write/read/delete
|
|
53
|
+
# but there should be a better way somewhere...
|
|
54
|
+
print "yes\n";
|
|
55
|
+
exit 0;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if($ret) {
|
|
59
|
+
print "no ($ret)\n";
|
|
60
|
+
exit 1;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
# We do everything by this array
|
|
64
|
+
my %all_vars = (
|
|
65
|
+
rates => {
|
|
66
|
+
master => {
|
|
67
|
+
graph_title => 'Memcached - Commands',
|
|
68
|
+
graph_args => '--base 1000',
|
|
69
|
+
graph_vlabel => '/${graph_period}',
|
|
70
|
+
graph_category => 'memcache',
|
|
71
|
+
},
|
|
72
|
+
memcache_cache_hits => {
|
|
73
|
+
label => 'Cache hits',
|
|
74
|
+
type => 'DERIVE',
|
|
75
|
+
min => '0',
|
|
76
|
+
max => '5000',
|
|
77
|
+
draw => 'LINE2',
|
|
78
|
+
info => 'Number of cache hits',
|
|
79
|
+
stat_group => 'misc',
|
|
80
|
+
stat_name => 'get_hits'
|
|
81
|
+
},
|
|
82
|
+
memcache_cache_misses => {
|
|
83
|
+
label => 'Cache misses',
|
|
84
|
+
type => 'DERIVE',
|
|
85
|
+
min => '0',
|
|
86
|
+
max => '5000',
|
|
87
|
+
draw => 'LINE2',
|
|
88
|
+
info => 'Number of cache misses',
|
|
89
|
+
stat_group => 'misc',
|
|
90
|
+
stat_name => 'get_misses'
|
|
91
|
+
},
|
|
92
|
+
memcache_cmd_get => {
|
|
93
|
+
label => 'GET requests',
|
|
94
|
+
type => 'DERIVE',
|
|
95
|
+
min => '0',
|
|
96
|
+
max => '5000',
|
|
97
|
+
draw => 'LINE2',
|
|
98
|
+
info => 'Number of GET commands seen',
|
|
99
|
+
stat_group => 'misc',
|
|
100
|
+
stat_name => 'cmd_get'
|
|
101
|
+
},
|
|
102
|
+
memcache_cmd_set => {
|
|
103
|
+
label => 'SET requests',
|
|
104
|
+
type => 'DERIVE',
|
|
105
|
+
min => '0',
|
|
106
|
+
max => '5000',
|
|
107
|
+
draw => 'LINE2',
|
|
108
|
+
info => 'Number of SET commands seen',
|
|
109
|
+
stat_group => 'misc',
|
|
110
|
+
stat_name => 'cmd_set'
|
|
111
|
+
},
|
|
112
|
+
memcache_total_items => {
|
|
113
|
+
label => 'New items*5',
|
|
114
|
+
type => 'DERIVE',
|
|
115
|
+
min => '0',
|
|
116
|
+
max => '5000',
|
|
117
|
+
draw => 'LINE2',
|
|
118
|
+
info => 'New items*5',
|
|
119
|
+
cdef => 'memcache_total_items,5,*',
|
|
120
|
+
stat_group => 'misc',
|
|
121
|
+
stat_name => 'total_items'
|
|
122
|
+
},
|
|
123
|
+
memcache_total_connections => {
|
|
124
|
+
label => 'New connections*100',
|
|
125
|
+
type => 'DERIVE',
|
|
126
|
+
min => '0',
|
|
127
|
+
max => '5000',
|
|
128
|
+
cdef => 'memcache_total_connections,100,*',
|
|
129
|
+
draw => 'LINE2',
|
|
130
|
+
info => 'New connections*100',
|
|
131
|
+
stat_group => 'misc',
|
|
132
|
+
stat_name => 'total_connections'
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
bytes => {
|
|
136
|
+
master => {
|
|
137
|
+
graph_title => 'Memcached - Network traffic',
|
|
138
|
+
graph_args => '--base 1000',
|
|
139
|
+
graph_vlabel => 'bytes in(-)/out(+) per ${graph_period}',
|
|
140
|
+
graph_category => 'memcache',
|
|
141
|
+
},
|
|
142
|
+
memcache_bytes_read => {
|
|
143
|
+
label => 'Bytes read',
|
|
144
|
+
type => 'COUNTER',
|
|
145
|
+
draw => 'LINE2',
|
|
146
|
+
max => '1000000',
|
|
147
|
+
info => 'Bytes read from network',
|
|
148
|
+
graph => 'no',
|
|
149
|
+
stat_group => 'misc',
|
|
150
|
+
stat_name => 'bytes_read'
|
|
151
|
+
},
|
|
152
|
+
memcache_bytes_written => {
|
|
153
|
+
label => 'Bytes written',
|
|
154
|
+
negative => 'memcache_bytes_read',
|
|
155
|
+
type => 'COUNTER',
|
|
156
|
+
max => '1000000',
|
|
157
|
+
draw => 'LINE2',
|
|
158
|
+
info => 'Bytes written to network',
|
|
159
|
+
stat_group => 'misc',
|
|
160
|
+
stat_name => 'bytes_written'
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
counters => {
|
|
164
|
+
master => {
|
|
165
|
+
graph_title => 'Memcached - Current values',
|
|
166
|
+
graph_args => '--base 1000',
|
|
167
|
+
#graph_args => '--base 1000 --loga',
|
|
168
|
+
graph_vlabel => 'Totals',
|
|
169
|
+
graph_category => 'memcache',
|
|
170
|
+
graph_scale => 'no',
|
|
171
|
+
},
|
|
172
|
+
memcache_curr_items => {
|
|
173
|
+
label => 'Current items',
|
|
174
|
+
type => 'GAUGE',
|
|
175
|
+
min => '0',
|
|
176
|
+
draw => 'LINE2',
|
|
177
|
+
info => 'Number of items in cache',
|
|
178
|
+
stat_group => 'misc',
|
|
179
|
+
stat_name => 'curr_items'
|
|
180
|
+
},
|
|
181
|
+
memcache_curr_connections => {
|
|
182
|
+
label => 'Current connections*100',
|
|
183
|
+
type => 'GAUGE',
|
|
184
|
+
min => '0',
|
|
185
|
+
draw => 'LINE2',
|
|
186
|
+
cdef => 'memcache_curr_connections,100,*',
|
|
187
|
+
info => 'Number of connections*100',
|
|
188
|
+
stat_group => 'misc',
|
|
189
|
+
stat_name => 'curr_connections'
|
|
190
|
+
},
|
|
191
|
+
memcache_bytes_allocated => {
|
|
192
|
+
label => 'Bytes allocated (KiB)',
|
|
193
|
+
type => 'GAUGE',
|
|
194
|
+
min => '0',
|
|
195
|
+
draw => 'LINE2',
|
|
196
|
+
cdef => 'memcache_bytes_allocated,1024,/',
|
|
197
|
+
info => 'Bytes allocated (KiB)',
|
|
198
|
+
stat_group => 'misc',
|
|
199
|
+
stat_name => 'bytes'
|
|
200
|
+
},
|
|
201
|
+
}
|
|
202
|
+
);
|
|
203
|
+
|
|
204
|
+
$0 =~ /memcached_(.+)*$/;
|
|
205
|
+
my $func = $1;
|
|
206
|
+
exit 2 unless defined $func;
|
|
207
|
+
my %vars = %{$all_vars{$func}};
|
|
208
|
+
|
|
209
|
+
# STAT rusage_user 3941.052868
|
|
210
|
+
# STAT rusage_system 18436.366246
|
|
211
|
+
# STAT connection_structures 1112
|
|
212
|
+
# STAT bytes 382985002
|
|
213
|
+
# STAT limit_maxbytes 536870912
|
|
214
|
+
|
|
215
|
+
if ( exists $ARGV[0] and $ARGV[0] eq "config" ) {
|
|
216
|
+
my %v = %{$vars{'master'}};
|
|
217
|
+
foreach my $k ( keys %v ) {
|
|
218
|
+
print "$k ".$v{$k}."\n"
|
|
219
|
+
}
|
|
220
|
+
print 'graph_order ';
|
|
221
|
+
foreach my $k ( sort(keys %vars) ) {
|
|
222
|
+
if($k eq 'master') { next; }
|
|
223
|
+
print $k." ";
|
|
224
|
+
}
|
|
225
|
+
print "\n";
|
|
226
|
+
foreach my $k ( sort(keys %vars) ) {
|
|
227
|
+
if($k eq 'master') { next; }
|
|
228
|
+
my %v = %{$vars{$k}};
|
|
229
|
+
foreach my $k2 (keys %v) {
|
|
230
|
+
if($k2 eq 'stat_group' or $k2 eq 'stat_name') { next; }
|
|
231
|
+
print "$k.$k2 ".$v{"$k2"}."\n";
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
exit 0;
|
|
235
|
+
}
|
|
236
|
+
my $mc = new Cache::Memcached { 'servers' => [ "$HOST:$PORT" ] };
|
|
237
|
+
my $stats = $mc->stats ('misc');
|
|
238
|
+
|
|
239
|
+
foreach my $k ( sort(keys %vars) ) {
|
|
240
|
+
if($k eq 'master') { next; }
|
|
241
|
+
my %v = %{$vars{$k}};
|
|
242
|
+
if($v{type} eq 'COMPUTE') { next; }
|
|
243
|
+
my $sg = $v{stat_group};
|
|
244
|
+
my $sn = $v{stat_name};
|
|
245
|
+
my $value = $stats->{hosts}->{"$HOST:$PORT"}->{$sg}->{$sn};
|
|
246
|
+
defined($value) or $value = 'U';
|
|
247
|
+
print "$k.value ".$value."\n";
|
|
248
|
+
}
|
|
249
|
+
# vim:syntax=perl ts=4 sw=4:
|