conjur-debify 1.5.2 → 1.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/debify.gemspec +1 -1
- data/lib/conjur/debify/version.rb +1 -1
- data/lib/conjur/debify.rb +40 -5
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f144ac5f47a96820c0c42b1941adee5e51720335
|
4
|
+
data.tar.gz: 4316233ba88c597982eae537cfd9fee00c1d5542
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d13e2010bf0aea5cf5e1285e6444ad7fb8225da92056e18533e3546897f78d91c39f64a8f7123e82a9877f1d744ac675b22dc29f3f58c77ba080bbca1ef21bb3
|
7
|
+
data.tar.gz: 05dcfd9104f647cfc5a0cd6ea9b8e111d975dd01b01c98af0d9f19b80f6cd09b82e85e14e3c198e03fb9218eb0bc6aa890517c35da10006957364a9db00cd3d9
|
data/CHANGELOG.md
CHANGED
data/debify.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
20
|
spec.add_dependency "gli"
|
21
|
-
spec.add_dependency "docker-api"
|
21
|
+
spec.add_dependency "docker-api", "~> 1.33"
|
22
22
|
spec.add_dependency "conjur-cli"
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.7"
|
data/lib/conjur/debify.rb
CHANGED
@@ -2,6 +2,8 @@ require "conjur/debify/version"
|
|
2
2
|
require 'docker'
|
3
3
|
require 'fileutils'
|
4
4
|
require 'gli'
|
5
|
+
require 'json'
|
6
|
+
require 'base64'
|
5
7
|
|
6
8
|
include GLI::App
|
7
9
|
|
@@ -84,6 +86,20 @@ def git_files
|
|
84
86
|
(`git ls-files -z`.split("\x0") + ['Gemfile.lock']).uniq
|
85
87
|
end
|
86
88
|
|
89
|
+
def login_to_registry(appliance_image_id)
|
90
|
+
config_file = File.expand_path('~/.docker/config.json')
|
91
|
+
if File.exist? config_file
|
92
|
+
json_config = JSON.parse(File.read(config_file))
|
93
|
+
registry = appliance_image_id.split('/')[0]
|
94
|
+
|
95
|
+
json_auth = json_config['auths'][registry]['auth']
|
96
|
+
if json_auth
|
97
|
+
username, password = Base64.decode64(json_auth).split(':')
|
98
|
+
Docker.authenticate! username: username, password: password, serveraddress: registry
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
87
103
|
desc "Clean current working directory of non-Git-managed files"
|
88
104
|
long_desc <<DESC
|
89
105
|
Reliable builds depend on having a clean working directory.
|
@@ -341,7 +357,7 @@ command "test" do |c|
|
|
341
357
|
raise "project-name is required" unless project_name = args.shift
|
342
358
|
raise "test-script is required" unless test_script = args.shift
|
343
359
|
raise "Received extra command-line arguments" if args.shift
|
344
|
-
|
360
|
+
|
345
361
|
dir = cmd_options[:dir] || '.'
|
346
362
|
dir = File.expand_path(dir)
|
347
363
|
|
@@ -355,8 +371,15 @@ command "test" do |c|
|
|
355
371
|
package_name = "conjur-#{project_name}_#{version}_amd64.deb"
|
356
372
|
|
357
373
|
raise "#{test_script} does not exist or is not a file" unless File.file?(test_script)
|
358
|
-
|
359
|
-
|
374
|
+
|
375
|
+
begin
|
376
|
+
tries ||=2
|
377
|
+
Docker::Image.create 'fromImage' => appliance_image_id, &DebugMixin::DOCKER if cmd_options[:pull]
|
378
|
+
rescue
|
379
|
+
login_to_registry appliance_image_id
|
380
|
+
retry unless (tries -= 1).zero?
|
381
|
+
end
|
382
|
+
|
360
383
|
|
361
384
|
def build_test_image(appliance_image_id, project_name, package_name)
|
362
385
|
dockerfile = <<-DOCKERFILE
|
@@ -384,7 +407,13 @@ RUN touch /etc/service/conjur/down
|
|
384
407
|
end
|
385
408
|
end
|
386
409
|
|
387
|
-
|
410
|
+
begin
|
411
|
+
tries ||=2
|
412
|
+
appliance_image = build_test_image(appliance_image_id, project_name, package_name)
|
413
|
+
rescue
|
414
|
+
login_to_registry appliance_image_id
|
415
|
+
retry unless (tries -= 1).zero?
|
416
|
+
end
|
388
417
|
|
389
418
|
vendor_dir = File.expand_path("tmp/debify/#{project_name}/vendor", ENV['HOME'])
|
390
419
|
dot_bundle_dir = File.expand_path("tmp/debify/#{project_name}/.bundle", ENV['HOME'])
|
@@ -511,7 +540,13 @@ command "sandbox" do |c|
|
|
511
540
|
appliance_image_id = [ cmd_options[:image], image_tag ].join(":")
|
512
541
|
|
513
542
|
appliance_image = if cmd_options[:pull]
|
514
|
-
|
543
|
+
begin
|
544
|
+
tries ||=2
|
545
|
+
Docker::Image.create 'fromImage' => appliance_image_id, &DebugMixin::DOCKER if cmd_options[:pull]
|
546
|
+
rescue
|
547
|
+
login_to_registry appliance_image_id
|
548
|
+
retry unless (tries -= 1).zero?
|
549
|
+
end
|
515
550
|
else
|
516
551
|
Docker::Image.get appliance_image_id
|
517
552
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: conjur-debify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Gilpin
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: docker-api
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '1.33'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '1.33'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: conjur-cli
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|