indocker 0.3.5 → 0.3.7
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/.ruby-version +1 -1
- data/Gemfile.lock +10 -10
- data/indocker.gemspec +1 -1
- data/lib/indocker/configurations/configuration.rb +10 -0
- data/lib/indocker/docker_run_args.rb +18 -0
- data/lib/indocker/images/image.rb +1 -1
- data/lib/indocker/server_pools/build_server_connection.rb +3 -1
- data/lib/indocker/server_pools/deploy_server_connection.rb +3 -1
- data/lib/indocker/version.rb +1 -1
- data/lib/indocker.rb +21 -3
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d3472a334b23e6fc3ecf88306d9af0a9394a90aec769711492226322e96e2d6
|
4
|
+
data.tar.gz: '08150afcc26f9f053290d6abb1160a2a32405fa08d1cb2740b4839f3298f8e74'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3eeff429884e4f1961e725c97997b9c8c58874c7bb5ba31164e18cc6bc80e0169f82ceb01855dbaed098888397cf94f773c177b3aed4fe72091edfee2b969a5
|
7
|
+
data.tar.gz: 14480618981749a870f6acadb503d2cb9cbc08652d55a098c40801bbdcf3e01639d593cb100537c9399ed3df434a59740cf45ca9322939134982a78f0cf2c247
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.2.0
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
indocker (0.3.
|
4
|
+
indocker (0.3.6)
|
5
5
|
net-ssh
|
6
6
|
|
7
7
|
GEM
|
@@ -11,8 +11,8 @@ GEM
|
|
11
11
|
diff-lcs (1.5.0)
|
12
12
|
docile (1.4.0)
|
13
13
|
method_source (1.0.0)
|
14
|
-
net-ssh (7.
|
15
|
-
pry (0.14.
|
14
|
+
net-ssh (7.2.0)
|
15
|
+
pry (0.14.2)
|
16
16
|
coderay (~> 1.1)
|
17
17
|
method_source (~> 1.0)
|
18
18
|
rake (12.3.3)
|
@@ -20,25 +20,25 @@ GEM
|
|
20
20
|
rspec-core (~> 3.12.0)
|
21
21
|
rspec-expectations (~> 3.12.0)
|
22
22
|
rspec-mocks (~> 3.12.0)
|
23
|
-
rspec-core (3.12.
|
23
|
+
rspec-core (3.12.2)
|
24
24
|
rspec-support (~> 3.12.0)
|
25
|
-
rspec-expectations (3.12.
|
25
|
+
rspec-expectations (3.12.3)
|
26
26
|
diff-lcs (>= 1.2.0, < 2.0)
|
27
27
|
rspec-support (~> 3.12.0)
|
28
|
-
rspec-mocks (3.12.
|
28
|
+
rspec-mocks (3.12.6)
|
29
29
|
diff-lcs (>= 1.2.0, < 2.0)
|
30
30
|
rspec-support (~> 3.12.0)
|
31
|
-
rspec-support (3.12.
|
31
|
+
rspec-support (3.12.1)
|
32
32
|
simplecov (0.18.5)
|
33
33
|
docile (~> 1.1)
|
34
34
|
simplecov-html (~> 0.11)
|
35
35
|
simplecov-html (0.12.3)
|
36
36
|
|
37
37
|
PLATFORMS
|
38
|
-
|
38
|
+
x86_64-linux
|
39
39
|
|
40
40
|
DEPENDENCIES
|
41
|
-
bundler
|
41
|
+
bundler
|
42
42
|
indocker!
|
43
43
|
pry
|
44
44
|
rake (~> 12.3.3)
|
@@ -46,4 +46,4 @@ DEPENDENCIES
|
|
46
46
|
simplecov (~> 0.18.5)
|
47
47
|
|
48
48
|
BUNDLED WITH
|
49
|
-
|
49
|
+
2.4.20
|
data/indocker.gemspec
CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
|
26
26
|
spec.add_dependency "net-ssh"
|
27
|
-
spec.add_development_dependency "bundler"
|
27
|
+
spec.add_development_dependency "bundler"
|
28
28
|
spec.add_development_dependency "rake", "~> 12.3.3"
|
29
29
|
spec.add_development_dependency "rspec", "~> 3.0"
|
30
30
|
spec.add_development_dependency "simplecov", "~> 0.18.5"
|
@@ -4,6 +4,8 @@ class Indocker::Configurations::Configuration
|
|
4
4
|
attr_reader :registries
|
5
5
|
attr_reader :build_servers
|
6
6
|
attr_reader :global_build_args
|
7
|
+
attr_reader :deploy_args
|
8
|
+
attr_reader :compile_args
|
7
9
|
attr_reader :images
|
8
10
|
attr_reader :containers
|
9
11
|
attr_reader :volumes
|
@@ -88,6 +90,14 @@ class Indocker::Configurations::Configuration
|
|
88
90
|
@global_build_args = hash
|
89
91
|
end
|
90
92
|
|
93
|
+
def set_deploy_args(hash)
|
94
|
+
@deploy_args = hash
|
95
|
+
end
|
96
|
+
|
97
|
+
def set_compile_args(hash)
|
98
|
+
@compile_args = hash
|
99
|
+
end
|
100
|
+
|
91
101
|
def add_image(image)
|
92
102
|
@images.push(image)
|
93
103
|
end
|
@@ -133,6 +133,18 @@ class Indocker::DockerRunArgs
|
|
133
133
|
args.push("--log-opt max-file=#{max_file}")
|
134
134
|
end
|
135
135
|
|
136
|
+
cap_add = container.get_start_option(:cap_add)
|
137
|
+
|
138
|
+
if cap_add
|
139
|
+
args.push("--cap-add=#{cap_add}")
|
140
|
+
end
|
141
|
+
|
142
|
+
cap_drop = container.get_start_option(:cap_drop)
|
143
|
+
|
144
|
+
if cap_drop
|
145
|
+
args.push("--cap-drop=#{cap_drop}")
|
146
|
+
end
|
147
|
+
|
136
148
|
health = container.get_start_option(:health) || {}
|
137
149
|
|
138
150
|
if !health.is_a?(Hash)
|
@@ -155,6 +167,12 @@ class Indocker::DockerRunArgs
|
|
155
167
|
args.push("--health-timeout #{health[:timeout]}")
|
156
168
|
end
|
157
169
|
|
170
|
+
if configuration.deploy_args
|
171
|
+
configuration.deploy_args.each do |k, v|
|
172
|
+
args.push("--#{k}=#{v}")
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
158
176
|
container.volumes.each do |volume|
|
159
177
|
if volume.is_a?(Indocker::Volumes::Local)
|
160
178
|
args.push("-v #{volume.local_path}:#{volume.path}")
|
@@ -2,8 +2,10 @@ require 'fileutils'
|
|
2
2
|
|
3
3
|
class Indocker::ServerPools::BuildServerConnection < Indocker::ServerPools::ServerConnection
|
4
4
|
def compile_image_remotely(configuration_name:, image_name:)
|
5
|
+
compile_args = @configuration.compile_args ? @configuration.compile_args.map { |k, v| "--compile-arg=\"#{k}=#{v}\"" }.join(" ") : ""
|
6
|
+
|
5
7
|
result = exec!(
|
6
|
-
"cd #{Indocker::IndockerHelper.indocker_dir} && ./bin/remote/compile -C #{configuration_name} -i #{image_name} -s #{@logger.debug? ? '-d' : ''}"
|
8
|
+
"cd #{Indocker::IndockerHelper.indocker_dir} && ./bin/remote/compile -C #{configuration_name} -i #{image_name} #{compile_args} -s #{@logger.debug? ? '-d' : ''}"
|
7
9
|
)
|
8
10
|
|
9
11
|
Indocker::SshResultLogger
|
@@ -4,8 +4,10 @@ class Indocker::ServerPools::DeployServerConnection < Indocker::ServerPools::Ser
|
|
4
4
|
debug_options = @logger.debug? ? "-d" : ""
|
5
5
|
force_restart_options = force_restart ? "-f" : ""
|
6
6
|
|
7
|
+
deploy_args = @configuration.deploy_args ? @configuration.deploy_args.map { |k, v| "--deploy-arg=\"#{k}=#{v}\"" }.join(" ") : ""
|
8
|
+
|
7
9
|
result = exec!(
|
8
|
-
"cd #{Indocker::IndockerHelper.indocker_dir} && ./bin/remote/run -C #{configuration_name} -c #{container_name} #{debug_options} #{command_output} #{force_restart_options}"
|
10
|
+
"cd #{Indocker::IndockerHelper.indocker_dir} && ./bin/remote/run -C #{configuration_name} -c #{container_name} #{deploy_args} #{debug_options} #{command_output} #{force_restart_options}"
|
9
11
|
)
|
10
12
|
|
11
13
|
Indocker::SshResultLogger
|
data/lib/indocker/version.rb
CHANGED
data/lib/indocker.rb
CHANGED
@@ -345,7 +345,7 @@ module Indocker
|
|
345
345
|
def deploy(containers: [], skip_tags: [], tags: [], skip_dependent: false,
|
346
346
|
skip_containers: [], servers: [], skip_build: false, skip_deploy: false,
|
347
347
|
force_restart: false, skip_force_restart: [], auto_confirm: false,
|
348
|
-
require_confirmation: false)
|
348
|
+
require_confirmation: false, compile_args: {}, deploy_args: {})
|
349
349
|
|
350
350
|
deployment_policy = Indocker::DeploymentPolicy.new(
|
351
351
|
deploy_containers: containers,
|
@@ -362,6 +362,14 @@ module Indocker
|
|
362
362
|
require_confirmation: require_confirmation,
|
363
363
|
)
|
364
364
|
|
365
|
+
if compile_args
|
366
|
+
configuration.set_compile_args(compile_args)
|
367
|
+
end
|
368
|
+
|
369
|
+
if deploy_args
|
370
|
+
configuration.set_deploy_args(deploy_args)
|
371
|
+
end
|
372
|
+
|
365
373
|
Indocker::Launchers::ConfigurationDeployer
|
366
374
|
.new(logger: Indocker.logger, global_logger: Indocker.global_logger)
|
367
375
|
.run(
|
@@ -390,7 +398,13 @@ module Indocker
|
|
390
398
|
)
|
391
399
|
end
|
392
400
|
|
393
|
-
def compile(images:, skip_dependent:)
|
401
|
+
def compile(images:, skip_dependent:, compile_args: {})
|
402
|
+
if compile_args
|
403
|
+
configuration.set_global_build_args(
|
404
|
+
Indocker::HashMerger.deep_merge(compile_args, configuration.global_build_args)
|
405
|
+
)
|
406
|
+
end
|
407
|
+
|
394
408
|
Indocker::Launchers::ImagesCompiler
|
395
409
|
.new(Indocker.logger)
|
396
410
|
.compile(
|
@@ -400,7 +414,11 @@ module Indocker
|
|
400
414
|
)
|
401
415
|
end
|
402
416
|
|
403
|
-
def run(container_name, force_restart)
|
417
|
+
def run(container_name, force_restart, deploy_args: {})
|
418
|
+
if deploy_args
|
419
|
+
configuration.set_deploy_args(deploy_args)
|
420
|
+
end
|
421
|
+
|
404
422
|
Indocker::Launchers::ContainerRunner
|
405
423
|
.new(Indocker.logger)
|
406
424
|
.run(
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: indocker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruslan Gatiyatov
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-10-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: net-ssh
|
@@ -29,16 +29,16 @@ dependencies:
|
|
29
29
|
name: bundler
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - "
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
34
|
+
version: '0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - "
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rake
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '0'
|
223
223
|
requirements: []
|
224
|
-
rubygems_version: 3.
|
224
|
+
rubygems_version: 3.4.1
|
225
225
|
signing_key:
|
226
226
|
specification_version: 4
|
227
227
|
summary: Docker Containers Deployment
|