pygmy 0.9.4 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/pygmy +22 -3
- data/lib/pygmy/docker_service.rb +10 -0
- data/lib/pygmy/resolv_osx.rb +5 -1
- data/lib/pygmy/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a1b8a1903a6a6c6635518fb6b6a8a9225db999c
|
4
|
+
data.tar.gz: 81beb618fec3d6955b000a5808d0df49dad002a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38cc7bdd63d1d441c3c2b074e91bb8ff791d75a07a4be801938a375729652e836ebfe801510a33785287fce38a929fb709aee84990fe767aaca704289d89cb26
|
7
|
+
data.tar.gz: e9b2904bde94f66c555cc38f184d5333f3ccea8697ef9f82f6158ac177577b43d7ff3f12b96e97e2dee2f96fdbab3e95780e9235b31c84dc99cb6db620f6d1be
|
data/bin/pygmy
CHANGED
@@ -8,7 +8,7 @@ require 'pygmy'
|
|
8
8
|
class PygmyBin < Thor
|
9
9
|
class_option :verbose, type: :boolean, aliases: '-v', default: false
|
10
10
|
|
11
|
-
desc 'up', 'Bring up pygmy services (dnsmasq, resolv, ssh-agent)'
|
11
|
+
desc 'up', 'Bring up pygmy services (dnsmasq, haproxt, resolv, ssh-agent)'
|
12
12
|
long_desc <<-LONGDESC
|
13
13
|
Bring up pygmy services (dnsmasq, haproxy, resolv, ssh-agent)
|
14
14
|
|
@@ -21,8 +21,11 @@ class PygmyBin < Thor
|
|
21
21
|
- ssh-agent: to keep the ssh-agent at one single place, so that all other docker containers
|
22
22
|
can consume the ssh key.
|
23
23
|
|
24
|
-
|
25
|
-
instance as a nameserver
|
24
|
+
On Linux: The local resolver (/etc/resolv.conf) will be configured to use the dnsmasq
|
25
|
+
instance as a nameserver.
|
26
|
+
|
27
|
+
On Mac: A resolver file (/etc/resolver/docker.amazee.io) will be created to use the dnsmasq
|
28
|
+
instance as a nameserver for all *.docker.amazee.io domains.
|
26
29
|
|
27
30
|
> $ pygmy up
|
28
31
|
LONGDESC
|
@@ -30,6 +33,15 @@ class PygmyBin < Thor
|
|
30
33
|
exec_up(options)
|
31
34
|
end
|
32
35
|
|
36
|
+
desc 'update', 'Pulls Docker Images and recreates the Containers'
|
37
|
+
long_desc <<-LONGDESC
|
38
|
+
Runs 'docker pull' on the Docker images in order to get their newest versions.
|
39
|
+
After that restarts all containers with removing them, so that the new images are used.
|
40
|
+
LONGDESC
|
41
|
+
def update
|
42
|
+
exec_update
|
43
|
+
end
|
44
|
+
|
33
45
|
desc 'stop', 'Stop all pygmy services'
|
34
46
|
long_desc <<-LONGDESC
|
35
47
|
Stops all pygmy services. Can optionally pass [-d|--destroy]
|
@@ -94,6 +106,13 @@ class PygmyBin < Thor
|
|
94
106
|
|
95
107
|
private
|
96
108
|
|
109
|
+
def exec_update
|
110
|
+
Pygmy::Haproxy.pull
|
111
|
+
Pygmy::SshAgent.pull
|
112
|
+
puts "Done. Recreating containers...".yellow
|
113
|
+
exec_stop({:destroy => true})
|
114
|
+
exec_up({})
|
115
|
+
end
|
97
116
|
|
98
117
|
def exec_up(options)
|
99
118
|
|
data/lib/pygmy/docker_service.rb
CHANGED
@@ -18,6 +18,16 @@ module Pygmy
|
|
18
18
|
self.running?
|
19
19
|
end
|
20
20
|
|
21
|
+
def pull
|
22
|
+
puts "Pulling Docker Image #{Shellwords.escape(self.image_name)}".yellow
|
23
|
+
success = Sh.run_command("docker pull #{Shellwords.escape(self.image_name)}").success?
|
24
|
+
unless success
|
25
|
+
raise RuntimeError.new(
|
26
|
+
"Failed to update #{self.container_name}. Command #{self.pull_cmd} failed"
|
27
|
+
)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
21
31
|
def running?(container_name = self.container_name)
|
22
32
|
!!(self.ps =~ /#{container_name}/)
|
23
33
|
end
|
data/lib/pygmy/resolv_osx.rb
CHANGED
@@ -13,7 +13,7 @@ module Pygmy
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def self.create_resolver?
|
16
|
-
puts "setting up DNS resolution, this may require sudo".green
|
16
|
+
puts "setting up DNS resolution and loopback alias IP, this may require sudo".green
|
17
17
|
unless self.resolver_dir.directory?
|
18
18
|
self.system!("creating #{self.resolver_dir}", "sudo", "mkdir", "-p", self.resolver_dir)
|
19
19
|
end
|
@@ -23,11 +23,15 @@ module Pygmy
|
|
23
23
|
self.system!("creating #{self.resolver_file}", "sudo", "cp", f.path, self.resolver_file)
|
24
24
|
self.system!("creating #{self.resolver_file}", "sudo", "chmod", "644", self.resolver_file)
|
25
25
|
end
|
26
|
+
self.system!("creating loopback IP alias 172.16.172.16", "sudo", "ifconfig", "lo0", "alias", "172.16.172.16")
|
26
27
|
self.system!("restarting mDNSResponder", "sudo", "killall", "mDNSResponder")
|
27
28
|
end
|
28
29
|
|
29
30
|
def self.clean?
|
31
|
+
puts "Removing resolver file and loopback alias IP, this may require sudo".green
|
30
32
|
self.system!("removing resolverfile", "sudo", "rm", "-f", self.resolver_file)
|
33
|
+
self.system!("removing loopback IP alias 172.16.172.16", "sudo", "ifconfig", "lo0", "-alias", "172.16.172.16")
|
34
|
+
system!("restarting mDNSResponder", "sudo", "killall", "mDNSResponder")
|
31
35
|
end
|
32
36
|
|
33
37
|
def self.system!(step, *args)
|
data/lib/pygmy/version.rb
CHANGED