indocker 0.0.6 → 0.1.4

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.
Files changed (183) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +10 -2
  3. data/.rspec +2 -0
  4. data/.travis.yml +7 -0
  5. data/Gemfile +5 -2
  6. data/Gemfile.lock +19 -49
  7. data/LICENSE.txt +17 -18
  8. data/README.md +20 -1
  9. data/Rakefile +6 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/example/indocker/bin/deploy +120 -0
  13. data/example/indocker/bin/remote/compile +72 -0
  14. data/example/indocker/bin/remote/run +66 -0
  15. data/example/indocker/bin/utils/configurations.rb +3 -0
  16. data/example/indocker/bounded_contexts/shared/ruby/Dockerfile +10 -0
  17. data/example/indocker/bounded_contexts/shared/ruby/container.rb +5 -0
  18. data/example/indocker/bounded_contexts/shared/ruby/image.rb +3 -0
  19. data/example/indocker/configurations/dev.rb +9 -0
  20. data/example/indocker/infrastructure/build_servers.rb +8 -0
  21. data/example/indocker/infrastructure/networks.rb +1 -0
  22. data/example/indocker/infrastructure/registries.rb +3 -0
  23. data/example/indocker/infrastructure/servers.rb +8 -0
  24. data/example/indocker/setup.rb +24 -0
  25. data/indocker.gemspec +27 -25
  26. data/lib/indocker.rb +437 -130
  27. data/lib/indocker/artifacts/git.rb +25 -0
  28. data/lib/indocker/build_context.rb +87 -0
  29. data/lib/indocker/build_context_helper.rb +109 -0
  30. data/lib/indocker/build_context_pool.rb +36 -0
  31. data/lib/indocker/build_server.rb +2 -0
  32. data/lib/indocker/colored_string.rb +33 -0
  33. data/lib/indocker/concerns/inspectable.rb +12 -0
  34. data/lib/indocker/configuration_deployer.rb +525 -0
  35. data/lib/indocker/configurations/configuration.rb +122 -0
  36. data/lib/indocker/configurations/configuration_builder.rb +250 -0
  37. data/lib/indocker/configurations/formatters/stdout.rb +36 -0
  38. data/lib/indocker/container_deployer.rb +73 -0
  39. data/lib/indocker/container_helper.rb +13 -0
  40. data/lib/indocker/container_runner.rb +23 -0
  41. data/lib/indocker/containers/container.rb +118 -0
  42. data/lib/indocker/containers/container_builder.rb +186 -0
  43. data/lib/indocker/containers/restart_policy.rb +36 -0
  44. data/lib/indocker/context_args.rb +43 -0
  45. data/lib/indocker/crontab_redeploy_rules_builder.rb +54 -0
  46. data/lib/indocker/deploy_context.rb +126 -0
  47. data/lib/indocker/deployment_checker.rb +121 -0
  48. data/lib/indocker/deployment_progress.rb +495 -0
  49. data/lib/indocker/docker.rb +87 -0
  50. data/lib/indocker/docker_run_args.rb +183 -0
  51. data/lib/indocker/env_file_helper.rb +13 -0
  52. data/lib/indocker/env_files/local.rb +8 -0
  53. data/lib/indocker/env_files/remote.rb +8 -0
  54. data/lib/indocker/hash_merger.rb +9 -0
  55. data/lib/indocker/images/image.rb +86 -0
  56. data/lib/indocker/images/image_builder.rb +98 -0
  57. data/lib/indocker/images/image_compiler.rb +68 -0
  58. data/lib/indocker/images/template_compiler.rb +15 -0
  59. data/lib/indocker/images/templates_compiler.rb +28 -0
  60. data/lib/indocker/images_compiler.rb +38 -0
  61. data/lib/indocker/indocker_helper.rb +9 -0
  62. data/lib/indocker/network.rb +12 -0
  63. data/lib/indocker/network_helper.rb +7 -0
  64. data/lib/indocker/registries/abstract.rb +17 -0
  65. data/lib/indocker/registries/local.rb +5 -0
  66. data/lib/indocker/registries/remote.rb +12 -0
  67. data/lib/indocker/repositories/abstract.rb +25 -0
  68. data/lib/indocker/repositories/clonner.rb +17 -0
  69. data/lib/indocker/repositories/git.rb +24 -0
  70. data/lib/indocker/repositories/local.rb +20 -0
  71. data/lib/indocker/repositories/no_sync.rb +20 -0
  72. data/lib/indocker/rsync.rb +52 -0
  73. data/lib/indocker/server.rb +20 -0
  74. data/lib/indocker/server_pool.rb +30 -0
  75. data/lib/indocker/shell.rb +60 -0
  76. data/lib/indocker/ssh_result_logger.rb +18 -0
  77. data/lib/indocker/ssh_session.rb +92 -0
  78. data/lib/indocker/version.rb +1 -1
  79. data/lib/indocker/volume_helper.rb +7 -0
  80. data/lib/indocker/volumes/external.rb +8 -0
  81. data/lib/indocker/volumes/local.rb +9 -0
  82. data/lib/indocker/volumes/repository.rb +9 -0
  83. metadata +107 -222
  84. data/bin/indocker +0 -9
  85. data/lib/indocker/application_initializer.rb +0 -19
  86. data/lib/indocker/cli.rb +0 -27
  87. data/lib/indocker/configs/config.rb +0 -147
  88. data/lib/indocker/configs/config_factory.rb +0 -37
  89. data/lib/indocker/configs/config_initializer.rb +0 -9
  90. data/lib/indocker/configs/locator.rb +0 -23
  91. data/lib/indocker/container/container_builder.rb +0 -29
  92. data/lib/indocker/container/container_directives_runner.rb +0 -54
  93. data/lib/indocker/container/container_dsl.rb +0 -83
  94. data/lib/indocker/container/container_evaluator.rb +0 -13
  95. data/lib/indocker/container/container_inspector.rb +0 -26
  96. data/lib/indocker/container/container_manager.rb +0 -122
  97. data/lib/indocker/container/container_metadata.rb +0 -112
  98. data/lib/indocker/container/container_metadata_factory.rb +0 -30
  99. data/lib/indocker/container/container_metadata_repository.rb +0 -27
  100. data/lib/indocker/directives/base.rb +0 -17
  101. data/lib/indocker/directives/container_directives/base.rb +0 -23
  102. data/lib/indocker/directives/container_directives/cmd.rb +0 -7
  103. data/lib/indocker/directives/container_directives/depends_on.rb +0 -7
  104. data/lib/indocker/directives/container_directives/env.rb +0 -7
  105. data/lib/indocker/directives/container_directives/env_file.rb +0 -7
  106. data/lib/indocker/directives/container_directives/expose.rb +0 -7
  107. data/lib/indocker/directives/container_directives/from.rb +0 -14
  108. data/lib/indocker/directives/container_directives/network.rb +0 -12
  109. data/lib/indocker/directives/container_directives/ports.rb +0 -15
  110. data/lib/indocker/directives/container_directives/ready.rb +0 -16
  111. data/lib/indocker/directives/container_directives/volume.rb +0 -23
  112. data/lib/indocker/directives/image_directives/base.rb +0 -27
  113. data/lib/indocker/directives/image_directives/cmd.rb +0 -19
  114. data/lib/indocker/directives/image_directives/copy.rb +0 -32
  115. data/lib/indocker/directives/image_directives/docker_cp.rb +0 -20
  116. data/lib/indocker/directives/image_directives/entrypoint.rb +0 -19
  117. data/lib/indocker/directives/image_directives/env.rb +0 -9
  118. data/lib/indocker/directives/image_directives/env_file.rb +0 -19
  119. data/lib/indocker/directives/image_directives/expose.rb +0 -9
  120. data/lib/indocker/directives/image_directives/from.rb +0 -36
  121. data/lib/indocker/directives/image_directives/registry.rb +0 -30
  122. data/lib/indocker/directives/image_directives/run.rb +0 -17
  123. data/lib/indocker/directives/image_directives/workdir.rb +0 -9
  124. data/lib/indocker/directives/partial.rb +0 -21
  125. data/lib/indocker/docker_api/container_config.rb +0 -121
  126. data/lib/indocker/docker_api/docker_api.rb +0 -207
  127. data/lib/indocker/dsl_context.rb +0 -21
  128. data/lib/indocker/envs/env_metadata.rb +0 -39
  129. data/lib/indocker/envs/loader.rb +0 -19
  130. data/lib/indocker/errors.rb +0 -21
  131. data/lib/indocker/git/git_api.rb +0 -32
  132. data/lib/indocker/git/git_helper.rb +0 -34
  133. data/lib/indocker/git/git_service.rb +0 -21
  134. data/lib/indocker/handlers/container_run.rb +0 -20
  135. data/lib/indocker/handlers/container_stop.rb +0 -17
  136. data/lib/indocker/handlers/performable.rb +0 -22
  137. data/lib/indocker/image/image_builder.rb +0 -54
  138. data/lib/indocker/image/image_dependencies_manager.rb +0 -47
  139. data/lib/indocker/image/image_directives_runner.rb +0 -99
  140. data/lib/indocker/image/image_dockerfile_builder.rb +0 -24
  141. data/lib/indocker/image/image_dsl.rb +0 -89
  142. data/lib/indocker/image/image_evaluator.rb +0 -21
  143. data/lib/indocker/image/image_helper.rb +0 -9
  144. data/lib/indocker/image/image_metadata.rb +0 -50
  145. data/lib/indocker/image/image_metadata_factory.rb +0 -31
  146. data/lib/indocker/image/image_metadata_repository.rb +0 -29
  147. data/lib/indocker/networks/network_metadata.rb +0 -9
  148. data/lib/indocker/networks/network_metadata_factory.rb +0 -9
  149. data/lib/indocker/networks/network_metadata_repository.rb +0 -34
  150. data/lib/indocker/partial/partial_metadata.rb +0 -8
  151. data/lib/indocker/partial/partial_metadata_repository.rb +0 -26
  152. data/lib/indocker/registry/registry_api.rb +0 -46
  153. data/lib/indocker/registry/registry_helper.rb +0 -20
  154. data/lib/indocker/registry/registry_service.rb +0 -28
  155. data/lib/indocker/utils/ioc_container.rb +0 -17
  156. data/lib/indocker/utils/logger.rb +0 -62
  157. data/lib/indocker/utils/logger_factory.rb +0 -13
  158. data/lib/indocker/utils/registry_authenticator.rb +0 -19
  159. data/lib/indocker/utils/render_namespace.rb +0 -11
  160. data/lib/indocker/utils/render_util.rb +0 -15
  161. data/lib/indocker/utils/string_utils.rb +0 -11
  162. data/lib/indocker/utils/tar_helper.rb +0 -40
  163. data/lib/indocker/utils/test_logger_factory.rb +0 -9
  164. data/lib/indocker/volumes/volume_metadata.rb +0 -9
  165. data/lib/indocker/volumes/volume_metadata_factory.rb +0 -9
  166. data/lib/indocker/volumes/volume_metadata_repository.rb +0 -34
  167. data/spec/example/.indocker/config.rb +0 -30
  168. data/spec/example/.indocker/images_and_containers.rb +0 -25
  169. data/spec/example/assets/index.css +0 -1
  170. data/spec/example/assets/index.js +0 -1
  171. data/spec/fixtures/spec.env +0 -2
  172. data/spec/indocker/configs/config_factory_spec.rb +0 -18
  173. data/spec/indocker/configs/config_spec.rb +0 -88
  174. data/spec/indocker/container/container_builder_spec.rb +0 -67
  175. data/spec/indocker/container/container_manager_spec.rb +0 -278
  176. data/spec/indocker/docker_api/container_config_spec.rb +0 -64
  177. data/spec/indocker/docker_api/docker_api_spec.rb +0 -112
  178. data/spec/indocker/handlers/container_run_spec.rb +0 -60
  179. data/spec/indocker/image/image_builder_spec.rb +0 -153
  180. data/spec/indocker/image/image_directives_runner_spec.rb +0 -141
  181. data/spec/indocker/image/image_dockerfile_builder_spec.rb +0 -25
  182. data/spec/indocker/image/image_evaluator_spec.rb +0 -85
  183. data/spec/spec_helper.rb +0 -68
@@ -0,0 +1,60 @@
1
+ class Indocker::Shell
2
+ class ShellResult
3
+ attr_reader :exit_status, :stdout
4
+
5
+ def initialize(stdout, exit_status)
6
+ @stdout = stdout
7
+ @exit_status = exit_status
8
+ end
9
+ end
10
+
11
+ class ShellCommandError < StandardError
12
+ end
13
+
14
+ class << self
15
+ def command(command, logger, skip_errors: false, raise_on_error: false, &block)
16
+ if logger.debug?
17
+ logger.debug("Executing command: #{command.cyan}")
18
+ end
19
+
20
+ system(command, out: (logger.debug? ? $stdout : File::NULL), err: :out)
21
+
22
+ if !$?.success? && !skip_errors
23
+ logger.error("Command: #{command.cyan} failed")
24
+
25
+ if raise_on_error
26
+ raise ShellCommandError.new("Command: #{command.cyan} failed")
27
+ else
28
+ exit 1
29
+ end
30
+ end
31
+
32
+ if block_given?
33
+ yield
34
+ end
35
+ end
36
+
37
+ def command_with_result(command, logger, skip_logging: false)
38
+ if !skip_logging && logger.debug?
39
+ logger.debug("Executing command: #{command.cyan}")
40
+ end
41
+
42
+ result = nil
43
+
44
+ IO.popen(command, err: [:child, :out]) do |io|
45
+ result = io.read.chomp.strip
46
+
47
+ if !skip_logging
48
+ logger.debug(result)
49
+ end
50
+ end
51
+
52
+ ShellResult.new(result, $?.exitstatus)
53
+ end
54
+
55
+ def command_exist?(command_name)
56
+ `which #{command_name}`
57
+ $?.success?
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,18 @@
1
+ class Indocker::SshResultLogger
2
+ def initialize(logger)
3
+ @logger = logger
4
+ end
5
+
6
+ def log(result, error_message)
7
+ if result.exit_code == 0
8
+ puts result.stdout_data
9
+ else
10
+ @logger.error(error_message)
11
+ puts result.stdout_data
12
+
13
+ result.stderr_data.to_s.split("\n").each do |line|
14
+ @logger.error(line)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,92 @@
1
+ require_relative 'shell'
2
+
3
+ class Indocker::SshSession
4
+ LOCALHOST = 'localhost'.freeze
5
+
6
+ class ExecResult
7
+ attr_reader :stdout_data, :stderr_data, :exit_code, :exit_signal
8
+
9
+ def initialize(stdout_data, stderr_data, exit_code, exit_signal)
10
+ @stdout_data = stdout_data
11
+ @stderr_data = stderr_data
12
+ @exit_code = exit_code
13
+ @exit_signal = exit_signal
14
+ end
15
+
16
+
17
+ def success?
18
+ @exit_code == 0
19
+ end
20
+ end
21
+
22
+ attr_reader :host, :user, :port, :logger
23
+
24
+ def initialize(host:, user:, port:, logger:)
25
+ @host = host
26
+ @user = user
27
+ @port = port
28
+ @logger = logger
29
+
30
+ if host != LOCALHOST
31
+ require 'net/ssh'
32
+ @ssh = Net::SSH.start(@host, @user, {port: @port})
33
+ end
34
+ end
35
+
36
+ def local?
37
+ !@ssh
38
+ end
39
+
40
+ def exec!(command)
41
+ if !@ssh
42
+ res = Indocker::Shell.command_with_result(command, @logger, skip_logging: false)
43
+ ExecResult.new(res.stdout, '', res.exit_status, nil)
44
+ else
45
+ if Indocker.export_command
46
+ command = "#{Indocker.export_command} && #{command}"
47
+ end
48
+
49
+ stdout_data = ''
50
+ stderr_data = ''
51
+ exit_code = nil
52
+ exit_signal = nil
53
+
54
+ @logger.debug("(#{@user}:#{@host}:#{@port}): executing command: #{command}")
55
+
56
+ @ssh.open_channel do |channel|
57
+ channel.exec(command) do |ch, success|
58
+ if !success
59
+ @logger.error("(#{@user}@#{@host}:#{@port}): couldn't execute command: #{command}")
60
+ abort('failed')
61
+ end
62
+
63
+ channel.on_data do |ch,data|
64
+ stdout_data += data
65
+ end
66
+
67
+ channel.on_extended_data do |ch,type,data|
68
+ stderr_data += data
69
+ end
70
+
71
+ channel.on_request('exit-status') do |ch,data|
72
+ exit_code = data.read_long
73
+ end
74
+
75
+ channel.on_request('exit-signal') do |ch, data|
76
+ exit_signal = data.read_long
77
+ end
78
+ end
79
+ end
80
+
81
+ @ssh.loop
82
+
83
+ ExecResult.new(stdout_data, stderr_data, exit_code, exit_signal)
84
+ end
85
+ end
86
+
87
+ def close
88
+ if @ssh
89
+ @ssh.close
90
+ end
91
+ end
92
+ end
@@ -1,3 +1,3 @@
1
1
  module Indocker
2
- VERSION = '0.0.6'.freeze
2
+ VERSION = "0.1.4"
3
3
  end
@@ -0,0 +1,7 @@
1
+ class Indocker::VolumeHelper
2
+ class << self
3
+ def name(configuration_name, volume)
4
+ "#{configuration_name}_#{volume.name}"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ class Indocker::Volumes::External
2
+ attr_reader :name, :path
3
+
4
+ def initialize(name, path)
5
+ @name = name
6
+ @path = path
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ class Indocker::Volumes::Local
2
+ attr_reader :name, :local_path, :path
3
+
4
+ def initialize(name, local_path, path)
5
+ @name = name
6
+ @local_path = local_path
7
+ @path = path
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class Indocker::Volumes::Repository
2
+ attr_reader :name, :repository_name, :path
3
+
4
+ def initialize(name, repository_alias_name, path)
5
+ @name = name
6
+ @repository_name = repository_alias_name
7
+ @path = path
8
+ end
9
+ end
metadata CHANGED
@@ -1,45 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: indocker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
- - Droid Labs
8
- autorequire:
9
- bindir: bin
7
+ - Ruslan Gatiyatov
8
+ - Iskander Khaziev
9
+ autorequire:
10
+ bindir: exe
10
11
  cert_chain: []
11
- date: 2017-11-20 00:00:00.000000000 Z
12
+ date: 2020-06-26 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: byebug
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: smart_ioc
15
+ name: net-ssh
43
16
  requirement: !ruby/object:Gem::Requirement
44
17
  requirements:
45
18
  - - ">="
@@ -53,210 +26,140 @@ dependencies:
53
26
  - !ruby/object:Gem::Version
54
27
  version: '0'
55
28
  - !ruby/object:Gem::Dependency
56
- name: docker-api
29
+ name: bundler
57
30
  requirement: !ruby/object:Gem::Requirement
58
31
  requirements:
59
- - - ">="
32
+ - - "~>"
60
33
  - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: docker_registry2
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: thor
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: colorize
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :runtime
34
+ version: '1.17'
35
+ type: :development
105
36
  prerelease: false
106
37
  version_requirements: !ruby/object:Gem::Requirement
107
38
  requirements:
108
- - - ">="
39
+ - - "~>"
109
40
  - !ruby/object:Gem::Version
110
- version: '0'
41
+ version: '1.17'
111
42
  - !ruby/object:Gem::Dependency
112
- name: git
43
+ name: rake
113
44
  requirement: !ruby/object:Gem::Requirement
114
45
  requirements:
115
- - - ">="
46
+ - - "~>"
116
47
  - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :runtime
48
+ version: '10.0'
49
+ type: :development
119
50
  prerelease: false
120
51
  version_requirements: !ruby/object:Gem::Requirement
121
52
  requirements:
122
- - - ">="
53
+ - - "~>"
123
54
  - !ruby/object:Gem::Version
124
- version: '0'
55
+ version: '10.0'
125
56
  - !ruby/object:Gem::Dependency
126
- name: byebug
57
+ name: rspec
127
58
  requirement: !ruby/object:Gem::Requirement
128
59
  requirements:
129
- - - ">="
60
+ - - "~>"
130
61
  - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :runtime
62
+ version: '3.0'
63
+ type: :development
133
64
  prerelease: false
134
65
  version_requirements: !ruby/object:Gem::Requirement
135
66
  requirements:
136
- - - ">="
67
+ - - "~>"
137
68
  - !ruby/object:Gem::Version
138
- version: '0'
139
- description: DSL for build, run and deploy docker containers
140
- email: hello@droidlabs.pro
141
- executables:
142
- - indocker
69
+ version: '3.0'
70
+ description: Docker Containers Deployment
71
+ email:
72
+ - gvalmon@gmail.com
73
+ executables: []
143
74
  extensions: []
144
75
  extra_rdoc_files: []
145
76
  files:
146
77
  - ".gitignore"
147
78
  - ".rspec"
79
+ - ".travis.yml"
148
80
  - Gemfile
149
81
  - Gemfile.lock
150
82
  - LICENSE.txt
151
83
  - README.md
152
- - bin/indocker
84
+ - Rakefile
85
+ - bin/console
86
+ - bin/setup
87
+ - example/indocker/bin/deploy
88
+ - example/indocker/bin/remote/compile
89
+ - example/indocker/bin/remote/run
90
+ - example/indocker/bin/utils/configurations.rb
91
+ - example/indocker/bounded_contexts/shared/ruby/Dockerfile
92
+ - example/indocker/bounded_contexts/shared/ruby/container.rb
93
+ - example/indocker/bounded_contexts/shared/ruby/image.rb
94
+ - example/indocker/configurations/dev.rb
95
+ - example/indocker/infrastructure/build_servers.rb
96
+ - example/indocker/infrastructure/networks.rb
97
+ - example/indocker/infrastructure/registries.rb
98
+ - example/indocker/infrastructure/servers.rb
99
+ - example/indocker/setup.rb
153
100
  - indocker.gemspec
154
101
  - lib/indocker.rb
155
- - lib/indocker/application_initializer.rb
156
- - lib/indocker/cli.rb
157
- - lib/indocker/configs/config.rb
158
- - lib/indocker/configs/config_factory.rb
159
- - lib/indocker/configs/config_initializer.rb
160
- - lib/indocker/configs/locator.rb
161
- - lib/indocker/container/container_builder.rb
162
- - lib/indocker/container/container_directives_runner.rb
163
- - lib/indocker/container/container_dsl.rb
164
- - lib/indocker/container/container_evaluator.rb
165
- - lib/indocker/container/container_inspector.rb
166
- - lib/indocker/container/container_manager.rb
167
- - lib/indocker/container/container_metadata.rb
168
- - lib/indocker/container/container_metadata_factory.rb
169
- - lib/indocker/container/container_metadata_repository.rb
170
- - lib/indocker/directives/base.rb
171
- - lib/indocker/directives/container_directives/base.rb
172
- - lib/indocker/directives/container_directives/cmd.rb
173
- - lib/indocker/directives/container_directives/depends_on.rb
174
- - lib/indocker/directives/container_directives/env.rb
175
- - lib/indocker/directives/container_directives/env_file.rb
176
- - lib/indocker/directives/container_directives/expose.rb
177
- - lib/indocker/directives/container_directives/from.rb
178
- - lib/indocker/directives/container_directives/network.rb
179
- - lib/indocker/directives/container_directives/ports.rb
180
- - lib/indocker/directives/container_directives/ready.rb
181
- - lib/indocker/directives/container_directives/volume.rb
182
- - lib/indocker/directives/image_directives/base.rb
183
- - lib/indocker/directives/image_directives/cmd.rb
184
- - lib/indocker/directives/image_directives/copy.rb
185
- - lib/indocker/directives/image_directives/docker_cp.rb
186
- - lib/indocker/directives/image_directives/entrypoint.rb
187
- - lib/indocker/directives/image_directives/env.rb
188
- - lib/indocker/directives/image_directives/env_file.rb
189
- - lib/indocker/directives/image_directives/expose.rb
190
- - lib/indocker/directives/image_directives/from.rb
191
- - lib/indocker/directives/image_directives/registry.rb
192
- - lib/indocker/directives/image_directives/run.rb
193
- - lib/indocker/directives/image_directives/workdir.rb
194
- - lib/indocker/directives/partial.rb
195
- - lib/indocker/docker_api/container_config.rb
196
- - lib/indocker/docker_api/docker_api.rb
197
- - lib/indocker/dsl_context.rb
198
- - lib/indocker/envs/env_metadata.rb
199
- - lib/indocker/envs/loader.rb
200
- - lib/indocker/errors.rb
201
- - lib/indocker/git/git_api.rb
202
- - lib/indocker/git/git_helper.rb
203
- - lib/indocker/git/git_service.rb
204
- - lib/indocker/handlers/container_run.rb
205
- - lib/indocker/handlers/container_stop.rb
206
- - lib/indocker/handlers/performable.rb
207
- - lib/indocker/image/image_builder.rb
208
- - lib/indocker/image/image_dependencies_manager.rb
209
- - lib/indocker/image/image_directives_runner.rb
210
- - lib/indocker/image/image_dockerfile_builder.rb
211
- - lib/indocker/image/image_dsl.rb
212
- - lib/indocker/image/image_evaluator.rb
213
- - lib/indocker/image/image_helper.rb
214
- - lib/indocker/image/image_metadata.rb
215
- - lib/indocker/image/image_metadata_factory.rb
216
- - lib/indocker/image/image_metadata_repository.rb
217
- - lib/indocker/networks/network_metadata.rb
218
- - lib/indocker/networks/network_metadata_factory.rb
219
- - lib/indocker/networks/network_metadata_repository.rb
220
- - lib/indocker/partial/partial_metadata.rb
221
- - lib/indocker/partial/partial_metadata_repository.rb
222
- - lib/indocker/registry/registry_api.rb
223
- - lib/indocker/registry/registry_helper.rb
224
- - lib/indocker/registry/registry_service.rb
225
- - lib/indocker/utils/ioc_container.rb
226
- - lib/indocker/utils/logger.rb
227
- - lib/indocker/utils/logger_factory.rb
228
- - lib/indocker/utils/registry_authenticator.rb
229
- - lib/indocker/utils/render_namespace.rb
230
- - lib/indocker/utils/render_util.rb
231
- - lib/indocker/utils/string_utils.rb
232
- - lib/indocker/utils/tar_helper.rb
233
- - lib/indocker/utils/test_logger_factory.rb
102
+ - lib/indocker/artifacts/git.rb
103
+ - lib/indocker/build_context.rb
104
+ - lib/indocker/build_context_helper.rb
105
+ - lib/indocker/build_context_pool.rb
106
+ - lib/indocker/build_server.rb
107
+ - lib/indocker/colored_string.rb
108
+ - lib/indocker/concerns/inspectable.rb
109
+ - lib/indocker/configuration_deployer.rb
110
+ - lib/indocker/configurations/configuration.rb
111
+ - lib/indocker/configurations/configuration_builder.rb
112
+ - lib/indocker/configurations/formatters/stdout.rb
113
+ - lib/indocker/container_deployer.rb
114
+ - lib/indocker/container_helper.rb
115
+ - lib/indocker/container_runner.rb
116
+ - lib/indocker/containers/container.rb
117
+ - lib/indocker/containers/container_builder.rb
118
+ - lib/indocker/containers/restart_policy.rb
119
+ - lib/indocker/context_args.rb
120
+ - lib/indocker/crontab_redeploy_rules_builder.rb
121
+ - lib/indocker/deploy_context.rb
122
+ - lib/indocker/deployment_checker.rb
123
+ - lib/indocker/deployment_progress.rb
124
+ - lib/indocker/docker.rb
125
+ - lib/indocker/docker_run_args.rb
126
+ - lib/indocker/env_file_helper.rb
127
+ - lib/indocker/env_files/local.rb
128
+ - lib/indocker/env_files/remote.rb
129
+ - lib/indocker/hash_merger.rb
130
+ - lib/indocker/images/image.rb
131
+ - lib/indocker/images/image_builder.rb
132
+ - lib/indocker/images/image_compiler.rb
133
+ - lib/indocker/images/template_compiler.rb
134
+ - lib/indocker/images/templates_compiler.rb
135
+ - lib/indocker/images_compiler.rb
136
+ - lib/indocker/indocker_helper.rb
137
+ - lib/indocker/network.rb
138
+ - lib/indocker/network_helper.rb
139
+ - lib/indocker/registries/abstract.rb
140
+ - lib/indocker/registries/local.rb
141
+ - lib/indocker/registries/remote.rb
142
+ - lib/indocker/repositories/abstract.rb
143
+ - lib/indocker/repositories/clonner.rb
144
+ - lib/indocker/repositories/git.rb
145
+ - lib/indocker/repositories/local.rb
146
+ - lib/indocker/repositories/no_sync.rb
147
+ - lib/indocker/rsync.rb
148
+ - lib/indocker/server.rb
149
+ - lib/indocker/server_pool.rb
150
+ - lib/indocker/shell.rb
151
+ - lib/indocker/ssh_result_logger.rb
152
+ - lib/indocker/ssh_session.rb
234
153
  - lib/indocker/version.rb
235
- - lib/indocker/volumes/volume_metadata.rb
236
- - lib/indocker/volumes/volume_metadata_factory.rb
237
- - lib/indocker/volumes/volume_metadata_repository.rb
238
- - spec/example/.indocker/config.rb
239
- - spec/example/.indocker/images_and_containers.rb
240
- - spec/example/assets/index.css
241
- - spec/example/assets/index.js
242
- - spec/fixtures/spec.env
243
- - spec/indocker/configs/config_factory_spec.rb
244
- - spec/indocker/configs/config_spec.rb
245
- - spec/indocker/container/container_builder_spec.rb
246
- - spec/indocker/container/container_manager_spec.rb
247
- - spec/indocker/docker_api/container_config_spec.rb
248
- - spec/indocker/docker_api/docker_api_spec.rb
249
- - spec/indocker/handlers/container_run_spec.rb
250
- - spec/indocker/image/image_builder_spec.rb
251
- - spec/indocker/image/image_directives_runner_spec.rb
252
- - spec/indocker/image/image_dockerfile_builder_spec.rb
253
- - spec/indocker/image/image_evaluator_spec.rb
254
- - spec/spec_helper.rb
255
- homepage: https://github.com/droidlabs/indocker
154
+ - lib/indocker/volume_helper.rb
155
+ - lib/indocker/volumes/external.rb
156
+ - lib/indocker/volumes/local.rb
157
+ - lib/indocker/volumes/repository.rb
158
+ homepage: https://github.com/ArtStation/indocker
256
159
  licenses:
257
160
  - MIT
258
161
  metadata: {}
259
- post_install_message:
162
+ post_install_message:
260
163
  rdoc_options: []
261
164
  require_paths:
262
165
  - lib
@@ -271,26 +174,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
174
  - !ruby/object:Gem::Version
272
175
  version: '0'
273
176
  requirements: []
274
- rubyforge_project:
275
- rubygems_version: 2.6.12
276
- signing_key:
177
+ rubygems_version: 3.0.8
178
+ signing_key:
277
179
  specification_version: 4
278
- summary: Indocker
279
- test_files:
280
- - spec/example/.indocker/config.rb
281
- - spec/example/.indocker/images_and_containers.rb
282
- - spec/example/assets/index.css
283
- - spec/example/assets/index.js
284
- - spec/fixtures/spec.env
285
- - spec/indocker/configs/config_factory_spec.rb
286
- - spec/indocker/configs/config_spec.rb
287
- - spec/indocker/container/container_builder_spec.rb
288
- - spec/indocker/container/container_manager_spec.rb
289
- - spec/indocker/docker_api/container_config_spec.rb
290
- - spec/indocker/docker_api/docker_api_spec.rb
291
- - spec/indocker/handlers/container_run_spec.rb
292
- - spec/indocker/image/image_builder_spec.rb
293
- - spec/indocker/image/image_directives_runner_spec.rb
294
- - spec/indocker/image/image_dockerfile_builder_spec.rb
295
- - spec/indocker/image/image_evaluator_spec.rb
296
- - spec/spec_helper.rb
180
+ summary: Docker Containers Deployment
181
+ test_files: []