indocker 0.1.12 → 0.1.17
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 -0
- data/Gemfile +0 -1
- data/Gemfile.lock +8 -2
- data/example/indocker/bin/deploy +3 -6
- data/example/indocker/bin/remote/compile +2 -6
- data/example/indocker/bin/remote/run +2 -6
- data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_build/Dockerfile +0 -0
- data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_build/container.rb +2 -1
- data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_build/image.rb +0 -0
- data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_start/Dockerfile +0 -0
- data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_start/build_context/bin/run +0 -0
- data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_start/container.rb +2 -1
- data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_start/image.rb +0 -0
- data/example/indocker/bounded_contexts/good_containers/daemon_container/Dockerfile +1 -0
- data/example/indocker/bounded_contexts/good_containers/daemon_container/container.rb +6 -0
- data/example/indocker/bounded_contexts/good_containers/daemon_container/image.rb +4 -0
- data/example/indocker/bounded_contexts/good_containers/dependency_container/Dockerfile +1 -0
- data/example/indocker/bounded_contexts/good_containers/dependency_container/container.rb +6 -0
- data/example/indocker/bounded_contexts/good_containers/dependency_container/image.rb +4 -0
- data/example/indocker/bounded_contexts/good_containers/good_container/Dockerfile +3 -0
- data/example/indocker/bounded_contexts/good_containers/good_container/build_context/example_file.txt +2 -0
- data/example/indocker/bounded_contexts/good_containers/good_container/container.rb +10 -0
- data/example/indocker/bounded_contexts/good_containers/good_container/image.rb +4 -0
- data/example/indocker/bounded_contexts/shared/{good_container → parent_image}/Dockerfile +1 -1
- data/example/indocker/bounded_contexts/shared/parent_image/image.rb +3 -0
- data/example/indocker/bounded_contexts/shared/ruby/container.rb +2 -1
- data/example/indocker/configurations/external.rb +11 -1
- data/example/indocker/env_files/development_env.env +1 -0
- data/example/indocker/infrastructure/artifacts.rb +26 -0
- data/example/indocker/infrastructure/env_files.rb +6 -0
- data/example/indocker/setup.rb +3 -1
- data/indocker.gemspec +1 -0
- data/lib/indocker.rb +42 -20
- data/lib/indocker/artifacts/base.rb +26 -0
- data/lib/indocker/artifacts/dto/file_dto.rb +8 -0
- data/lib/indocker/artifacts/git.rb +17 -5
- data/lib/indocker/artifacts/remote.rb +17 -0
- data/lib/indocker/artifacts/services/synchronizer.rb +59 -0
- data/lib/indocker/build_context.rb +6 -41
- data/lib/indocker/build_context_helper.rb +1 -1
- data/lib/indocker/container_deployer.rb +12 -23
- data/lib/indocker/crontab_redeploy_rules_builder.rb +6 -6
- data/lib/indocker/deploy_context.rb +4 -32
- data/lib/indocker/deployment_checker.rb +4 -2
- data/lib/indocker/docker_run_args.rb +2 -2
- data/lib/indocker/images/image_compiler.rb +0 -1
- data/lib/indocker/{configuration_deployer.rb → launchers/configuration_deployer.rb} +66 -113
- data/lib/indocker/{container_runner.rb → launchers/container_runner.rb} +2 -3
- data/lib/indocker/launchers/dto/remote_operation_dto.rb +10 -0
- data/lib/indocker/{images_compiler.rb → launchers/images_compiler.rb} +1 -2
- data/lib/indocker/{network.rb → networks/network.rb} +1 -1
- data/lib/indocker/{network_helper.rb → networks/network_helper.rb} +1 -1
- data/lib/indocker/repositories/cloner.rb +73 -0
- data/lib/indocker/server_pools/build_server_connection.rb +15 -0
- data/lib/indocker/server_pools/build_server_pool.rb +40 -0
- data/lib/indocker/server_pools/deploy_server_connection.rb +17 -0
- data/lib/indocker/server_pools/deploy_server_pool.rb +41 -0
- data/lib/indocker/server_pools/server_connection.rb +37 -0
- data/lib/indocker/version.rb +1 -1
- data/lib/indocker/{volume_helper.rb → volumes/volume_helper.rb} +1 -1
- metadata +56 -24
- data/example/indocker/bounded_contexts/shared/good_container/container.rb +0 -5
- data/example/indocker/bounded_contexts/shared/good_container/image.rb +0 -3
- data/example/spec/indocker_spec.rb +0 -39
- data/example/spec/spec_helper.rb +0 -39
- data/lib/indocker/build_context_pool.rb +0 -42
- data/lib/indocker/configurations/formatters/stdout.rb +0 -36
- data/lib/indocker/repositories/clonner.rb +0 -17
- data/lib/indocker/server_pool.rb +0 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 87f0d247cd6a4aa8f3958d6b9d9aef1dfd879c15651c9e4c01c9e15e7bffe0a0
|
4
|
+
data.tar.gz: e0391bebb9cd04117a68e904caef9ccd72b586fd10a8e2ba02b3673b389de8de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: baad11d2671bb96f35cfed12ca80ac713d135ee19a4b8e7222ab91685a9f5efd65a84d539425cc68e7f786eca689e451b46ea2e503569037b080aee422f01fe2
|
7
|
+
data.tar.gz: 876a4b96e5a96f7a1f9ffff7138597e413739a84c4bc1dbe8b0adb18073e431ecef0da966b7c7bf861d3f6792de8ec21e43f5970aae6ccb3b5813b095700a787
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.5.0
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
indocker (0.1.
|
4
|
+
indocker (0.1.17)
|
5
5
|
net-ssh
|
6
6
|
|
7
7
|
GEM
|
@@ -9,6 +9,7 @@ GEM
|
|
9
9
|
specs:
|
10
10
|
coderay (1.1.3)
|
11
11
|
diff-lcs (1.3)
|
12
|
+
docile (1.3.2)
|
12
13
|
method_source (1.0.0)
|
13
14
|
net-ssh (6.1.0)
|
14
15
|
pry (0.13.1)
|
@@ -28,6 +29,10 @@ GEM
|
|
28
29
|
diff-lcs (>= 1.2.0, < 2.0)
|
29
30
|
rspec-support (~> 3.9.0)
|
30
31
|
rspec-support (3.9.2)
|
32
|
+
simplecov (0.18.5)
|
33
|
+
docile (~> 1.1)
|
34
|
+
simplecov-html (~> 0.11)
|
35
|
+
simplecov-html (0.12.2)
|
31
36
|
|
32
37
|
PLATFORMS
|
33
38
|
ruby
|
@@ -37,7 +42,8 @@ DEPENDENCIES
|
|
37
42
|
indocker!
|
38
43
|
pry
|
39
44
|
rake (~> 12.3.3)
|
40
|
-
rspec
|
45
|
+
rspec (~> 3.0)
|
46
|
+
simplecov (~> 0.18.5)
|
41
47
|
|
42
48
|
BUNDLED WITH
|
43
49
|
1.17.3
|
data/example/indocker/bin/deploy
CHANGED
@@ -94,12 +94,9 @@ if !configurations.include?(options[:configuration])
|
|
94
94
|
exit 1
|
95
95
|
end
|
96
96
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
puts "InDocker has been moved into a separate gem. Please install using `gem install indocker`"
|
101
|
-
exit
|
102
|
-
end
|
97
|
+
require 'rubygems'
|
98
|
+
require 'bundler/setup'
|
99
|
+
require 'indocker'
|
103
100
|
|
104
101
|
if options[:debug]
|
105
102
|
Indocker.set_log_level(Logger::DEBUG)
|
@@ -49,12 +49,8 @@ if !options.has_key?(:images)
|
|
49
49
|
puts "At least one image should be provided"
|
50
50
|
end
|
51
51
|
|
52
|
-
|
53
|
-
|
54
|
-
rescue LoadError
|
55
|
-
puts "InDocker has been moved into a separate gem. Please install using `gem install indocker`"
|
56
|
-
exit 1
|
57
|
-
end
|
52
|
+
require 'rubygems'
|
53
|
+
require 'indocker'
|
58
54
|
|
59
55
|
if options[:debug]
|
60
56
|
Indocker.set_log_level(Logger::DEBUG)
|
@@ -46,12 +46,8 @@ if !configurations.include?(options[:configuration])
|
|
46
46
|
exit 1
|
47
47
|
end
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
rescue LoadError
|
52
|
-
puts "InDocker has been moved into a separate gem. Please install using `gem install indocker`"
|
53
|
-
exit 1
|
54
|
-
end
|
49
|
+
require 'rubygems'
|
50
|
+
require 'indocker'
|
55
51
|
|
56
52
|
if options[:debug]
|
57
53
|
Indocker.set_log_level(Logger::DEBUG)
|
data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_build/Dockerfile
RENAMED
File without changes
|
data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_build/image.rb
RENAMED
File without changes
|
data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_start/Dockerfile
RENAMED
File without changes
|
File without changes
|
data/example/indocker/bounded_contexts/{shared → bad_containers}/bad_container_start/image.rb
RENAMED
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
FROM <%= image_url(:parent_image) %>
|
@@ -0,0 +1 @@
|
|
1
|
+
FROM <%= image_url(:parent_image) %>
|
@@ -2,6 +2,10 @@ Indocker
|
|
2
2
|
.build_configuration(:external)
|
3
3
|
.use_registry(:dev, as: :default)
|
4
4
|
.use_build_server(:external_bs)
|
5
|
+
.global_build_args({
|
6
|
+
domain: 'indocker.me',
|
7
|
+
})
|
8
|
+
.use_env_file(:development_env, as: :default_env)
|
5
9
|
.enabled_containers(
|
6
10
|
ruby: {
|
7
11
|
servers: [:external],
|
@@ -14,5 +18,11 @@ Indocker
|
|
14
18
|
},
|
15
19
|
bad_container_start: {
|
16
20
|
servers: [:external],
|
21
|
+
},
|
22
|
+
daemon_container: {
|
23
|
+
servers: [:external],
|
17
24
|
}
|
18
|
-
)
|
25
|
+
).artifacts(
|
26
|
+
indocker_readme: [:external],
|
27
|
+
hosts_file: [:external],
|
28
|
+
)
|
@@ -0,0 +1 @@
|
|
1
|
+
PROJECT_NAME=indocker
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Indocker.add_artifact(
|
2
|
+
Indocker::Artifacts::Git.new(
|
3
|
+
name: :indocker_readme,
|
4
|
+
remote_name: 'origin',
|
5
|
+
remote_url: 'https://github.com/ArtStation/indocker.git',
|
6
|
+
branch: :master,
|
7
|
+
files: [
|
8
|
+
Indocker::Artifacts::DTO::FileDTO.new(
|
9
|
+
source_path: './README.md',
|
10
|
+
target_path: Indocker.deploy_dir,
|
11
|
+
)
|
12
|
+
]
|
13
|
+
)
|
14
|
+
)
|
15
|
+
|
16
|
+
Indocker.add_artifact(
|
17
|
+
Indocker::Artifacts::Remote.new(
|
18
|
+
name: :hosts_file,
|
19
|
+
files: [
|
20
|
+
Indocker::Artifacts::DTO::FileDTO.new(
|
21
|
+
source_path: '/etc/hosts',
|
22
|
+
target_path: Indocker.deploy_dir,
|
23
|
+
)
|
24
|
+
]
|
25
|
+
)
|
26
|
+
)
|
data/example/indocker/setup.rb
CHANGED
@@ -3,7 +3,7 @@ require 'indocker'
|
|
3
3
|
root_dir = File.join(__dir__, '..', '..')
|
4
4
|
|
5
5
|
Indocker.set_root_dir(__dir__)
|
6
|
-
Indocker.set_deploy_dir('
|
6
|
+
Indocker.set_deploy_dir('~/.indocker-deployment')
|
7
7
|
|
8
8
|
Indocker.set_dockerignore [
|
9
9
|
'Dockerfile',
|
@@ -18,6 +18,8 @@ require_relative 'infrastructure/registries'
|
|
18
18
|
require_relative 'infrastructure/servers'
|
19
19
|
require_relative 'infrastructure/build_servers'
|
20
20
|
require_relative 'infrastructure/networks'
|
21
|
+
require_relative 'infrastructure/artifacts'
|
22
|
+
require_relative 'infrastructure/env_files'
|
21
23
|
|
22
24
|
Indocker.set_bounded_contexts_dir(File.join(__dir__, 'bounded_contexts'))
|
23
25
|
|
data/indocker.gemspec
CHANGED
data/lib/indocker.rb
CHANGED
@@ -10,16 +10,12 @@ module Indocker
|
|
10
10
|
autoload :Git, 'repositories/git'
|
11
11
|
autoload :Local, 'repositories/local'
|
12
12
|
autoload :NoSync, 'repositories/no_sync'
|
13
|
-
autoload :
|
13
|
+
autoload :Cloner, 'repositories/cloner'
|
14
14
|
end
|
15
15
|
|
16
16
|
module Configurations
|
17
17
|
autoload :Configuration, 'configurations/configuration'
|
18
18
|
autoload :ConfigurationBuilder, 'configurations/configuration_builder'
|
19
|
-
|
20
|
-
module Formatters
|
21
|
-
autoload :Stdout, 'configurations/formatters/stdout'
|
22
|
-
end
|
23
19
|
end
|
24
20
|
|
25
21
|
module Registries
|
@@ -50,6 +46,7 @@ module Indocker
|
|
50
46
|
autoload :Local, 'volumes/local'
|
51
47
|
autoload :External, 'volumes/external'
|
52
48
|
autoload :Repository, 'volumes/repository'
|
49
|
+
autoload :VolumeHelper, 'volumes/volume_helper'
|
53
50
|
end
|
54
51
|
|
55
52
|
module EnvFiles
|
@@ -58,33 +55,58 @@ module Indocker
|
|
58
55
|
end
|
59
56
|
|
60
57
|
module Artifacts
|
58
|
+
autoload :Base, 'artifacts/base'
|
61
59
|
autoload :Git, 'artifacts/git'
|
60
|
+
autoload :Remote, 'artifacts/remote'
|
61
|
+
|
62
|
+
module DTO
|
63
|
+
autoload :FileDTO, 'artifacts/dto/file_dto'
|
64
|
+
end
|
65
|
+
|
66
|
+
module Services
|
67
|
+
autoload :Synchronizer, 'artifacts/services/synchronizer'
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
module Networks
|
72
|
+
autoload :Network, 'networks/network'
|
73
|
+
autoload :NetworkHelper, 'networks/network_helper'
|
74
|
+
end
|
75
|
+
|
76
|
+
module Launchers
|
77
|
+
autoload :ConfigurationDeployer, 'launchers/configuration_deployer'
|
78
|
+
autoload :ImagesCompiler, 'launchers/images_compiler'
|
79
|
+
autoload :ContainerRunner, 'launchers/container_runner'
|
80
|
+
|
81
|
+
module DTO
|
82
|
+
autoload :RemoteOperationDTO, 'launchers/dto/remote_operation_dto'
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
module ServerPools
|
87
|
+
autoload :ServerConnection, 'server_pools/server_connection'
|
88
|
+
autoload :DeployServerPool, 'server_pools/deploy_server_pool'
|
89
|
+
autoload :DeployServerConnection, 'server_pools/deploy_server_connection'
|
90
|
+
autoload :BuildServerPool, 'server_pools/build_server_pool'
|
91
|
+
autoload :BuildServerConnection, 'server_pools/build_server_connection'
|
62
92
|
end
|
63
93
|
|
64
94
|
autoload :HashMerger, 'hash_merger'
|
65
95
|
autoload :BuildServer, 'build_server'
|
66
96
|
autoload :Server, 'server'
|
67
|
-
autoload :ConfigurationDeployer, 'configuration_deployer'
|
68
97
|
autoload :SshSession, 'ssh_session'
|
69
|
-
autoload :BuildContextPool, 'build_context_pool'
|
70
98
|
autoload :BuildContext, 'build_context'
|
71
99
|
autoload :BuildContextHelper, 'build_context_helper'
|
72
100
|
autoload :Shell, 'shell'
|
73
101
|
autoload :Docker, 'docker'
|
74
102
|
autoload :ContextArgs, 'context_args'
|
75
|
-
autoload :Network, 'network'
|
76
103
|
autoload :ContainerDeployer, 'container_deployer'
|
77
|
-
autoload :ServerPool, 'server_pool'
|
78
104
|
autoload :DeployContext, 'deploy_context'
|
79
105
|
autoload :ContainerHelper, 'container_helper'
|
80
106
|
autoload :DockerRunArgs, 'docker_run_args'
|
81
|
-
autoload :VolumeHelper, 'volume_helper'
|
82
|
-
autoload :NetworkHelper, 'network_helper'
|
83
107
|
autoload :Rsync, 'rsync'
|
84
108
|
autoload :EnvFileHelper, 'env_file_helper'
|
85
109
|
autoload :IndockerHelper, 'indocker_helper'
|
86
|
-
autoload :ImagesCompiler, 'images_compiler'
|
87
|
-
autoload :ContainerRunner, 'container_runner'
|
88
110
|
autoload :SshResultLogger, 'ssh_result_logger'
|
89
111
|
autoload :DeploymentProgress, 'deployment_progress'
|
90
112
|
autoload :DeploymentChecker, 'deployment_checker'
|
@@ -172,7 +194,7 @@ module Indocker
|
|
172
194
|
raise ArgumentError.new("network :#{name} was already defined")
|
173
195
|
end
|
174
196
|
|
175
|
-
networks.push(Indocker::Network.new(name))
|
197
|
+
networks.push(Indocker::Networks::Network.new(name))
|
176
198
|
end
|
177
199
|
|
178
200
|
def container_files
|
@@ -320,9 +342,9 @@ module Indocker
|
|
320
342
|
builder
|
321
343
|
end
|
322
344
|
|
323
|
-
def deploy(containers: [], skip_tags: [], tags: [], skip_dependent: false,
|
345
|
+
def deploy(containers: [], skip_tags: [], tags: [], skip_dependent: false,
|
324
346
|
skip_containers: [], servers: [], skip_build: false, skip_deploy: false,
|
325
|
-
force_restart: false, skip_force_restart: [], auto_confirm: false,
|
347
|
+
force_restart: false, skip_force_restart: [], auto_confirm: false,
|
326
348
|
require_confirmation: false)
|
327
349
|
|
328
350
|
deployment_policy = Indocker::DeploymentPolicy.new(
|
@@ -340,7 +362,7 @@ module Indocker
|
|
340
362
|
require_confirmation: require_confirmation,
|
341
363
|
)
|
342
364
|
|
343
|
-
Indocker::ConfigurationDeployer
|
365
|
+
Indocker::Launchers::ConfigurationDeployer
|
344
366
|
.new(logger: Indocker.logger, global_logger: Indocker.global_logger)
|
345
367
|
.run(
|
346
368
|
configuration: configuration,
|
@@ -357,7 +379,7 @@ module Indocker
|
|
357
379
|
)
|
358
380
|
end
|
359
381
|
|
360
|
-
def launched?(contaner_name, servers:
|
382
|
+
def launched?(contaner_name, servers: nil)
|
361
383
|
silent_logger = Logger.new(File.open(File::NULL, "w"))
|
362
384
|
Indocker::DeploymentChecker
|
363
385
|
.new(silent_logger, silent_logger)
|
@@ -369,7 +391,7 @@ module Indocker
|
|
369
391
|
end
|
370
392
|
|
371
393
|
def compile(images:, skip_dependent:)
|
372
|
-
Indocker::ImagesCompiler
|
394
|
+
Indocker::Launchers::ImagesCompiler
|
373
395
|
.new(Indocker.logger)
|
374
396
|
.compile(
|
375
397
|
configuration: configuration,
|
@@ -379,7 +401,7 @@ module Indocker
|
|
379
401
|
end
|
380
402
|
|
381
403
|
def run(container_name, force_restart)
|
382
|
-
Indocker::ContainerRunner
|
404
|
+
Indocker::Launchers::ContainerRunner
|
383
405
|
.new(Indocker.logger)
|
384
406
|
.run(
|
385
407
|
configuration: configuration,
|