philae 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a72261c385f330a6ca14c7ddaccd3774aa4e0e0918eb754bf757ccf16627b0db
4
- data.tar.gz: f38b28573ee5829bcd41c9a772c074c43dff746a44b18842aab6c4cd7059bc21
3
+ metadata.gz: 30d73e3e0425c11acc1fb1f03291b6d922b9141b077d5df15c82fd1bb654be9a
4
+ data.tar.gz: f2296b07a57836132bc39c34de390d54a19cf91b31fe91420629fac920ff1a5b
5
5
  SHA512:
6
- metadata.gz: 270fd5405071f9f12369bafe35693eda220a29180107ae32c5e4aeb0ac16f8d34ad3e069c5f886695b84707512a84054fa51e94fcbfce1bcb904df85f9c78e3c
7
- data.tar.gz: 80543e2c7e06be18b3569c50ba373fe5c071d290f1f7ad51ba65af41033c32b62f324b05cffdadd230f8f87ca342888e61218cb1df3d5dd58ff70377a5d66827
6
+ metadata.gz: 80374b372327ad433cfe231df3cba1e555af3225b4bc0747c66fa304885f08242058666a8d7853e64751666d15cd419d2d72a805ca8a71be1b32779f532de46e
7
+ data.tar.gz: 68507be35885a378a305df2172a718c331e8b51b1bd7b2b5630228d10a4d1cc21ddb82c5eb28b4e59f167fea9d8847905140b0c566f065ef5b26597f1d10efe6
@@ -11,12 +11,13 @@ module Philae
11
11
  # key: "path/to/key",
12
12
  # ca: "path/to/ca"
13
13
  # }
14
- def initialize(name, uri, username = nil, password = nil, tls_context = nil)
14
+ def initialize(name, uri, username = nil, password = nil, tls_context = nil, timeout = nil)
15
15
  @name = name
16
16
  @uri = uri
17
17
  @username = username
18
18
  @password = password
19
19
  @tls_context = tls_context
20
+ @timeout = timeout
20
21
  end
21
22
 
22
23
  def check
@@ -32,6 +33,14 @@ module Philae
32
33
  http.verify_mode = OpenSSL::SSL::VERIFY_PEER
33
34
  end
34
35
  end
36
+
37
+ if !@timeout.nil?
38
+ http.read_timeout = @timeout
39
+ http.open_timeout = @timeout
40
+ http.write_timeout = @timeout
41
+ http.ssl_timeout = @timeout
42
+ end
43
+
35
44
  req = Net::HTTP::Get.new(uri)
36
45
  req.basic_auth @username, @password if !@username.nil? || !@password.nil?
37
46
  resp = http.start do |httpconn|
@@ -7,7 +7,7 @@ module Philae
7
7
 
8
8
  attr_reader :name, :nsq_probes
9
9
 
10
- def self.new_from_env(name)
10
+ def self.new_from_env(name, opts = {})
11
11
  if ENV['NSQD_HOSTS'].nil? || ENV['NSQD_HTTP_PORT'].nil?
12
12
  raise ArgumentError, 'no NSQD_HOSTS and NSQD_HTTP_PORT defined'
13
13
  end
@@ -25,17 +25,17 @@ module Philae
25
25
  host.split(':')[0] + ":#{ENV['NSQD_HTTP_PORT']}"
26
26
  end
27
27
 
28
- new(name, http_hosts, tls_context)
28
+ new(name, http_hosts, tls_context, opts)
29
29
  end
30
30
 
31
- def initialize(name, hosts, tls_context = nil)
31
+ def initialize(name, hosts, tls_context = nil, opts = {})
32
32
  raise ArgumentError, 'should have at least one host' if hosts.nil? || hosts.empty?
33
33
 
34
34
  @name = name
35
35
  @nsq_probes = hosts.map do |hostport|
36
36
  host, port = hostport.split(':')
37
37
  port = DEFAULT_HTTP_PORT if port.nil?
38
- next Philae::NSQProbe.new("#{name}-#{host}-#{port}", host, port, tls_context)
38
+ next Philae::NSQProbe.new("#{name}-#{host}-#{port}", host, port, tls_context, opts)
39
39
  end
40
40
  end
41
41
 
@@ -2,19 +2,19 @@ require File.join File.dirname(__FILE__), 'http_probe.rb'
2
2
 
3
3
  module Philae
4
4
  class NSQProbe < HttpProbe
5
- def self.new_from_env(name)
5
+ def self.new_from_env(name, opts = {})
6
6
  if ENV["NSQD_TLS"] == "true"
7
7
  return self.new(name, ENV["NSQD_HOST"], ENV["NSQD_HTTP_PORT"], {
8
8
  cert: ENV["NSQD_TLS_CERT"],
9
9
  key: ENV["NSQD_TLS_KEY"],
10
10
  ca: ENV["NSQD_TLS_CACERT"],
11
- })
11
+ }, opts)
12
12
  else
13
13
  return self.new(name, ENV["NSQD_HOST"], ENV["NSQD_HTTP_PORT"])
14
14
  end
15
15
  end
16
16
 
17
- def initialize(name, host, port = 4151, tls_context = nil)
17
+ def initialize(name, host, port = 4151, tls_context = nil, opts = {})
18
18
  @name = name
19
19
  scheme = "http"
20
20
  if !tls_context.nil?
@@ -22,6 +22,7 @@ module Philae
22
22
  end
23
23
  @uri = "#{scheme}://#{host}:#{port}/ping"
24
24
  @tls_context = tls_context
25
+ @timeout = opts.fetch(:timeout, 5)
25
26
  end
26
27
  end
27
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: philae
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - leo@scalingo.com
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-10-24 00:00:00.000000000 Z
13
+ date: 2021-08-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: docker-api
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  - !ruby/object:Gem::Version
121
121
  version: '0'
122
122
  requirements: []
123
- rubygems_version: 3.0.3
123
+ rubygems_version: 3.1.4
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Provide an health check API