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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63908a2f06a29f54f7829069c4f78efdc2d9c8be
4
- data.tar.gz: 6b2262c8a79ed8852e13ef75fc72c5e602b9bdf4
3
+ metadata.gz: 59dafa8edafa120f5a4439ff1e5d9a2130d27c6a
4
+ data.tar.gz: 5e27c2c8b1b6bd28706b24f4843f84b39517d9b3
5
5
  SHA512:
6
- metadata.gz: c61290bfb43325f1f38687b218fda4c953aed2c3014b12bb7f71268b5e6f5d5527170b2a52e1d6f590c49204e53a6971cba1195a9ee06fa40012327ee66b52e0
7
- data.tar.gz: 03de8f594964a343b4ae54ac7efaf098a87bac00edc0e167e9c74f742b8a4e31bbff0b132bf6992013ed0b20d540798f5fbd50fe7941d54140576f8f19958b3e
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
@@ -1,5 +1,5 @@
1
1
  upstream nginx.<%= host_header %> {
2
- server unix:/tmp/nginx.<%= application %>.sock fail_timeout=0;
2
+ server <%= "unix://#{puma_socket}" %> fail_timeout=0;
3
3
  }
4
4
 
5
5
  server {
@@ -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
+ :
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ app=$1; config=$2; log=$3;
3
+ source ${HOME}/.bashrc
4
+ cd $app && exec bundle exec puma -C $config 2>&1 >> $log
@@ -1,6 +1,7 @@
1
1
  require "rob_cap_recipes/recipes/base"
2
2
  require "rob_cap_recipes/recipes/nginx"
3
- # require "rob_cap_recipes/recipes/unicorn"
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"
@@ -1,3 +1,3 @@
1
1
  module RobCapRecipes
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4.alpha1"
3
3
  end
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.3
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-07-28 00:00:00.000000000 Z
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: '0'
77
+ version: 1.3.1
74
78
  requirements: []
75
79
  rubyforge_project:
76
- rubygems_version: 2.0.3
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