monitor_page 0.1.3 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -1
- data/app/controllers/monitor_page/status_controller.rb +1 -1
- data/lib/monitor_page/engine.rb +10 -5
- data/lib/monitor_page/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 611be1f377905d73941412872c95effe32a05a4a
|
4
|
+
data.tar.gz: e0e4606e7e9ce28b9db4622262431d9230c954dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '097960b0e14a984c162298b0a9a84b2200c9edbc0b3c01f85ddc3137d44420917a8cd8b291d62101f02e16c380f27500ee69ed1c34e6f708d6b1eac920463576'
|
7
|
+
data.tar.gz: 529a0d559385d2c0e896597d90c6aaf0522b30010c558f59addb4ead743764554aae7e83bef5d38469a63315dd7edc753957550b3b5fd05358029178bf69e3c4
|
data/README.md
CHANGED
@@ -6,7 +6,9 @@ Create an initializer and setup your checks. Each check should have a `pass` and
|
|
6
6
|
|
7
7
|
```ruby
|
8
8
|
MonitorPage.configure do
|
9
|
-
|
9
|
+
# Whitelist IPs that have access to the status page. Can be a single IP or of CIDR notation.
|
10
|
+
# Optional: if left out it will be publically available
|
11
|
+
permit '1.1.1.1', '1.1.2.0/24'
|
10
12
|
|
11
13
|
check 'Sidekiq' do
|
12
14
|
if Sidekiq::Queue.all.select{ |q| q.size > 50 }.any?
|
data/lib/monitor_page/engine.rb
CHANGED
@@ -1,13 +1,12 @@
|
|
1
|
-
|
1
|
+
require "ipaddr"
|
2
2
|
|
3
|
+
module MonitorPage
|
3
4
|
class Engine < ::Rails::Engine
|
4
5
|
isolate_namespace MonitorPage
|
5
|
-
|
6
6
|
end
|
7
7
|
|
8
|
-
|
9
8
|
class << self
|
10
|
-
attr_accessor :checks, :
|
9
|
+
attr_accessor :checks, :whitelisted_ips
|
11
10
|
|
12
11
|
def checks
|
13
12
|
@checks || []
|
@@ -22,7 +21,13 @@ module MonitorPage
|
|
22
21
|
end
|
23
22
|
|
24
23
|
def permit(ips)
|
25
|
-
|
24
|
+
ip_ranges = ips.is_a?(String) ? ips.split(/,\s?/) : ips
|
25
|
+
|
26
|
+
self.whitelisted_ips = ip_ranges.map{|ip| IPAddr.new(ip) }
|
27
|
+
end
|
28
|
+
|
29
|
+
def ip_whitelisted?(request_ip)
|
30
|
+
@whitelisted_ips.inject(false){|res,ip| ip.include?(IPAddr.new(request_ip)) or res }
|
26
31
|
end
|
27
32
|
end
|
28
33
|
|
data/lib/monitor_page/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: monitor_page
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Gooley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|