Module: Pygmy::ResolvOsx
- Defined in:
- lib/pygmy/resolv_osx.rb
Class Method Summary collapse
- .clean? ⇒ Boolean
- .create_resolver? ⇒ Boolean
- .resolver_contents ⇒ Object
- .resolver_dir ⇒ Object
- .resolver_file ⇒ Object
- .resolver_file_contents ⇒ Object
- .resolver_file_exists? ⇒ Boolean
- .system!(step, *args) ⇒ Object
Class Method Details
.clean? ⇒ Boolean
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/pygmy/resolv_osx.rb', line 30 def self.clean? puts "Removing resolver file and loopback alias IP, this may require sudo".green begin self.system!("removing resolverfile", "sudo", "rm", "-f", self.resolver_file) self.system!("removing loopback IP alias 172.16.172.16", "sudo", "ifconfig", "lo0", "-alias", "172.16.172.16") system!("restarting mDNSResponder", "sudo", "killall", "mDNSResponder") rescue Exception => e puts e. end end |
.create_resolver? ⇒ Boolean
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/pygmy/resolv_osx.rb', line 15 def self.create_resolver? puts "setting up DNS resolution and loopback alias IP, this may require sudo".green unless self.resolver_dir.directory? self.system!("creating #{self.resolver_dir}", "sudo", "mkdir", "-p", self.resolver_dir) end Tempfile.open('amazeeio_pygmy-dnsmasq') do |f| f.write(self.resolver_contents) f.close self.system!("creating #{self.resolver_file}", "sudo", "cp", f.path, self.resolver_file) self.system!("creating #{self.resolver_file}", "sudo", "chmod", "644", self.resolver_file) end self.system!("creating loopback IP alias 172.16.172.16", "sudo", "ifconfig", "lo0", "alias", "172.16.172.16") self.system!("restarting mDNSResponder", "sudo", "killall", "mDNSResponder") end |
.resolver_contents ⇒ Object
45 46 47 48 49 50 |
# File 'lib/pygmy/resolv_osx.rb', line 45 def self.resolver_contents; " # Generated by amazeeio pygmy\n nameserver 127.0.0.1\n port 6053\n EOS\nend\n".gsub(/^ /, '') |
.resolver_dir ⇒ Object
7 8 9 |
# File 'lib/pygmy/resolv_osx.rb', line 7 def self.resolver_dir Pathname("/etc/resolver") end |
.resolver_file ⇒ Object
11 12 13 |
# File 'lib/pygmy/resolv_osx.rb', line 11 def self.resolver_file "/etc/resolver/docker.amazee.io" end |
.resolver_file_contents ⇒ Object
52 53 54 |
# File 'lib/pygmy/resolv_osx.rb', line 52 def self.resolver_file_contents File.read(self.resolver_file) unless !File.file?(self.resolver_file) end |
.resolver_file_exists? ⇒ Boolean
56 57 58 |
# File 'lib/pygmy/resolv_osx.rb', line 56 def self.resolver_file_exists? (self.resolver_file_contents == self.resolver_contents) end |
.system!(step, *args) ⇒ Object
41 42 43 |
# File 'lib/pygmy/resolv_osx.rb', line 41 def self.system!(step, *args) system(*args.map(&:to_s)) || raise("Error with the #{name} daemon during #{step}") end |