indocker 0.1.12 → 0.1.17
Sign up to get free protection for your applications and to get access to all the features.
- 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,
|