teamd-installer 0.0.4 → 0.0.5

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
  SHA1:
3
- metadata.gz: 06138720597bb3648ab500c78d15d63f7039c853
4
- data.tar.gz: 41a3b471af13defaed54f5a6f5f81aa636e55338
3
+ metadata.gz: 8cd920c171bede1f620e2c50bb26bdda1fd0b466
4
+ data.tar.gz: d1fce94e865befdedad145304a6f2271d175cf00
5
5
  SHA512:
6
- metadata.gz: 6c333e02bbaf974895f350ff693f0950e032001dad452db3dc0effebb790db38e100a216283424d3b1f7a9262ff65d5abff38c8220e430b7708a1df8979ecef0
7
- data.tar.gz: 80f94321413d931729f8e4a22f131602d9079e6878ddd3c237942dd5cfb0f3b1981f02b5470a7f7b03b7532b567f87b0b0f49778d8b90849a82415167b566253
6
+ metadata.gz: ba90d8f7e64d1850965d7b854e8fa2f3556c98614538dcc005941650951969fccd7fecb5ab0ab5feb1fdf035f7ea929f6b76681d449453bf1f2d3affe0d31df9
7
+ data.tar.gz: 483a66985b78aa7ab3e3b3e45953fcb072677db007faf5b582b9b49cfd70d008a9ee974b86e72e3ce8a6adbac2659d3eebaadaf185eb26bbb1eda535ff0cb3ba
@@ -18,7 +18,7 @@ module Teamd
18
18
  @token ||= options[:etcd_discovery_id]
19
19
  @token ||= TeamdTokenProvider.token
20
20
  @token ||= EtcdTokenProvider.token
21
- @public_ipv4 ||= Interfaces.default_ipv4
21
+ @public_ipv4 ||= Interfaces.public_ipv4
22
22
  @private_ipv4 ||= Interfaces.internal_ipv4 except: ["127.0.0.1",@public_ipv4]
23
23
  @config = TemplateConfig.new
24
24
  @config.etcd_discovery_id = @token
@@ -3,6 +3,9 @@ require "socket"
3
3
  module Teamd
4
4
  module Installer
5
5
  class Interfaces
6
+ CLASS_A = /(10)(\.([2][0-5][0-5]|[1][0-9][0-9]|[1-9][0-9]|[0-9])){3}/
7
+ CLASS_B = /(172)\.(1[6-9]|2[0-9]|3[0-1])(\.([2][0-5][0-5]|[1][0-9][0-9]|[1-9][0-9]|[0-9])){2}/
8
+ CLASS_C = /(192)\.(168)(\.([2][0-5][0-5]|[1][0-9][0-9]|[1-9][0-9]|[0-9])){2}/
6
9
  class << self
7
10
  def default_ipv4
8
11
  begin
@@ -15,7 +18,19 @@ module Teamd
15
18
  Socket.do_not_reverse_lookup = orig
16
19
  end
17
20
  end
21
+ def public_ipv4
22
+ address = default_ipv4
23
+ return address unless is_private? address
24
+ nil
25
+ end
26
+ def is_private? address
27
+ return true if address =~ CLASS_A
28
+ return true if address =~ CLASS_B
29
+ return true if address =~ CLASS_C
30
+ false
31
+ end
18
32
  def internal_ipv4 except:[]
33
+ except = except.compact
19
34
  Socket.getifaddrs.select do |ia|
20
35
  ia.addr.pfamily == Socket::AF_INET
21
36
  end.collect do |ia|
@@ -1,5 +1,5 @@
1
1
  module Teamd
2
2
  module Installer
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teamd-installer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mathias Kaufmann