indocker 0.0.6 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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: []