docker-api 1.14.0 → 1.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/docker.rb +19 -6
- data/lib/docker/version.rb +1 -1
- data/spec/docker_spec.rb +30 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 026147324341d46ecc633b106fa941316435e612
|
4
|
+
data.tar.gz: c9022722fa623436a9a7f5b5ece2383c946eb21d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0361890e0d8bd23b86c4b1cc362a4f7d5f327222ea0261c8a1159daaa331f5b7b90d5a93e8142558fd2e514b5d22ff7481fa80b60fc6fb64a55c6868e6bff1b6
|
7
|
+
data.tar.gz: 4d22cb2d2fb45120b9a7485e4be4e8a35b56085287c397ae624be1d6c6036acfe4cbb57879afa096fa8089d3e03524f54542841c9ae626087611086fee07a57f
|
data/lib/docker.rb
CHANGED
@@ -35,11 +35,24 @@ module Docker
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def env_url
|
38
|
-
ENV['DOCKER_URL']
|
38
|
+
ENV['DOCKER_URL'] || ENV['DOCKER_HOST']
|
39
|
+
end
|
40
|
+
|
41
|
+
def env_options
|
42
|
+
if cert_path = ENV['DOCKER_CERT_PATH']
|
43
|
+
{
|
44
|
+
client_cert: File.join(cert_path, 'cert.pem'),
|
45
|
+
client_key: File.join(cert_path, 'key.pem'),
|
46
|
+
ssl_ca_file: File.join(cert_path, 'ca.pem'),
|
47
|
+
scheme: 'https'
|
48
|
+
}
|
49
|
+
else
|
50
|
+
{}
|
51
|
+
end
|
39
52
|
end
|
40
53
|
|
41
54
|
def url
|
42
|
-
@url ||=
|
55
|
+
@url ||= env_url || default_socket_url
|
43
56
|
# docker uses a default notation tcp:// which means tcp://localhost:2375
|
44
57
|
if @url == 'tcp://'
|
45
58
|
@url = 'tcp://localhost:2375'
|
@@ -48,7 +61,7 @@ module Docker
|
|
48
61
|
end
|
49
62
|
|
50
63
|
def options
|
51
|
-
@options ||=
|
64
|
+
@options ||= env_options
|
52
65
|
end
|
53
66
|
|
54
67
|
def url=(new_url)
|
@@ -57,7 +70,7 @@ module Docker
|
|
57
70
|
end
|
58
71
|
|
59
72
|
def options=(new_options)
|
60
|
-
@options = new_options
|
73
|
+
@options = env_options.merge(new_options || {})
|
61
74
|
reset_connection!
|
62
75
|
end
|
63
76
|
|
@@ -98,8 +111,8 @@ module Docker
|
|
98
111
|
raise Docker::Error::VersionError, "Expected API Version: #{API_VERSION}"
|
99
112
|
end
|
100
113
|
|
101
|
-
module_function :default_socket_url, :env_url, :url, :url=, :
|
102
|
-
:options=, :creds, :creds=, :logger, :logger=,
|
114
|
+
module_function :default_socket_url, :env_url, :url, :url=, :env_options,
|
115
|
+
:options, :options=, :creds, :creds=, :logger, :logger=,
|
103
116
|
:connection, :reset_connection!, :version, :info,
|
104
117
|
:authenticate!, :validate_version!
|
105
118
|
end
|
data/lib/docker/version.rb
CHANGED
data/spec/docker_spec.rb
CHANGED
@@ -6,6 +6,7 @@ describe Docker do
|
|
6
6
|
before do
|
7
7
|
ENV['DOCKER_URL'] = nil
|
8
8
|
ENV['DOCKER_HOST'] = nil
|
9
|
+
ENV['DOCKER_CERT_PATH'] = nil
|
9
10
|
end
|
10
11
|
|
11
12
|
it { should be_a Module }
|
@@ -17,7 +18,7 @@ describe Docker do
|
|
17
18
|
end
|
18
19
|
|
19
20
|
context "when the DOCKER_* ENV variables aren't set" do
|
20
|
-
its(:options) { {} }
|
21
|
+
its(:options) { should == {} }
|
21
22
|
its(:url) { should == 'unix:///var/run/docker.sock' }
|
22
23
|
its(:connection) { should be_a Docker::Connection }
|
23
24
|
end
|
@@ -25,9 +26,10 @@ describe Docker do
|
|
25
26
|
context "when the DOCKER_* ENV variables are set" do
|
26
27
|
before do
|
27
28
|
ENV['DOCKER_URL'] = 'unixs:///var/run/not-docker.sock'
|
29
|
+
Docker.options = nil
|
28
30
|
end
|
29
31
|
|
30
|
-
its(:options) { {} }
|
32
|
+
its(:options) { should == {} }
|
31
33
|
its(:url) { should == 'unixs:///var/run/not-docker.sock' }
|
32
34
|
its(:connection) { should be_a Docker::Connection }
|
33
35
|
end
|
@@ -35,19 +37,21 @@ describe Docker do
|
|
35
37
|
context "when the DOCKER_HOST is set and uses default tcp://" do
|
36
38
|
before do
|
37
39
|
ENV['DOCKER_HOST'] = 'tcp://'
|
40
|
+
Docker.options = nil
|
38
41
|
end
|
39
42
|
|
40
|
-
its(:options) { {} }
|
43
|
+
its(:options) { should == {} }
|
41
44
|
its(:url) { should == 'tcp://localhost:2375' }
|
42
45
|
its(:connection) { should be_a Docker::Connection }
|
43
46
|
end
|
44
47
|
|
45
|
-
context "when the DOCKER_HOST ENV
|
48
|
+
context "when the DOCKER_HOST ENV variable is set" do
|
46
49
|
before do
|
47
50
|
ENV['DOCKER_HOST'] = 'tcp://someserver:8103'
|
51
|
+
Docker.options = nil
|
48
52
|
end
|
49
53
|
|
50
|
-
its(:options) { {} }
|
54
|
+
its(:options) { should == {} }
|
51
55
|
its(:url) { should == 'tcp://someserver:8103' }
|
52
56
|
its(:connection) { should be_a Docker::Connection }
|
53
57
|
end
|
@@ -56,13 +60,32 @@ describe Docker do
|
|
56
60
|
before do
|
57
61
|
ENV['DOCKER_HOST'] = 'tcp://someserver:8103'
|
58
62
|
ENV['DOCKER_URL'] = 'tcp://someotherserver:8103'
|
59
|
-
|
63
|
+
Docker.options = nil
|
60
64
|
end
|
61
65
|
|
62
|
-
its(:options) { {} }
|
66
|
+
its(:options) { should == {} }
|
63
67
|
its(:url) { should == 'tcp://someotherserver:8103' }
|
64
68
|
its(:connection) { should be_a Docker::Connection }
|
65
69
|
end
|
70
|
+
|
71
|
+
context "when the DOCKER_CERT_PATH and DOCKER_HOST ENV variables are set" do
|
72
|
+
before do
|
73
|
+
ENV['DOCKER_HOST'] = 'tcp://someserver:8103'
|
74
|
+
ENV['DOCKER_CERT_PATH'] = '/boot2dockert/cert/path'
|
75
|
+
Docker.options = nil
|
76
|
+
end
|
77
|
+
|
78
|
+
its(:options) {
|
79
|
+
should == {
|
80
|
+
client_cert: '/boot2dockert/cert/path/cert.pem',
|
81
|
+
client_key: '/boot2dockert/cert/path/key.pem',
|
82
|
+
ssl_ca_file: '/boot2dockert/cert/path/ca.pem',
|
83
|
+
scheme: 'https'
|
84
|
+
}
|
85
|
+
}
|
86
|
+
its(:url) { should == 'tcp://someserver:8103' }
|
87
|
+
its(:connection) { should be_a Docker::Connection }
|
88
|
+
end
|
66
89
|
end
|
67
90
|
|
68
91
|
describe '#reset_connection!' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docker-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Swipely, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: excon
|