eac_docker 0.2.0 → 0.4.0
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/lib/eac_docker/container.rb +7 -3
- data/lib/eac_docker/debug.rb +15 -0
- data/lib/eac_docker/images/coded.rb +4 -0
- data/lib/eac_docker/images/templatized.rb +17 -2
- data/lib/eac_docker/rspec.rb +2 -10
- data/lib/eac_docker/rspec/setup_include.rb +23 -0
- data/lib/eac_docker/version.rb +1 -1
- metadata +22 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23cb2be3b085b58aca17331b8423c9a7411a80c405288aa4985dd638bddc3ac3
|
4
|
+
data.tar.gz: fe63f09139b19feefcf0593f18f3816cefa6c2ef625ebf7c019bca25436fa42d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2028ed9e3f5de2c1cdf4a3135876cde44d4f870f611329c0846e3043bb0efbe404e150fb53cc1451d21d6c836c4a784c25aae4784301eba2ba0bafbb256ad46b
|
7
|
+
data.tar.gz: cf15244416cd4839de5642b6cb68cd90b26327cb99455a337246b5d8b7854655aba2b06702d5c5929132c4313b97ed12adabea33acaaf2106cfceda88b03fb69
|
data/lib/eac_docker/container.rb
CHANGED
@@ -7,7 +7,7 @@ module EacDocker
|
|
7
7
|
enable_immutable
|
8
8
|
immutable_accessor :interactive, :temporary, :tty, type: :boolean
|
9
9
|
immutable_accessor :env, type: :hash
|
10
|
-
immutable_accessor :command_arg, :volume, type: :array
|
10
|
+
immutable_accessor :capability, :command_arg, :volume, type: :array
|
11
11
|
attr_reader :id
|
12
12
|
common_constructor :image
|
13
13
|
|
@@ -43,8 +43,8 @@ module EacDocker
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def run_command_args
|
46
|
-
run_command_boolean_args +
|
47
|
-
command_args
|
46
|
+
run_command_boolean_args + run_command_capabilities_args + run_command_envs_args +
|
47
|
+
run_command_volumes_args + [image.provide.id] + command_args
|
48
48
|
end
|
49
49
|
|
50
50
|
def stop
|
@@ -63,6 +63,10 @@ module EacDocker
|
|
63
63
|
r
|
64
64
|
end
|
65
65
|
|
66
|
+
def run_command_capabilities_args
|
67
|
+
capabilities.flat_map { |capability| ['--cap-add', capability] }
|
68
|
+
end
|
69
|
+
|
66
70
|
def run_command_volumes_args
|
67
71
|
volumes.flat_map { |volume| ['--volume', volume] }
|
68
72
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/boolean'
|
4
|
+
|
5
|
+
module EacDocker
|
6
|
+
module Debug
|
7
|
+
class << self
|
8
|
+
ENABLE_ENVVAR = 'EAC_DOCKER_DEBUG'
|
9
|
+
|
10
|
+
def enabled?
|
11
|
+
::EacRubyUtils::Boolean.parse(ENV[ENABLE_ENVVAR])
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'eac_docker/debug'
|
3
4
|
require 'eac_docker/executables'
|
4
5
|
require 'eac_docker/images/base'
|
5
6
|
require 'eac_ruby_utils/core_ext'
|
@@ -26,6 +27,9 @@ module EacDocker
|
|
26
27
|
private
|
27
28
|
|
28
29
|
def id_uncached
|
30
|
+
if ::EacDocker::Debug.enabled?
|
31
|
+
::EacDocker::Executables.docker.command(*build_args.excluding('--quiet')).system!
|
32
|
+
end
|
29
33
|
::EacDocker::Executables.docker.command(*build_args).execute!.strip
|
30
34
|
end
|
31
35
|
|
@@ -4,23 +4,38 @@ require 'eac_docker/images/base'
|
|
4
4
|
require 'eac_docker/images/coded'
|
5
5
|
require 'eac_ruby_utils/core_ext'
|
6
6
|
require 'eac_ruby_utils/fs/temp'
|
7
|
+
require 'eac_templates/patches/object/template'
|
7
8
|
|
8
9
|
module EacDocker
|
9
10
|
module Images
|
10
11
|
class Templatized < ::EacDocker::Images::Base
|
11
12
|
enable_immutable
|
12
13
|
immutable_accessor :tag
|
14
|
+
attr_reader :provide_dir
|
15
|
+
|
16
|
+
def id
|
17
|
+
tag
|
18
|
+
end
|
13
19
|
|
14
20
|
def provide
|
15
21
|
::EacRubyUtils::Fs::Temp.on_directory do |provide_dir|
|
16
|
-
|
17
|
-
|
22
|
+
begin
|
23
|
+
self.provide_dir = provide_dir
|
24
|
+
template.apply(self, provide_dir)
|
25
|
+
coded_image(provide_dir).tag(tag).provide
|
26
|
+
ensure
|
27
|
+
self.provide_dir = nil
|
28
|
+
end
|
18
29
|
end
|
19
30
|
end
|
20
31
|
|
21
32
|
def coded_image(provide_dir)
|
22
33
|
::EacDocker::Images::Coded.new(provide_dir)
|
23
34
|
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
attr_writer :provide_dir
|
24
39
|
end
|
25
40
|
end
|
26
41
|
end
|
data/lib/eac_docker/rspec.rb
CHANGED
@@ -1,17 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_ruby_utils/
|
4
|
-
require 'eac_docker/executables'
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
5
4
|
|
6
5
|
module EacDocker
|
7
6
|
module Rspec
|
8
|
-
|
9
|
-
def configure
|
10
|
-
::EacRubyUtils::Rspec::Conditional.default.add(:docker) do
|
11
|
-
::EacDocker::Executables.docker.validate
|
12
|
-
end
|
13
|
-
RSpec.configure { |config| ::EacRubyUtils::Rspec::Conditional.default.configure(config) }
|
14
|
-
end
|
15
|
-
end
|
7
|
+
require_sub __FILE__
|
16
8
|
end
|
17
9
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/rspec/conditional'
|
4
|
+
require 'eac_docker/executables'
|
5
|
+
|
6
|
+
module EacDocker
|
7
|
+
module Rspec
|
8
|
+
module SetupInclude
|
9
|
+
class << self
|
10
|
+
def setup(setup_obj)
|
11
|
+
setup_conditional_docker_executable(setup_obj)
|
12
|
+
end
|
13
|
+
|
14
|
+
def setup_conditional_docker_executable(setup_obj)
|
15
|
+
::EacRubyUtils::Rspec::Conditional.default.add(:docker) do
|
16
|
+
::EacDocker::Executables.docker.validate
|
17
|
+
end
|
18
|
+
::EacRubyUtils::Rspec::Conditional.default.configure(setup_obj.rspec_config)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/eac_docker/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eac_docker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eac_ruby_utils
|
@@ -16,34 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.70'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.70'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: eac_templates
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0.1'
|
34
|
-
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: 0.1.1
|
37
|
-
type: :development
|
34
|
+
type: :runtime
|
38
35
|
prerelease: false
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
40
37
|
requirements:
|
41
38
|
- - "~>"
|
42
39
|
- !ruby/object:Gem::Version
|
43
40
|
version: '0.1'
|
44
|
-
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: eac_ruby_gem_support
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
45
53
|
- !ruby/object:Gem::Version
|
46
|
-
version: 0.
|
54
|
+
version: '0.3'
|
47
55
|
description:
|
48
56
|
email:
|
49
57
|
executables: []
|
@@ -52,6 +60,7 @@ extra_rdoc_files: []
|
|
52
60
|
files:
|
53
61
|
- lib/eac_docker.rb
|
54
62
|
- lib/eac_docker/container.rb
|
63
|
+
- lib/eac_docker/debug.rb
|
55
64
|
- lib/eac_docker/executables.rb
|
56
65
|
- lib/eac_docker/images.rb
|
57
66
|
- lib/eac_docker/images/base.rb
|
@@ -60,6 +69,7 @@ files:
|
|
60
69
|
- lib/eac_docker/images/templatized.rb
|
61
70
|
- lib/eac_docker/registry.rb
|
62
71
|
- lib/eac_docker/rspec.rb
|
72
|
+
- lib/eac_docker/rspec/setup_include.rb
|
63
73
|
- lib/eac_docker/version.rb
|
64
74
|
homepage:
|
65
75
|
licenses: []
|
@@ -79,8 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
89
|
- !ruby/object:Gem::Version
|
80
90
|
version: '0'
|
81
91
|
requirements: []
|
82
|
-
|
83
|
-
rubygems_version: 2.7.7
|
92
|
+
rubygems_version: 3.1.6
|
84
93
|
signing_key:
|
85
94
|
specification_version: 4
|
86
95
|
summary: Put here de description.
|