sshkit-backend-docker 0.1.1 → 0.1.2

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: fa2060f26c718c9651588e7f609a5d4d39ba540e
4
- data.tar.gz: 1e42a0fca68ab9bfa2a0bd6f1c5f940e63bf9728
3
+ metadata.gz: e89f20ce4b32f28e675301f83427854cfaf60ed9
4
+ data.tar.gz: 971ea2e3471ca9e52715b163488b34a1c4251597
5
5
  SHA512:
6
- metadata.gz: 964704b2f2e8d3ec70fcb3051a0bdb9a0da53067fc7f254fcf4bdc956ba22379684a4e15294208609e1b439809b03fb285f593a271087ae91d23d9905e509dc4
7
- data.tar.gz: 25dd918cbbbdbba32dff80e375705747bb77f861705b4caee79a704b45262f0a38c1c2e1ab759feff5990816142fa023a17e610e7d42eaae3f22336ad30bb550
6
+ metadata.gz: 7d5b5f9f9c0059ebf5637b4d9aa9d96e5193a2a7a123f1145a4fab0427380ca2a0d63f9ab3ddfd776a88ce7d5c74f40300d218f72c5ec6a716c5b523eb95f88d
7
+ data.tar.gz: 953a0c6c6c17f820836b8f4931f04fe94aca40fc8a7ea263cbd94f04d828da0c5070f0166b5c531787edc862e1ed5a89121fab5b252c1405b8eb8bcd956beebd
@@ -16,16 +16,8 @@ module SSHKit
16
16
  CONTAINER_WAIT_IO = {}
17
17
  attr_accessor :docker_open_stdin
18
18
 
19
- def self.host_container_map_key(host)
20
- key = host.docker_options.dup || {}
21
- key.delete :container
22
- key.delete :commit
23
- key
24
- end
25
-
26
- def self.find_cntainer_by_host(host)
27
- host.docker_options[:container] ||
28
- CONTAINER_MAP[host_container_map_key(host)]
19
+ def self.find_container_by_host(host)
20
+ host.docker_options[:container] || CONTAINER_MAP[host.docker_host_id]
29
21
  end
30
22
 
31
23
  def initialize(host, &block)
@@ -41,6 +33,9 @@ module SSHKit
41
33
  @container = docker_run_image
42
34
  host.hostname.chop! << ", container: #{@container})"
43
35
  end
36
+ if host.respond_to? :roles_array
37
+ host.hostname.chop! << ", roles: #{host.roles_array.inspect})"
38
+ end
44
39
  @container
45
40
  end
46
41
 
@@ -108,15 +103,18 @@ module SSHKit
108
103
 
109
104
  if host.is_a?(String)
110
105
  image_name = host
106
+ host_id = host.__id__
111
107
  host = _deep_dup(self.host)
112
108
  host.docker_options[:image] = image_name
109
+ host.docker_host_id = host_id
113
110
  elsif host.is_a?(Hash)
114
111
  d_opts = host
115
112
  host = _deep_dup(self.host)
116
113
  host.docker_options = d_opts.symbolize_keys
114
+ host.docker_host_id = d_opts.__id__
117
115
  end
118
116
 
119
- map_key = self.class.host_container_map_key(host)
117
+ map_key = host.docker_host_id
120
118
  CONTAINER_MAP[map_key] and
121
119
  return CONTAINER_MAP[map_key]
122
120
 
@@ -166,7 +164,7 @@ module SSHKit
166
164
 
167
165
  host.docker_options[:commit] or return
168
166
 
169
- container = self.class.find_cntainer_by_host(host) or
167
+ container = self.class.find_container_by_host(host) or
170
168
  raise "Cannot find container for host #{host.inspect}"
171
169
 
172
170
  cmd = %w(docker commit)
@@ -1,7 +1,7 @@
1
1
  module Sshkit
2
2
  module Backend
3
3
  module Docker
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
6
6
  end
7
7
  end
@@ -2,6 +2,7 @@ require 'sshkit'
2
2
  module SSHKit
3
3
  class Host
4
4
  attr_writer :docker_options
5
+ attr_accessor :docker_host_id
5
6
 
6
7
  def docker?
7
8
  !docker_options.empty?
@@ -12,8 +13,10 @@ module SSHKit
12
13
  end
13
14
 
14
15
  def docker=(hash)
16
+ @docker_host_id = hash.__id__
15
17
  @hostname = "(docker "
16
18
  @user ||= 'root'
19
+ @port = @docker_host_id # Use hash id to ident host by injecting to port
17
20
  docker_options.update hash.symbolize_keys
18
21
  if docker_options.has_key?(:image)
19
22
  @hostname << "image: #{@docker_options[:image]})"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sshkit-backend-docker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tatsuki Sugiura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-07 00:00:00.000000000 Z
11
+ date: 2017-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sshkit
@@ -114,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  version: '0'
115
115
  requirements: []
116
116
  rubyforge_project:
117
- rubygems_version: 2.5.1
117
+ rubygems_version: 2.5.2
118
118
  signing_key:
119
119
  specification_version: 4
120
120
  summary: Docker connector backend for SSHKit