magic_recipes_two 0.0.70 → 0.0.71

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NmFmOTM2NGI0NjU1YTliODY3MWEyZGU1NTczNjFkOGUyYTliMDU1OQ==
5
- data.tar.gz: !binary |-
6
- MTRkMGZjYmUzYzQ2N2MyNWNhYjIxN2NmOTIxNTBiNThjMWEwNGQzMA==
2
+ SHA1:
3
+ metadata.gz: 7c912e95de0f46c1f075b76d4af7ad91c76af171
4
+ data.tar.gz: 6dc58352434de07067b11117a97434f782f45505
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NmJjNWRmMTZmZWE3ODNiYzg0MmU5ZDRjYTcwNjU5ODllMTM2YjlhZjQxNzc3
10
- MWFkYzc1Mzk2YmE2ZDM3MTE2YWE3Mzg0NzMxNWFjMjliYWQ1OTFmMWEzOTIw
11
- MzQwY2EzOWIwOGJjOTYzZTgyYjBkOWIxZmM5ZDdlZjQxNmIxNmE=
12
- data.tar.gz: !binary |-
13
- YjhjODJiMzc5MDYxYTZjMjc0Y2EwYzdiMDE1MzQ1MGQxY2U2MWE0Yjc5OWRh
14
- MmVjOGE3MjUyYzg1YjFlZjM1YTQ1MzYyNTEyMjc3MTk0NzBjYTQ1ZDNlNTIy
15
- NDA1Y2YzMDAyMzJjNTkwYTAxNTExNjE4MTIxZGQ5ZWNkZDM5ZWY=
6
+ metadata.gz: f37664f83939e3571563dbeadefd683cdbca8abb8126cd40a6818e0593ff9f04dd2425bd6bfafe18b12af412a1e26e1f798a834ae7a6c4468fa934b606664716
7
+ data.tar.gz: 4e46a600fd05cdb923311d75fccab9f72e517482ecbccefc6389ae62dd19bc3fc8352d82bd9884948bbd637f0b84ab4a68baf8089dd2765cbbc7653c3297186e
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module MagicRecipes
3
- VERSION = "0.0.70"
3
+ VERSION = "0.0.71"
4
4
  end
5
5
  end
@@ -12,8 +12,9 @@ namespace :load do
12
12
  set :monit_statefile, -> { '/var/lib/monit/state' }
13
13
  ## Status
14
14
  set :monit_active, -> { true }
15
- # set :monit_processes, -> { %w[nginx postgresql redis sidekiq thin] }
16
- set :monit_processes, -> { %w[nginx postgresql thin] }
15
+ # set :monit_processes, -> { %w[nginx postgresql redis sidekiq thin website] }
16
+ set :monit_processes, -> { %w[nginx postgresql thin website] }
17
+ set :monit_name, -> { "#{ fetch(:application) }_#{ fetch(:stage) }" }
17
18
  ## Mailer
18
19
  set :monit_mail_server, -> { "smtp.gmail.com" }
19
20
  set :monit_mail_port, -> { 587 }
@@ -42,7 +43,13 @@ namespace :load do
42
43
  set :monit_http_pemfile, -> { "/etc/monit/monit.pem" }
43
44
  set :monit_http_username, -> { "admin" }
44
45
  set :monit_http_password, -> { "monitor" }
45
- ##v Website
46
+ ## Website
47
+ set :monit_website_check_timeout, -> { 10 }
48
+ set :monit_website_check_cycles, -> { 3 }
49
+ set :monit_website_check_content, -> { false }
50
+ set :monit_website_check_path, -> { "/" }
51
+ set :monit_website_check_text, -> { "<!DOCTYPE html>" }
52
+
46
53
  end
47
54
  end
48
55
 
@@ -66,7 +73,7 @@ namespace :monit do
66
73
  # invoke "monit:redis"
67
74
  # invoke "monit:thin"
68
75
  # invoke "monit:configure_website"
69
- %w[nginx postgresql redis sidekiq thin].each do |command|
76
+ %w[nginx postgresql redis sidekiq thin website].each do |command|
70
77
  invoke "monit:configure_#{command}" if Array(fetch(:monit_processes)).include?(command)
71
78
  end
72
79
  end
@@ -124,6 +131,16 @@ namespace :monit do
124
131
 
125
132
  end
126
133
 
134
+
135
+ desc "Upload Monit website config file (app specific)"
136
+ task "configure_website" do
137
+ if Array(fetch(:monit_processes)).include?("website")
138
+ on release_roles fetch(:nginx_roles, :web) do |role|
139
+ monit_config "website", "/etc/monit/conf.d/#{fetch(:application)}_#{fetch(:stage)}_website.conf", role
140
+ end
141
+ end
142
+ end
143
+
127
144
 
128
145
  %w[start stop restart syntax reload].each do |command|
129
146
  desc "Run Monit #{command} script"
@@ -60,7 +60,7 @@ set httpd port <%= fetch(:monit_http_port) %>
60
60
  allow <%= fetch(:monit_http_username) %>:<%= fetch(:monit_http_password) %>
61
61
  <% end %>
62
62
 
63
- check system <%= fetch(:application) %>_server
63
+ check system <%= fetch(:monit_name, "#{ fetch(:application) }_server") %>
64
64
  if loadavg(5min) > 2 for 2 cycles then alert
65
65
  if memory > 75% for 2 cycles then alert
66
66
  if cpu(user) > 75% for 2 cycles then alert
@@ -1,9 +1,29 @@
1
+ <% if fetch(:nginx_major_domain, false) %>
2
+ <% domain_list = [fetch(:nginx_major_domain, "").to_s.gsub(/^\*?\./, "")] %>
3
+ <% else %>
4
+ <% domain_list = [] %>
5
+ <% Array(fetch(:nginx_domains)).each do |domain| %>
6
+ <% domain_list << domain.gsub(/^\*?\./, "") %>
7
+ <% end %>
8
+ <% end %>
1
9
  # Check domains on port 80 <%= "(and 443 if ssl is on)" if fetch(:nginx_use_ssl) %> for <%= fetch(:application) %> [<%= fetch(:stage) %>]
2
- <% Array(fetch(:nginx_domains)).each do |domain| %>
3
- <% domain = domain.gsub(/^\*?\./, "") %>
4
- check host <%= domain %> with address <%= fetch(:app_server_ip) %>
5
- if failed port 80 protocol http then alert
6
- # <% if fetch(:nginx_use_ssl) %>if failed port 443 type TCPSSL protocol http then alert<% end %>
7
-
8
-
10
+ <% domain_list.uniq.each do |domain| %>
11
+ check host <%= domain %> with address <%= domain %>
12
+ if failed
13
+ <% if fetch(:nginx_use_ssl) %>
14
+ port 443
15
+ type TCPSSL
16
+ protocol https
17
+ <% else %>
18
+ port 80
19
+ protocol http
20
+ <% end %>
21
+ <% if fetch(:monit_website_check_content, false) %>
22
+ request "<%= fetch(:monit_website_check_path, '/') %>"
23
+ content = "<%= fetch(:monit_website_check_text, '<!DOCTYPE html>') %>"
24
+ <% end %>
25
+ # status = 200
26
+ with timeout <%= fetch(:monit_website_check_timeout, 10) %> seconds
27
+ for <%= fetch(:monit_website_check_cycles, 3) %> cycles
28
+ then alert
9
29
  <% end %>
metadata CHANGED
@@ -1,139 +1,139 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magic_recipes_two
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.70
4
+ version: 0.0.71
5
5
  platform: ruby
6
6
  authors:
7
7
  - Torsten Wetzel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-04 00:00:00.000000000 Z
11
+ date: 2017-10-11 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.4.0
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.4.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: capistrano-rvm
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: 0.1.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: 0.1.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: capistrano-postgresql
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ! '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '4.2'
104
104
  type: :runtime
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: '4.2'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: yaml_db
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ! '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: sqlite3
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ! '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ! '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  description: MagicRecipesTwo contains our most used deployment recipes for Capistrano-3.
@@ -204,17 +204,17 @@ require_paths:
204
204
  - lib
205
205
  required_ruby_version: !ruby/object:Gem::Requirement
206
206
  requirements:
207
- - - ! '>='
207
+ - - ">="
208
208
  - !ruby/object:Gem::Version
209
209
  version: '0'
210
210
  required_rubygems_version: !ruby/object:Gem::Requirement
211
211
  requirements:
212
- - - ! '>='
212
+ - - ">="
213
213
  - !ruby/object:Gem::Version
214
214
  version: '0'
215
215
  requirements: []
216
216
  rubyforge_project:
217
- rubygems_version: 2.4.8
217
+ rubygems_version: 2.6.11
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: Some recipes for rails-4 and capistrano-3.