rob_cap_recipes 0.0.3 → 0.0.4.alpha1
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.
- checksums.yaml +4 -4
- data/lib/rob_cap_recipes/recipes/puma.rb +34 -0
- data/lib/rob_cap_recipes/recipes/templates/nginx.erb +1 -1
- data/lib/rob_cap_recipes/recipes/templates/puma.rb.erb +145 -0
- data/lib/rob_cap_recipes/recipes/templates/puma_init.erb +332 -0
- data/lib/rob_cap_recipes/recipes/templates/puma_run.erb +4 -0
- data/lib/rob_cap_recipes/recipes.rb +2 -1
- data/lib/rob_cap_recipes/version.rb +1 -1
- metadata +9 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59dafa8edafa120f5a4439ff1e5d9a2130d27c6a
|
4
|
+
data.tar.gz: 5e27c2c8b1b6bd28706b24f4843f84b39517d9b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d071e901205404ba3f6f30f51680a2dd45b163e49fe719ceacbdf1d9a814ef682b22f89e08a039fa427a5e7d3f1cbfc2176cf60d33df9d2d27c803e2dddae0b
|
7
|
+
data.tar.gz: 6c7fe27d6ea3565d11001fe6a7b82206c5bd045f7f8e0dc012ecf6b0ef4d8256ebfed62fefe9d783c108f3f6101b9162667f149d30878a30c0c34ab0743a48aa
|
@@ -0,0 +1,34 @@
|
|
1
|
+
Capistrano::Configuration.instance(true).load do
|
2
|
+
_cset(:puma_user){user}
|
3
|
+
_cset(:puma_pid){ "#{current_path}/tmp/sockets/puma.pid" }
|
4
|
+
_cset(:puma_state){ "#{current_path}/tmp/sockets/puma.state" }
|
5
|
+
_cset(:puma_socket){ "#{current_path}/tmp/sockets/puma.sock" }
|
6
|
+
_cset(:puma_config){ "#{shared_path}/config/puma.rb" }
|
7
|
+
|
8
|
+
namespace :puma_robstr do
|
9
|
+
desc "Setup Puma initializer and app configuration"
|
10
|
+
task :setup, roles: :app do
|
11
|
+
run "mkdir -p #{shared_path}/config"
|
12
|
+
unless File.exist?(puma_config)
|
13
|
+
template "puma.rb.erb", puma_config
|
14
|
+
end
|
15
|
+
template "puma_init.erb", "/tmp/puma_init"
|
16
|
+
run "chmod +x /tmp/puma_init"
|
17
|
+
run "#{sudo} mv /tmp/puma_init /etc/init.d/puma"
|
18
|
+
run "#{sudo} update-rc.d -f puma defaults"
|
19
|
+
run "#{sudo} touch /etc/puma.conf"
|
20
|
+
template "puma_run", "/tmp/run-puma"
|
21
|
+
run "chmod +x /tmp/run-puma"
|
22
|
+
run "#{sudo} mv /tmp/run-puma /usr/local/bin/run-puma"
|
23
|
+
run "#{sudo} /etc/init.d/puma add #{current_path} #{puma_user}"
|
24
|
+
end
|
25
|
+
after "deploy:setup", "puma_robstr:setup"
|
26
|
+
|
27
|
+
desc "Symlink the puma files into latest release"
|
28
|
+
task :symlink, roles: :app do
|
29
|
+
run "ln -nfs #{shared_path}/config/puma.rb #{release_path}/config/puma.rb"
|
30
|
+
run "ln -nfs #{shared_path}/sockets #{release_path}/tmp/sockets"
|
31
|
+
end
|
32
|
+
after "deploy:finalize_update", "puma_robstr:symlink"
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,145 @@
|
|
1
|
+
#!/usr/bin/env puma
|
2
|
+
|
3
|
+
environment '<%= rails_env %>'
|
4
|
+
|
5
|
+
pidfile '<%= puma_pid %>'
|
6
|
+
state_path '<%= puma_state %>'
|
7
|
+
bind '<%= puma_socket %>'
|
8
|
+
|
9
|
+
# The directory to operate out of.
|
10
|
+
#
|
11
|
+
# The default is the current directory.
|
12
|
+
#
|
13
|
+
# directory '/u/apps/lolcat'
|
14
|
+
|
15
|
+
# Use a object or block as the rack application. This allows the
|
16
|
+
#!/usr/bin/env puma
|
17
|
+
|
18
|
+
# The directory to operate out of.
|
19
|
+
#
|
20
|
+
# The default is the current directory.
|
21
|
+
#
|
22
|
+
# directory '/u/apps/lolcat'
|
23
|
+
|
24
|
+
# Use a object or block as the rack application. This allows the
|
25
|
+
# config file to be the application itself.
|
26
|
+
#
|
27
|
+
# app do |env|
|
28
|
+
# puts env
|
29
|
+
#
|
30
|
+
# body = 'Hello, World!'
|
31
|
+
#
|
32
|
+
# [200, { 'Content-Type' => 'text/plain', 'Content-Length' => body.length.to_s }, [body]]
|
33
|
+
# end
|
34
|
+
|
35
|
+
# Load “path” as a rackup file.
|
36
|
+
#
|
37
|
+
# The default is “config.ru”.
|
38
|
+
#
|
39
|
+
# rackup '/u/apps/lolcat/config.ru'
|
40
|
+
|
41
|
+
# Set the environment in which the rack's app will run. The value must be a string.
|
42
|
+
#
|
43
|
+
# The default is “development”.
|
44
|
+
#
|
45
|
+
# environment 'production'
|
46
|
+
|
47
|
+
# Daemonize the server into the background. Highly suggest that
|
48
|
+
# this be combined with “pidfile” and “stdout_redirect”.
|
49
|
+
#
|
50
|
+
# The default is “false”.
|
51
|
+
#
|
52
|
+
# daemonize
|
53
|
+
# daemonize false
|
54
|
+
|
55
|
+
# Store the pid of the server in the file at “path”.
|
56
|
+
#
|
57
|
+
# pidfile '/u/apps/lolcat/tmp/pids/puma.pid'
|
58
|
+
|
59
|
+
# Use “path” as the file to store the server info state. This is
|
60
|
+
# used by “pumactl” to query and control the server.
|
61
|
+
#
|
62
|
+
# state_path '/u/apps/lolcat/tmp/pids/puma.state'
|
63
|
+
|
64
|
+
# Redirect STDOUT and STDERR to files specified. The 3rd parameter
|
65
|
+
# (“append”) specifies whether the output is appended, the default is
|
66
|
+
# “false”.
|
67
|
+
#
|
68
|
+
# stdout_redirect '/u/apps/lolcat/log/stdout', '/u/apps/lolcat/log/stderr'
|
69
|
+
# stdout_redirect '/u/apps/lolcat/log/stdout', '/u/apps/lolcat/log/stderr', true
|
70
|
+
|
71
|
+
# Disable request logging.
|
72
|
+
#
|
73
|
+
# The default is “false”.
|
74
|
+
#
|
75
|
+
# quiet
|
76
|
+
|
77
|
+
# Configure “min” to be the minimum number of threads to use to answer
|
78
|
+
# requests and “max” the maximum.
|
79
|
+
#
|
80
|
+
# The default is “0, 16”.
|
81
|
+
#
|
82
|
+
# threads 0, 16
|
83
|
+
|
84
|
+
# Bind the server to “url”. “tcp://”, “unix://” and “ssl://” are the only
|
85
|
+
# accepted protocols.
|
86
|
+
#
|
87
|
+
# The default is “tcp://0.0.0.0:9292”.
|
88
|
+
#
|
89
|
+
# bind 'tcp://0.0.0.0:9292'
|
90
|
+
# bind 'unix:///var/run/puma.sock'
|
91
|
+
# bind 'unix:///var/run/puma.sock?umask=0777'
|
92
|
+
# bind 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'
|
93
|
+
|
94
|
+
# Instead of “bind 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'” you
|
95
|
+
# can also use the “ssl_bind” option.
|
96
|
+
#
|
97
|
+
# ssl_bind '127.0.0.1', '9292', { key: path_to_key, cert: path_to_cert }
|
98
|
+
|
99
|
+
# Code to run before doing a restart. This code should
|
100
|
+
# close log files, database connections, etc.
|
101
|
+
#
|
102
|
+
# This can be called multiple times to add code each time.
|
103
|
+
#
|
104
|
+
# on_restart do
|
105
|
+
# puts 'On restart...'
|
106
|
+
# end
|
107
|
+
|
108
|
+
# Command to use to restart puma. This should be just how to
|
109
|
+
# load puma itself (ie. 'ruby -Ilib bin/puma'), not the arguments
|
110
|
+
# to puma, as those are the same as the original process.
|
111
|
+
#
|
112
|
+
# restart_command '/u/app/lolcat/bin/restart_puma'
|
113
|
+
|
114
|
+
# === Cluster mode ===
|
115
|
+
|
116
|
+
# How many worker processes to run.
|
117
|
+
#
|
118
|
+
# The default is “0”.
|
119
|
+
#
|
120
|
+
# workers 2
|
121
|
+
|
122
|
+
# Code to run when a worker boots to setup the process before booting
|
123
|
+
# the app.
|
124
|
+
#
|
125
|
+
# This can be called multiple times to add hooks.
|
126
|
+
#
|
127
|
+
# on_worker_boot do
|
128
|
+
# puts 'On worker boot...'
|
129
|
+
# end
|
130
|
+
|
131
|
+
# === Puma control rack application ===
|
132
|
+
|
133
|
+
# Start the puma control rack application on “url”. This application can
|
134
|
+
# be communicated with to control the main server. Additionally, you can
|
135
|
+
# provide an authentication token, so all requests to the control server
|
136
|
+
# will need to include that token as a query parameter. This allows for
|
137
|
+
# simple authentication.
|
138
|
+
#
|
139
|
+
# Check out https://github.com/puma/puma/blob/master/lib/puma/app/status.rb
|
140
|
+
# to see what the app has available.
|
141
|
+
#
|
142
|
+
# activate_control_app 'unix:///var/run/pumactl.sock'
|
143
|
+
# activate_control_app 'unix:///var/run/pumactl.sock', { auth_token: '12345' }
|
144
|
+
# activate_control_app 'unix:///var/run/pumactl.sock', { no_token: true }
|
145
|
+
|
@@ -0,0 +1,332 @@
|
|
1
|
+
#! /bin/sh
|
2
|
+
### BEGIN INIT INFO
|
3
|
+
# Provides: puma
|
4
|
+
# Required-Start: $remote_fs $syslog
|
5
|
+
# Required-Stop: $remote_fs $syslog
|
6
|
+
# Default-Start: 2 3 4 5
|
7
|
+
# Default-Stop: 0 1 6
|
8
|
+
# Short-Description: Example initscript
|
9
|
+
# Description: This file should be used to construct scripts to be
|
10
|
+
# placed in /etc/init.d.
|
11
|
+
### END INIT INFO
|
12
|
+
|
13
|
+
# Author: Darío Javier Cravero <dario@exordo.com>
|
14
|
+
#
|
15
|
+
# Do NOT "set -e"
|
16
|
+
|
17
|
+
# PATH should only include /usr/* if it runs after the mountnfs.sh script
|
18
|
+
PATH=/usr/local/bin:/usr/local/sbin/:/sbin:/usr/sbin:/bin:/usr/bin
|
19
|
+
DESC="Puma rack web server"
|
20
|
+
NAME=puma
|
21
|
+
DAEMON=$NAME
|
22
|
+
SCRIPTNAME=/etc/init.d/$NAME
|
23
|
+
CONFIG=/etc/puma.conf
|
24
|
+
JUNGLE=`cat $CONFIG`
|
25
|
+
RUNPUMA=/usr/local/bin/run-puma
|
26
|
+
|
27
|
+
# Load the VERBOSE setting and other rcS variables
|
28
|
+
. /lib/init/vars.sh
|
29
|
+
|
30
|
+
# Define LSB log_* functions.
|
31
|
+
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
|
32
|
+
. /lib/lsb/init-functions
|
33
|
+
|
34
|
+
#
|
35
|
+
# Function that starts the jungle
|
36
|
+
#
|
37
|
+
do_start() {
|
38
|
+
log_daemon_msg "=> Running the jungle..."
|
39
|
+
for i in $JUNGLE; do
|
40
|
+
dir=`echo $i | cut -d , -f 1`
|
41
|
+
user=`echo $i | cut -d , -f 2`
|
42
|
+
config_file=`echo $i | cut -d , -f 3`
|
43
|
+
if [ "$config_file" = "" ]; then
|
44
|
+
config_file="$dir/config/puma.rb"
|
45
|
+
fi
|
46
|
+
log_file=`echo $i | cut -d , -f 4`
|
47
|
+
if [ "$log_file" = "" ]; then
|
48
|
+
log_file="$dir/log/puma.log"
|
49
|
+
fi
|
50
|
+
do_start_one $dir $user $config_file $log_file
|
51
|
+
done
|
52
|
+
}
|
53
|
+
|
54
|
+
do_start_one() {
|
55
|
+
PIDFILE=$1/tmp/sockets/puma.pid
|
56
|
+
if [ -e $PIDFILE ]; then
|
57
|
+
PID=`cat $PIDFILE`
|
58
|
+
# If the puma isn't running, run it, otherwise restart it.
|
59
|
+
if [ "`ps -A -o pid= | grep -c $PID`" -eq 0 ]; then
|
60
|
+
do_start_one_do $1 $2 $3 $4
|
61
|
+
else
|
62
|
+
do_restart_one $1
|
63
|
+
fi
|
64
|
+
else
|
65
|
+
do_start_one_do $1 $2 $3 $4
|
66
|
+
fi
|
67
|
+
}
|
68
|
+
|
69
|
+
do_start_one_do() {
|
70
|
+
log_daemon_msg "--> Woke up puma $1"
|
71
|
+
log_daemon_msg "user $2"
|
72
|
+
log_daemon_msg "log to $4"
|
73
|
+
start-stop-daemon --verbose --start --chdir $1 --chuid $2 --background --exec $RUNPUMA -- $1 $3 $4
|
74
|
+
}
|
75
|
+
|
76
|
+
#
|
77
|
+
# Function that stops the jungle
|
78
|
+
#
|
79
|
+
do_stop() {
|
80
|
+
log_daemon_msg "=> Putting all the beasts to bed..."
|
81
|
+
for i in $JUNGLE; do
|
82
|
+
dir=`echo $i | cut -d , -f 1`
|
83
|
+
do_stop_one $dir
|
84
|
+
done
|
85
|
+
}
|
86
|
+
#
|
87
|
+
# Function that stops the daemon/service
|
88
|
+
#
|
89
|
+
do_stop_one() {
|
90
|
+
log_daemon_msg "--> Stopping $1"
|
91
|
+
PIDFILE=$1/tmp/sockets/puma.pid
|
92
|
+
STATEFILE=$1/tmp/sockets/puma.state
|
93
|
+
if [ -e $PIDFILE ]; then
|
94
|
+
PID=`cat $PIDFILE`
|
95
|
+
if [ "`ps -A -o pid= | grep -c $PID`" -eq 0 ]; then
|
96
|
+
log_daemon_msg "---> Puma $1 isn't running."
|
97
|
+
else
|
98
|
+
log_daemon_msg "---> About to kill PID `cat $PIDFILE`"
|
99
|
+
pumactl --state $STATEFILE stop
|
100
|
+
# Many daemons don't delete their pidfiles when they exit.
|
101
|
+
rm -f $PIDFILE $STATEFILE
|
102
|
+
fi
|
103
|
+
else
|
104
|
+
log_daemon_msg "---> No puma here..."
|
105
|
+
fi
|
106
|
+
return 0
|
107
|
+
}
|
108
|
+
|
109
|
+
#
|
110
|
+
# Function that restarts the jungle
|
111
|
+
#
|
112
|
+
do_restart() {
|
113
|
+
for i in $JUNGLE; do
|
114
|
+
dir=`echo $i | cut -d , -f 1`
|
115
|
+
do_restart_one $dir
|
116
|
+
done
|
117
|
+
}
|
118
|
+
|
119
|
+
#
|
120
|
+
# Function that sends a SIGUSR2 to the daemon/service
|
121
|
+
#
|
122
|
+
do_restart_one() {
|
123
|
+
PIDFILE=$1/tmp/sockets/puma.pid
|
124
|
+
i=`grep $1 $CONFIG`
|
125
|
+
dir=`echo $i | cut -d , -f 1`
|
126
|
+
|
127
|
+
if [ -e $PIDFILE ]; then
|
128
|
+
log_daemon_msg "--> About to restart puma $1"
|
129
|
+
pumactl --state $dir/tmp/sockets/puma.state restart
|
130
|
+
# kill -s USR2 `cat $PIDFILE`
|
131
|
+
# TODO Check if process exist
|
132
|
+
else
|
133
|
+
log_daemon_msg "--> Your puma was never playing... Let's get it out there first"
|
134
|
+
user=`echo $i | cut -d , -f 2`
|
135
|
+
config_file=`echo $i | cut -d , -f 3`
|
136
|
+
if [ "$config_file" = "" ]; then
|
137
|
+
config_file="$dir/config/puma.rb"
|
138
|
+
fi
|
139
|
+
log_file=`echo $i | cut -d , -f 4`
|
140
|
+
if [ "$log_file" = "" ]; then
|
141
|
+
log_file="$dir/log/puma.log"
|
142
|
+
fi
|
143
|
+
do_start_one $dir $user $config_file $log_file
|
144
|
+
fi
|
145
|
+
return 0
|
146
|
+
}
|
147
|
+
|
148
|
+
#
|
149
|
+
# Function that statuss the jungle
|
150
|
+
#
|
151
|
+
do_status() {
|
152
|
+
for i in $JUNGLE; do
|
153
|
+
dir=`echo $i | cut -d , -f 1`
|
154
|
+
do_status_one $dir
|
155
|
+
done
|
156
|
+
}
|
157
|
+
|
158
|
+
#
|
159
|
+
# Function that sends a SIGUSR2 to the daemon/service
|
160
|
+
#
|
161
|
+
do_status_one() {
|
162
|
+
PIDFILE=$1/tmp/sockets/puma.pid
|
163
|
+
i=`grep $1 $CONFIG`
|
164
|
+
dir=`echo $i | cut -d , -f 1`
|
165
|
+
|
166
|
+
if [ -e $PIDFILE ]; then
|
167
|
+
log_daemon_msg "--> About to status puma $1"
|
168
|
+
pumactl --state $dir/tmp/sockets/puma.state stats
|
169
|
+
# kill -s USR2 `cat $PIDFILE`
|
170
|
+
# TODO Check if process exist
|
171
|
+
else
|
172
|
+
log_daemon_msg "--> $1 isn't there :(..."
|
173
|
+
fi
|
174
|
+
return 0
|
175
|
+
}
|
176
|
+
|
177
|
+
do_add() {
|
178
|
+
str=""
|
179
|
+
# App's directory
|
180
|
+
if [ -d "$1" ]; then
|
181
|
+
if [ "`grep -c "^$1" $CONFIG`" -eq 0 ]; then
|
182
|
+
str=$1
|
183
|
+
else
|
184
|
+
echo "The app is already being managed. Remove it if you want to update its config."
|
185
|
+
exit 1
|
186
|
+
fi
|
187
|
+
else
|
188
|
+
echo "The directory $1 doesn't exist."
|
189
|
+
exit 1
|
190
|
+
fi
|
191
|
+
# User to run it as
|
192
|
+
if [ "`grep -c "^$2:" /etc/passwd`" -eq 0 ]; then
|
193
|
+
echo "The user $2 doesn't exist."
|
194
|
+
exit 1
|
195
|
+
else
|
196
|
+
str="$str,$2"
|
197
|
+
fi
|
198
|
+
# Config file
|
199
|
+
if [ "$3" != "" ]; then
|
200
|
+
if [ -e $3 ]; then
|
201
|
+
str="$str,$3"
|
202
|
+
else
|
203
|
+
echo "The config file $3 doesn't exist."
|
204
|
+
exit 1
|
205
|
+
fi
|
206
|
+
fi
|
207
|
+
# Log file
|
208
|
+
if [ "$4" != "" ]; then
|
209
|
+
str="$str,$4"
|
210
|
+
fi
|
211
|
+
|
212
|
+
# Add it to the jungle
|
213
|
+
echo $str >> $CONFIG
|
214
|
+
log_daemon_msg "Added a Puma to the jungle: $str. You still have to start it though."
|
215
|
+
}
|
216
|
+
|
217
|
+
do_remove() {
|
218
|
+
if [ "`grep -c "^$1" $CONFIG`" -eq 0 ]; then
|
219
|
+
echo "There's no app $1 to remove."
|
220
|
+
else
|
221
|
+
# Stop it first.
|
222
|
+
do_stop_one $1
|
223
|
+
# Remove it from the config.
|
224
|
+
sed -i "\\:^$1:d" $CONFIG
|
225
|
+
log_daemon_msg "Removed a Puma from the jungle: $1."
|
226
|
+
fi
|
227
|
+
}
|
228
|
+
|
229
|
+
case "$1" in
|
230
|
+
start)
|
231
|
+
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
|
232
|
+
if [ "$#" -eq 1 ]; then
|
233
|
+
do_start
|
234
|
+
else
|
235
|
+
i=`grep $2 $CONFIG`
|
236
|
+
dir=`echo $i | cut -d , -f 1`
|
237
|
+
user=`echo $i | cut -d , -f 2`
|
238
|
+
config_file=`echo $i | cut -d , -f 3`
|
239
|
+
if [ "$config_file" = "" ]; then
|
240
|
+
config_file="$dir/config/puma.rb"
|
241
|
+
fi
|
242
|
+
log_file=`echo $i | cut -d , -f 4`
|
243
|
+
if [ "$log_file" = "" ]; then
|
244
|
+
log_file="$dir/log/puma.log"
|
245
|
+
fi
|
246
|
+
do_start_one $dir $user $config_file $log_file
|
247
|
+
fi
|
248
|
+
case "$?" in
|
249
|
+
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
250
|
+
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
251
|
+
esac
|
252
|
+
;;
|
253
|
+
stop)
|
254
|
+
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
|
255
|
+
if [ "$#" -eq 1 ]; then
|
256
|
+
do_stop
|
257
|
+
else
|
258
|
+
i=`grep $2 $CONFIG`
|
259
|
+
dir=`echo $i | cut -d , -f 1`
|
260
|
+
do_stop_one $dir
|
261
|
+
fi
|
262
|
+
case "$?" in
|
263
|
+
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
264
|
+
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
265
|
+
esac
|
266
|
+
;;
|
267
|
+
status)
|
268
|
+
# TODO Implement.
|
269
|
+
log_daemon_msg "Status $DESC" "$NAME"
|
270
|
+
if [ "$#" -eq 1 ]; then
|
271
|
+
do_status
|
272
|
+
else
|
273
|
+
i=`grep $2 $CONFIG`
|
274
|
+
dir=`echo $i | cut -d , -f 1`
|
275
|
+
do_status_one $dir
|
276
|
+
fi
|
277
|
+
case "$?" in
|
278
|
+
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
279
|
+
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
280
|
+
esac
|
281
|
+
;;
|
282
|
+
restart)
|
283
|
+
log_daemon_msg "Restarting $DESC" "$NAME"
|
284
|
+
if [ "$#" -eq 1 ]; then
|
285
|
+
do_restart
|
286
|
+
else
|
287
|
+
i=`grep $2 $CONFIG`
|
288
|
+
dir=`echo $i | cut -d , -f 1`
|
289
|
+
do_restart_one $dir
|
290
|
+
fi
|
291
|
+
case "$?" in
|
292
|
+
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
293
|
+
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
294
|
+
esac
|
295
|
+
;;
|
296
|
+
add)
|
297
|
+
if [ "$#" -lt 3 ]; then
|
298
|
+
echo "Please, specifiy the app's directory and the user that will run it at least."
|
299
|
+
echo " Usage: $SCRIPTNAME add /path/to/app user /path/to/app/config/puma.rb /path/to/app/config/log/puma.log"
|
300
|
+
echo " config and log are optionals."
|
301
|
+
exit 1
|
302
|
+
else
|
303
|
+
do_add $2 $3 $4 $5
|
304
|
+
fi
|
305
|
+
case "$?" in
|
306
|
+
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
307
|
+
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
308
|
+
esac
|
309
|
+
;;
|
310
|
+
remove)
|
311
|
+
if [ "$#" -lt 2 ]; then
|
312
|
+
echo "Please, specifiy the app's directory to remove."
|
313
|
+
exit 1
|
314
|
+
else
|
315
|
+
do_remove $2
|
316
|
+
fi
|
317
|
+
case "$?" in
|
318
|
+
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
319
|
+
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
320
|
+
esac
|
321
|
+
;;
|
322
|
+
*)
|
323
|
+
echo "Usage:" >&2
|
324
|
+
echo " Run the jungle: $SCRIPTNAME {start|stop|status|restart}" >&2
|
325
|
+
echo " Add a Puma: $SCRIPTNAME add /path/to/app user /path/to/app/config/puma.rb /path/to/app/config/log/puma.log"
|
326
|
+
echo " config and log are optionals."
|
327
|
+
echo " Remove a Puma: $SCRIPTNAME remove /path/to/app"
|
328
|
+
echo " On a Puma: $SCRIPTNAME {start|stop|status|restart} PUMA-NAME" >&2
|
329
|
+
exit 3
|
330
|
+
;;
|
331
|
+
esac
|
332
|
+
:
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require "rob_cap_recipes/recipes/base"
|
2
2
|
require "rob_cap_recipes/recipes/nginx"
|
3
|
-
|
3
|
+
require "rob_cap_recipes/recipes/puma"
|
4
|
+
#require "rob_cap_recipes/recipes/unicorn"
|
4
5
|
require "rob_cap_recipes/recipes/nodejs"
|
5
6
|
require "rob_cap_recipes/recipes/rbenv"
|
6
7
|
require "rob_cap_recipes/recipes/check"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rob_cap_recipes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4.alpha1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robin Stridsberg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
@@ -45,9 +45,13 @@ files:
|
|
45
45
|
- lib/rob_cap_recipes/recipes/mysql.rb
|
46
46
|
- lib/rob_cap_recipes/recipes/nginx.rb
|
47
47
|
- lib/rob_cap_recipes/recipes/nodejs.rb
|
48
|
+
- lib/rob_cap_recipes/recipes/puma.rb
|
48
49
|
- lib/rob_cap_recipes/recipes/rbenv.rb
|
49
50
|
- lib/rob_cap_recipes/recipes/templates/mysql.yml.erb
|
50
51
|
- lib/rob_cap_recipes/recipes/templates/nginx.erb
|
52
|
+
- lib/rob_cap_recipes/recipes/templates/puma.rb.erb
|
53
|
+
- lib/rob_cap_recipes/recipes/templates/puma_init.erb
|
54
|
+
- lib/rob_cap_recipes/recipes/templates/puma_run.erb
|
51
55
|
- lib/rob_cap_recipes/recipes/templates/unicorn.rb.erb
|
52
56
|
- lib/rob_cap_recipes/recipes/templates/unicorn_init.erb
|
53
57
|
- lib/rob_cap_recipes/recipes/unicorn.rb
|
@@ -68,12 +72,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
68
72
|
version: '0'
|
69
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
74
|
requirements:
|
71
|
-
- - '
|
75
|
+
- - '>'
|
72
76
|
- !ruby/object:Gem::Version
|
73
|
-
version:
|
77
|
+
version: 1.3.1
|
74
78
|
requirements: []
|
75
79
|
rubyforge_project:
|
76
|
-
rubygems_version: 2.0.
|
80
|
+
rubygems_version: 2.0.6
|
77
81
|
signing_key:
|
78
82
|
specification_version: 4
|
79
83
|
summary: Adds some recipes to capistrano. Made to fit my own environment
|