magic_recipes_two 0.0.17 → 0.0.18
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,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZmRjOTQyNzkwYmQyYmY3YTM1MGRjYWIxNzI0NmRmNjcwNTk3Yzg2MQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0cfe32634c619b16b956e5834a1dc55e92884fcc
|
4
|
+
data.tar.gz: 612a92fbc119c1e0a34364e90359ace9891c593a
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
OGM2NzFmYmU3ZGZkY2EyYmRlNWZiYTE2NzZkN2ZjYjk3NGUyNTU2MWVkZjEw
|
11
|
-
MTZiYzg1M2IxZTE1NjA2NDU2NzYwMTYxOTQ2OGViYTEyNGVhNDY=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NjI0YWIyZmRiOTViYTUzNmY5NjhiYTI5NDhiYTNkM2U5ZmM5YjVhOWNhMDY4
|
14
|
-
OGE5NjY4OGFjN2U1M2RmOTVkZjdiNjlkNzU1OGRiZjRjZGQ3ODQ1YmU0M2Rj
|
15
|
-
MGRlYmRmMmQwYjBlMDE5NGM1ZGMzYzAyZTg4NDUyY2U0MTI3NDI=
|
6
|
+
metadata.gz: d5e9d6e2ff202c97130665610cd8cca8fe04b957c6d6854e87c11f37e1ef657f911ed0dc4661f616fd66a2ed997f66e66ba481ac0de5c258c382cc88844570e1
|
7
|
+
data.tar.gz: 786e03fafa10c2f9a77db94ad15db46d756e58448f0f85e1cbccf1a76ea9e053f2ef66b397bfc2e7d41038d2c6883eaa5f173165de67355064c443e43f7c384c
|
@@ -4,23 +4,46 @@ include Capistrano::MagicRecipes::BaseHelpers
|
|
4
4
|
|
5
5
|
namespace :load do
|
6
6
|
task :defaults do
|
7
|
-
set :nginx_domains,
|
8
|
-
set :
|
9
|
-
set :
|
10
|
-
set :
|
11
|
-
set :
|
12
|
-
set :
|
13
|
-
set :
|
14
|
-
set :
|
15
|
-
set :
|
16
|
-
set :
|
17
|
-
set :
|
18
|
-
set :
|
19
|
-
set :
|
20
|
-
set :
|
21
|
-
set :
|
7
|
+
set :nginx_domains, -> { [] }
|
8
|
+
set :nginx_major_domain, -> { false }
|
9
|
+
set :nginx_remove_www, -> { true }
|
10
|
+
set :default_site, -> { false }
|
11
|
+
set :app_instances, -> { 1 }
|
12
|
+
set :nginx_service_path, -> { 'service nginx' }
|
13
|
+
set :nginx_roles, -> { :web }
|
14
|
+
set :nginx_log_path, -> { "#{shared_path}/log" }
|
15
|
+
set :nginx_root_path, -> { "/etc/nginx" }
|
16
|
+
set :nginx_static_dir, -> { "public" }
|
17
|
+
set :nginx_sites_enabled, -> { "sites-enabled" }
|
18
|
+
set :nginx_sites_available, -> { "sites-available" }
|
19
|
+
set :nginx_template, -> { :default }
|
20
|
+
set :nginx_use_ssl, -> { false }
|
21
|
+
set :nginx_ssl_certificate, -> { "#{fetch(:application)}.crt" }
|
22
|
+
set :nginx_ssl_certificate_path, -> { '/etc/ssl/certs' }
|
23
|
+
set :nginx_ssl_certificate_key, -> { "#{fetch(:application)}.crt" }
|
22
24
|
set :nginx_ssl_certificate_key_path, -> { '/etc/ssl/private' }
|
23
|
-
set :app_server_ip,
|
25
|
+
set :app_server_ip, -> { "127.0.0.1" }
|
26
|
+
## NginX Proxy-Caching
|
27
|
+
# Cache Rails
|
28
|
+
set :proxy_cache_rails, -> { false }
|
29
|
+
set :proxy_cache_rails_directory, -> { "#{shared_path}/tmp/proxy_cache/rails" }
|
30
|
+
set :proxy_cache_rails_levels, -> { "1:2" }
|
31
|
+
set :proxy_cache_rails_name, -> { "RAILS_#{fetch(:application)}_#{fetch(:stage)}_CACHE" }
|
32
|
+
set :proxy_cache_rails_size, -> { "4m" }
|
33
|
+
set :proxy_cache_rails_time, -> { "24h" }
|
34
|
+
set :proxy_cache_rails_max, -> { "1g" }
|
35
|
+
set :proxy_cache_rails_200, -> { false }
|
36
|
+
set :proxy_cache_rails_404, -> { "60m" }
|
37
|
+
set :proxy_cache_rails_stale, -> { ["error", "timeout", "invalid_header", "updating"] }
|
38
|
+
# Cache Media (Dragonfly)
|
39
|
+
set :proxy_cache_media, -> { false }
|
40
|
+
set :proxy_cache_media_path, -> { "media" }
|
41
|
+
set :proxy_cache_media_directory, -> { "#{shared_path}/tmp/proxy_cache/media" }
|
42
|
+
set :proxy_cache_media_levels, -> { "1:2" }
|
43
|
+
set :proxy_cache_media_name, -> { "MEDIA_#{fetch(:application)}_#{fetch(:stage)}_CACHE" }
|
44
|
+
set :proxy_cache_media_size, -> { "2m" }
|
45
|
+
set :proxy_cache_media_time, -> { "48h" }
|
46
|
+
set :proxy_cache_media_max, -> { "1g" }
|
24
47
|
end
|
25
48
|
end
|
26
49
|
|
@@ -47,6 +70,8 @@ namespace :nginx do
|
|
47
70
|
after 'deploy:check', nil do
|
48
71
|
on release_roles fetch(:nginx_roles) do
|
49
72
|
execute :mkdir, '-pv', fetch(:nginx_log_path)
|
73
|
+
execute :mkdir, '-pv', fetch(:proxy_cache_rails_path) if fetch(:proxy_cache_rails)
|
74
|
+
execute :mkdir, '-pv', fetch(:proxy_cache_media_path) if fetch(:proxy_cache_media)
|
50
75
|
end
|
51
76
|
end
|
52
77
|
|
@@ -1,24 +1,48 @@
|
|
1
|
+
###
|
2
|
+
### HTTP-Config generated with magic_recipes_two at: <%= Time.now.strftime("%Y-%m-%d .. %H:%M .. %Z") %>
|
3
|
+
###
|
4
|
+
<% joiner = "\n " %>
|
1
5
|
upstream thin_<%= fetch(:application) %>_<%= fetch(:stage) %>_cluster {
|
2
6
|
<% fetch(:app_instances).to_i.times do |i| %>
|
3
|
-
server
|
7
|
+
server unix:/tmp/thin.<%= fetch(:application) %>.<%= fetch(:stage) %>.<%= i %>.sock
|
8
|
+
max_fails=1
|
9
|
+
fail_timeout=15s;
|
4
10
|
<% end %>
|
5
11
|
}
|
6
12
|
|
13
|
+
<% if fetch(:proxy_cache_rails) %>
|
14
|
+
# Proxy-Caching - Rails - Sites
|
15
|
+
proxy_cache_path <%= fetch(:proxy_cache_rails_directory) %>
|
16
|
+
levels=<%= fetch(:proxy_cache_rails_levels) %>
|
17
|
+
keys_zone=<%= fetch(:proxy_cache_rails_name) %>:<%= fetch(:proxy_cache_rails_size) %>
|
18
|
+
inactive=<%= fetch(:proxy_cache_rails_keep) %>
|
19
|
+
max_size=<%= fetch(:proxy_cache_rails_max) %>;
|
20
|
+
|
21
|
+
<% end %><% if fetch(:proxy_cache_media) %>
|
22
|
+
# Proxy-Caching - Media (Dragonfly) - Files
|
23
|
+
proxy_cache_path <%= fetch(:proxy_cache_media_directory) %>
|
24
|
+
levels=<%= fetch(:proxy_cache_media_levels) %>
|
25
|
+
keys_zone=<%= fetch(:proxy_cache_media_name) %>:<%= fetch(:proxy_cache_media_size) %>
|
26
|
+
inactive=<%= fetch(:proxy_cache_media_keep) %>
|
27
|
+
max_size=<%= fetch(:proxy_cache_media_max) %>;
|
28
|
+
|
29
|
+
<% end %>
|
30
|
+
|
7
31
|
# HTTP Server
|
8
32
|
<% if fetch(:nginx_use_ssl) %>
|
9
33
|
<% if fetch(:nginx_major_domain) %>
|
10
34
|
server {
|
11
|
-
listen
|
12
|
-
server_name
|
13
|
-
|
35
|
+
listen 80<%= ' default_server' if fetch(:default_site) %>;
|
36
|
+
server_name <%= Array(fetch(:nginx_domains)).map{ |d| d.gsub(/^\*?\./, "") }.join(joiner) %>
|
37
|
+
<%= ".#{fetch(:nginx_major_domain).gsub(/^\*?\./, "")}" %>;
|
14
38
|
|
15
39
|
# return 301 https://<%= fetch(:nginx_major_domain).gsub(/^\*?\./, "") %>$request_uri;
|
16
40
|
|
17
41
|
location ^~ /assets/ico/ {
|
18
|
-
root
|
19
|
-
gzip_static
|
20
|
-
expires
|
21
|
-
add_header
|
42
|
+
root <%= current_path %>/public;
|
43
|
+
gzip_static on;
|
44
|
+
expires max;
|
45
|
+
add_header Cache-Control public;
|
22
46
|
}
|
23
47
|
location / {
|
24
48
|
return 301 https://<%= fetch(:nginx_major_domain).gsub(/^\*?\./, "") %>$request_uri;
|
@@ -27,17 +51,17 @@ server {
|
|
27
51
|
}
|
28
52
|
server {
|
29
53
|
listen 80;
|
30
|
-
server_name
|
31
|
-
|
32
|
-
|
54
|
+
server_name <%= Array(fetch(:nginx_domains)).map{ |d| "~^(?<sub>\w+)#{ Regexp.escape( ".#{d.gsub(/^\*?\./, "")}" ) }" }.join(joiner) %>
|
55
|
+
<%= "~^#{Regexp.escape("www.")}(?<sub>\w+)#{ Regexp.escape( ".#{fetch(:nginx_major_domain).gsub(/^\*?\./, "")}" ) }" %>
|
56
|
+
<%= "~^(?<sub>\w+)#{ Regexp.escape( ".#{fetch(:nginx_major_domain).gsub(/^\*?\./, "")}" ) }" %>;
|
33
57
|
|
34
58
|
# return 301 https://$sub.<%= fetch(:nginx_major_domain).gsub(/^\*?\./, "") %>$request_uri;
|
35
59
|
|
36
60
|
location ^~ /assets/ico/ {
|
37
|
-
root
|
38
|
-
gzip_static
|
39
|
-
expires
|
40
|
-
add_header
|
61
|
+
root <%= current_path %>/public;
|
62
|
+
gzip_static on;
|
63
|
+
expires max;
|
64
|
+
add_header Cache-Control public;
|
41
65
|
}
|
42
66
|
location / {
|
43
67
|
return 301 https://$sub.<%= fetch(:nginx_major_domain).gsub(/^\*?\./, "") %>$request_uri;
|
@@ -46,15 +70,15 @@ server {
|
|
46
70
|
}
|
47
71
|
<% else %>
|
48
72
|
server {
|
49
|
-
listen
|
50
|
-
server_name
|
73
|
+
listen 80;
|
74
|
+
server_name <%= Array(fetch(:nginx_domains)).map{ |d| d[0] == "." ? d : ".#{d}"}.join(joiner) %>;
|
51
75
|
# return 301 https://$host$request_uri;
|
52
76
|
|
53
77
|
location ^~ /assets/ico/ {
|
54
|
-
root
|
55
|
-
gzip_static
|
56
|
-
expires
|
57
|
-
add_header
|
78
|
+
root <%= current_path %>/public;
|
79
|
+
gzip_static on;
|
80
|
+
expires max;
|
81
|
+
add_header Cache-Control public;
|
58
82
|
}
|
59
83
|
location / {
|
60
84
|
return 301 https://$host$request_uri;
|
@@ -68,60 +92,68 @@ server {
|
|
68
92
|
<% if fetch(:nginx_use_ssl) %>
|
69
93
|
# ssl-domain
|
70
94
|
server {
|
71
|
-
listen
|
72
|
-
server_name
|
95
|
+
listen 443;
|
96
|
+
server_name <%= Array(fetch(:nginx_domains)).map{ |d| d.gsub(/^\*?\./, "") }.join(joiner) %>;
|
73
97
|
return 301 https://<%= fetch(:nginx_major_domain).gsub(/^\*?\./, "") %>$request_uri;
|
74
98
|
ssl on;
|
75
|
-
ssl_certificate
|
76
|
-
ssl_certificate_key
|
99
|
+
ssl_certificate <%= fetch(:nginx_ssl_certificate_path) %>/<%= fetch(:nginx_old_ssl_certificate) %>;
|
100
|
+
ssl_certificate_key <%= fetch(:nginx_ssl_certificate_key_path) %>/<%= fetch(:nginx_old_ssl_certificate_key) %>;
|
77
101
|
}
|
78
102
|
# ssl-with-subdomain
|
79
103
|
server {
|
80
|
-
listen
|
81
|
-
server_name
|
104
|
+
listen 443;
|
105
|
+
server_name <%= Array(fetch(:nginx_domains)).map{ |d| "~^(?<sub>\w+)\.#{ Regexp.escape( d.gsub(/^\*?\./, "") ) }" }.join(joiner) %>;
|
82
106
|
return 301 https://$sub.<%= fetch(:nginx_major_domain).gsub(/^\*?\./, "") %>$request_uri;
|
83
107
|
ssl on;
|
84
|
-
ssl_certificate
|
85
|
-
ssl_certificate_key
|
108
|
+
ssl_certificate <%= fetch(:nginx_ssl_certificate_path) %>/<%= fetch(:nginx_old_ssl_certificate) %>;
|
109
|
+
ssl_certificate_key <%= fetch(:nginx_ssl_certificate_key_path) %>/<%= fetch(:nginx_old_ssl_certificate_key) %>;
|
86
110
|
}
|
87
111
|
<% else %>
|
88
112
|
server {
|
89
|
-
listen
|
90
|
-
server_name
|
113
|
+
listen 80;
|
114
|
+
server_name
|
115
|
+
|
116
|
+
<%= Array(fetch(:nginx_domains)).map{ |d| d.gsub(/^\*?\./, "") }.join(joiner) %>;
|
91
117
|
return 301 http://<%= fetch(:nginx_major_domain).gsub(/^\*?\./, "") %>$request_uri;
|
92
118
|
}
|
93
119
|
server {
|
94
|
-
listen
|
95
|
-
server_name
|
120
|
+
listen 80;
|
121
|
+
server_name <%= Array(fetch(:nginx_domains)).map{ |d| "~^(?<sub>\w+)\.#{ Regexp.escape( d.gsub(/^\*?\./, "") ) }" }.join(joiner) %>;
|
96
122
|
return 301 http://$sub.<%= fetch(:nginx_major_domain).gsub(/^\*?\./, "") %>$request_uri;
|
97
123
|
}
|
98
124
|
<% end %>
|
99
125
|
<% end %>
|
100
126
|
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
101
131
|
server {
|
102
132
|
<% if fetch(:nginx_use_ssl) %>
|
103
|
-
listen
|
104
|
-
ssl
|
105
|
-
ssl_certificate
|
106
|
-
ssl_certificate_key
|
133
|
+
listen 443<%= ' default_server ssl' if fetch(:default_site) %>;
|
134
|
+
ssl on;
|
135
|
+
ssl_certificate <%= fetch(:nginx_ssl_certificate_path) %>/<%= fetch(:nginx_ssl_certificate) %>;
|
136
|
+
ssl_certificate_key <%= fetch(:nginx_ssl_certificate_key_path) %>/<%= fetch(:nginx_ssl_certificate_key) %>;
|
107
137
|
<% else %>
|
108
|
-
listen
|
138
|
+
listen 80<%= ' default deferred' if fetch(:default_site) %>;
|
109
139
|
<% end %>
|
110
140
|
<% if fetch(:nginx_major_domain) %>
|
111
|
-
server_name
|
141
|
+
server_name <%= ".#{fetch(:nginx_major_domain).gsub(/^\*?\./, "")}" %>;
|
112
142
|
<% else %>
|
113
|
-
server_name
|
143
|
+
server_name <%= Array( fetch(:nginx_domains) ).join(joiner) %>;
|
114
144
|
<% end %>
|
115
145
|
|
146
|
+
<% if fetch(:nginx_remove_www) %>
|
116
147
|
if ($host ~* ^www\.(.*)) {
|
117
148
|
set $host_without_www $1;
|
118
149
|
rewrite ^(.*) http://$host_without_www$1 permanent;
|
119
150
|
}
|
151
|
+
<% end %>
|
120
152
|
|
121
|
-
root
|
153
|
+
root <%= current_path %>/public;
|
122
154
|
|
123
|
-
access_log
|
124
|
-
error_log
|
155
|
+
access_log <%= fetch(:nginx_log_path) %>/nginx-access.log;
|
156
|
+
error_log <%= fetch(:nginx_log_path) %>/nginx-error.log;
|
125
157
|
|
126
158
|
error_page 404 /404.html;
|
127
159
|
location /404.html { root <%= fetch(:deploy_to) %>/current/<%= fetch(:nginx_static_dir) %>; }
|
@@ -129,26 +161,51 @@ server {
|
|
129
161
|
error_page 500 502 503 504 /500.html;
|
130
162
|
location /500.html { root <%= fetch (:deploy_to) %>/current/<%= fetch(:nginx_static_dir) %>; }
|
131
163
|
|
132
|
-
client_max_body_size
|
133
|
-
keepalive_timeout
|
164
|
+
client_max_body_size 4G;
|
165
|
+
keepalive_timeout 10;
|
134
166
|
|
135
167
|
location ^~ /assets/ {
|
136
|
-
gzip_static
|
137
|
-
expires
|
138
|
-
add_header
|
168
|
+
gzip_static on;
|
169
|
+
expires max;
|
170
|
+
add_header Cache-Control public;
|
139
171
|
}
|
140
172
|
|
173
|
+
<% if fetch(:proxy_cache_media) %>
|
174
|
+
# Media-Path with NginX-Proxy-Cache
|
175
|
+
location ^~ /<%= fetch(:proxy_cache_media_path) %>/ {
|
176
|
+
auth_basic off;
|
177
|
+
proxy_cache <%= fetch(:proxy_cache_media_name) %>;
|
178
|
+
proxy_cache_lock on;
|
179
|
+
add_header X-Cache-Status $upstream_cache_status;
|
180
|
+
proxy_cache_bypass $http_bypass_proxy;
|
181
|
+
proxy_pass $scheme://thin_<%= fetch(:application) %>_<%= fetch(:stage) %>_cluster;
|
182
|
+
}
|
183
|
+
<% end %>
|
184
|
+
|
141
185
|
try_files $uri/index.html $uri @thin_<%= fetch(:application) %>_<%= fetch(:stage) %>;
|
142
186
|
|
143
187
|
location @thin_<%= fetch(:application) %>_<%= fetch(:stage) %> {
|
144
|
-
|
145
|
-
proxy_set_header
|
146
|
-
proxy_set_header
|
147
|
-
proxy_set_header
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
188
|
+
# rewrite Headers for correct behavior
|
189
|
+
proxy_set_header X-Real-IP $remote_addr;
|
190
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
191
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
192
|
+
proxy_set_header Host $host:$server_port;
|
193
|
+
proxy_redirect off;
|
194
|
+
<% if fetch(:proxy_cache_rails) %>
|
195
|
+
# cache rails actions (need public header)
|
196
|
+
proxy_cache <%= fetch(:proxy_cache_rails_name) %>;
|
197
|
+
proxy_cache_lock on;
|
198
|
+
<% if fetch(:proxy_cache_rails_200) %>
|
199
|
+
proxy_cache_valid 200 302 <%= fetch(:proxy_cache_rails_200) %>;
|
200
|
+
<% end %>
|
201
|
+
<% if fetch(:proxy_cache_rails_404) %>
|
202
|
+
proxy_cache_valid 404 <%= fetch(:proxy_cache_rails_404) %>;
|
203
|
+
<% end %>
|
204
|
+
proxy_cache_use_stale <%= Array( fetch(:proxy_cache_rails_stale) ).join(" ") %>;
|
205
|
+
proxy_cache_bypass $http_bypass_proxy;
|
206
|
+
add_header X-Cache-Status $upstream_cache_status;
|
207
|
+
<% end %>
|
208
|
+
# pass request to thin upstream
|
209
|
+
proxy_pass http://thin_<%= fetch(:application) %>_<%= fetch(:stage) %>_cluster;
|
153
210
|
}
|
154
211
|
}
|
metadata
CHANGED
@@ -1,111 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magic_recipes_two
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Torsten Wetzel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: capistrano
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '3.2'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: capistrano-bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.1'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: capistrano-rails
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.1'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.1'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rvm1-capistrano3
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '1.2'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.2'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: capistrano-postgresql
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '4.2'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '4.2'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: sqlite3
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
description: MagicRecipesTwo contains our most used deployment recipes for Capistrano-3.
|
@@ -165,17 +165,17 @@ require_paths:
|
|
165
165
|
- lib
|
166
166
|
required_ruby_version: !ruby/object:Gem::Requirement
|
167
167
|
requirements:
|
168
|
-
- -
|
168
|
+
- - ">="
|
169
169
|
- !ruby/object:Gem::Version
|
170
170
|
version: '0'
|
171
171
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
172
|
requirements:
|
173
|
-
- -
|
173
|
+
- - ">="
|
174
174
|
- !ruby/object:Gem::Version
|
175
175
|
version: '0'
|
176
176
|
requirements: []
|
177
177
|
rubyforge_project:
|
178
|
-
rubygems_version: 2.4.
|
178
|
+
rubygems_version: 2.4.5
|
179
179
|
signing_key:
|
180
180
|
specification_version: 4
|
181
181
|
summary: Some recipes for rails-4 and capistrano-3.
|