indocker 0.0.0 → 0.0.1

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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.rspec +1 -0
  4. data/Gemfile.lock +12 -0
  5. data/bin/indocker +9 -0
  6. data/indocker.gemspec +7 -2
  7. data/lib/indocker/application_initializer.rb +30 -0
  8. data/lib/indocker/cli.rb +17 -0
  9. data/lib/indocker/configs/config.rb +76 -0
  10. data/lib/indocker/configs/config_factory.rb +36 -0
  11. data/lib/indocker/configs/locator.rb +23 -0
  12. data/lib/indocker/container/container_dsl.rb +60 -0
  13. data/lib/indocker/container/container_evaluator.rb +13 -0
  14. data/lib/indocker/container/container_manager.rb +111 -0
  15. data/lib/indocker/container/container_metadata.rb +107 -0
  16. data/lib/indocker/container/container_metadata_factory.rb +27 -0
  17. data/lib/indocker/container/container_metadata_repository.rb +27 -0
  18. data/lib/indocker/directives/base.rb +21 -0
  19. data/lib/indocker/directives/container_directives/base.rb +19 -0
  20. data/lib/indocker/directives/container_directives/depends_on.rb +7 -0
  21. data/lib/indocker/directives/container_directives/env_file.rb +7 -0
  22. data/lib/indocker/directives/container_directives/expose.rb +7 -0
  23. data/lib/indocker/directives/container_directives/from.rb +12 -0
  24. data/lib/indocker/directives/container_directives/network.rb +12 -0
  25. data/lib/indocker/directives/container_directives/ports.rb +8 -0
  26. data/lib/indocker/directives/container_directives/ready.rb +16 -0
  27. data/lib/indocker/directives/container_directives_runner.rb +46 -0
  28. data/lib/indocker/directives/docker_directives/base.rb +15 -0
  29. data/lib/indocker/directives/docker_directives/cmd.rb +15 -0
  30. data/lib/indocker/directives/docker_directives/copy.rb +27 -0
  31. data/lib/indocker/directives/docker_directives/entrypoint.rb +15 -0
  32. data/lib/indocker/directives/docker_directives/env.rb +5 -0
  33. data/lib/indocker/directives/docker_directives/from.rb +30 -0
  34. data/lib/indocker/directives/docker_directives/run.rb +5 -0
  35. data/lib/indocker/directives/docker_directives/workdir.rb +5 -0
  36. data/lib/indocker/directives/image_directives_runner.rb +120 -0
  37. data/lib/indocker/directives/partial.rb +13 -0
  38. data/lib/indocker/directives/prepare_directives/base.rb +6 -0
  39. data/lib/indocker/directives/prepare_directives/docker_cp.rb +16 -0
  40. data/lib/indocker/docker_api.rb +180 -0
  41. data/lib/indocker/dsl_context.rb +17 -0
  42. data/lib/indocker/envs/env_metadata.rb +35 -0
  43. data/lib/indocker/envs/loader.rb +19 -0
  44. data/lib/indocker/envs/manager.rb +30 -0
  45. data/lib/indocker/errors.rb +17 -0
  46. data/lib/indocker/handlers/base.rb +13 -0
  47. data/lib/indocker/handlers/run_container.rb +29 -0
  48. data/lib/indocker/image/image_builder.rb +39 -0
  49. data/lib/indocker/image/image_dependencies_manager.rb +43 -0
  50. data/lib/indocker/image/image_dsl.rb +69 -0
  51. data/lib/indocker/image/image_evaluator.rb +21 -0
  52. data/lib/indocker/image/image_metadata.rb +50 -0
  53. data/lib/indocker/image/image_metadata_factory.rb +30 -0
  54. data/lib/indocker/image/image_metadata_repository.rb +30 -0
  55. data/lib/indocker/networks/network_metadata.rb +9 -0
  56. data/lib/indocker/networks/network_metadata_factory.rb +9 -0
  57. data/lib/indocker/networks/network_metadata_repository.rb +34 -0
  58. data/lib/indocker/partial/partial_metadata.rb +8 -0
  59. data/lib/indocker/partial/partial_metadata_repository.rb +26 -0
  60. data/lib/indocker/utils/ioc_container.rb +17 -0
  61. data/lib/indocker/utils/logger.rb +62 -0
  62. data/lib/indocker/utils/logger_factory.rb +12 -0
  63. data/lib/indocker/utils/registry_authenticator.rb +19 -0
  64. data/lib/indocker/utils/render_namespace.rb +11 -0
  65. data/lib/indocker/utils/render_util.rb +15 -0
  66. data/lib/indocker/utils/string_utils.rb +11 -0
  67. data/lib/indocker/utils/tar_helper.rb +40 -0
  68. data/lib/indocker/utils/test_logger_factory.rb +9 -0
  69. data/lib/indocker/version.rb +2 -2
  70. data/lib/indocker.rb +123 -1
  71. data/spec/example/.indocker/config.rb +23 -0
  72. data/spec/example/.indocker/images_and_containers.rb +25 -0
  73. data/spec/example/assets/index.css +1 -0
  74. data/spec/example/assets/index.js +1 -0
  75. data/spec/indocker/configs/config_factory_spec.rb +18 -0
  76. data/spec/indocker/configs/config_spec.rb +37 -0
  77. data/spec/indocker/container/container_manager_spec.rb +230 -0
  78. data/spec/indocker/directives/image_directives_runner_spec.rb +121 -0
  79. data/spec/indocker/handlers/run_container_spec.rb +107 -0
  80. data/spec/indocker/image/image_builder_spec.rb +115 -0
  81. data/spec/indocker/image/image_evaluator_spec.rb +65 -0
  82. data/spec/indocker/utils/docker_api_spec.rb +87 -0
  83. data/spec/spec_helper.rb +46 -0
  84. data/spec/tmp/indocker_list_container_files/deeper/example3.txt +1 -0
  85. data/spec/tmp/indocker_list_container_files/deeper/example4.txt +1 -0
  86. data/spec/tmp/indocker_list_container_files/example1.txt +1 -0
  87. data/spec/tmp/indocker_list_container_files/example2.txt +1 -0
  88. metadata +159 -6
  89. data/spec/.gitkeep +0 -0
@@ -0,0 +1,115 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Indocker::ImageBuilder' do
4
+ subject { ioc.image_builder }
5
+
6
+ context 'for image without dependencies' do
7
+ before do
8
+ Indocker.define_image('indocker_image') do
9
+ before_build { 'test' }
10
+
11
+ from 'hello-world'
12
+ workdir '/'
13
+ end
14
+
15
+ subject.build('indocker_image')
16
+ end
17
+
18
+ it 'builds image without dependencies' do
19
+ expect(
20
+ ioc.docker_api.image_exists?('indocker_image')
21
+ ).to be true
22
+ end
23
+
24
+ it 'deletes build_path after image building' do
25
+ image_metadata = ioc.image_metadata_repository.find_by_repo('indocker_image')
26
+
27
+ expect(
28
+ File.exists?(image_metadata.build_dir)
29
+ ).to be false
30
+ end
31
+ end
32
+
33
+ context 'for image with dependencies' do
34
+ context 'circular dependencies' do
35
+ before do
36
+ Indocker.define_image('indocker_circular_image') do
37
+ before_build do
38
+ docker_cp 'circular_container'
39
+ end
40
+
41
+ from 'hello-world'
42
+ workdir '/'
43
+ end
44
+
45
+ Indocker.define_container 'circular_container' do
46
+ use images.indocker_circular_image
47
+ end
48
+ end
49
+
50
+ it 'raises Indocker::Errors::CircularImageDependency' do
51
+ expect{
52
+ subject.build('indocker_circular_image')
53
+ }.to raise_error(Indocker::Errors::CircularImageDependency)
54
+ end
55
+ end
56
+
57
+ context 'for non circular dependencies' do
58
+ before do
59
+ Indocker.define_image('indocker_image') do
60
+ from 'alpine:latest'
61
+ workdir '/'
62
+ run 'echo "Hello World" > test.txt'
63
+ end
64
+
65
+ Indocker.define_image('indocker_image_with_dependency') do
66
+ before_build do
67
+ docker_cp 'indocker_container' do
68
+ copy 'test.txt' => build_dir
69
+ end
70
+ end
71
+
72
+ from 'alpine:latest'
73
+ workdir '/'
74
+ copy 'test.txt' => '/'
75
+ end
76
+
77
+ Indocker.define_container 'indocker_container' do
78
+ use images.indocker_image
79
+ end
80
+ end
81
+
82
+ it 'builds image with dependency' do
83
+ subject.build('indocker_image_with_dependency')
84
+
85
+ expect(
86
+ ioc.docker_api.image_exists?('indocker_image_with_dependency')
87
+ ).to be true
88
+ end
89
+ end
90
+ end
91
+
92
+ context 'for not existing image' do
93
+ it 'raises Indocker::Errors::ImageIsNotDefined' do
94
+ expect{
95
+ subject.build('indocker_image_without_dependencies')
96
+ }.to raise_error(Indocker::Errors::ImageIsNotDefined)
97
+ end
98
+ end
99
+
100
+ context 'with coping files from project_root' do
101
+ before do
102
+ Indocker.define_image('indocker_copy_image') do
103
+ from 'alpine:latest'
104
+
105
+ copy 'assets/.' => 'assets'
106
+ end
107
+ end
108
+
109
+ it 'does not raise error' do
110
+ expect{
111
+ subject.build('indocker_copy_image')
112
+ }.to_not raise_error
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,65 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Indocker::ImageEvaluator' do
4
+ subject { ioc.image_evaluator }
5
+
6
+ before do
7
+ Indocker.define_partial 'example_partial' do
8
+ set_arg(:wait_connection, true)
9
+ set_arg(:notification_enabled, true)
10
+
11
+ before_build do
12
+ docker_cp 'yet_anoter_helper_container' do
13
+ copy '.' => '.'
14
+ end
15
+ end
16
+
17
+ run "echo '#{wait_connection}'"
18
+ run "echo '#{notification_enabled}'"
19
+ end
20
+ end
21
+
22
+ context 'directives list' do
23
+ let(:example_image_definition) do
24
+ Proc.new do
25
+ set_arg(:environment, :stading)
26
+ set_arg(:server, :development)
27
+
28
+ before_build do
29
+ docker_cp 'helper_container' do
30
+ copy '.' => '.'
31
+ end
32
+ end
33
+
34
+ from 'ruby:2.3.1'
35
+
36
+ partial 'example_partial', wait_connection: false, notification_enabled: true
37
+
38
+ workdir '/app'
39
+
40
+ run "echo 'Hello World'"
41
+ end
42
+ end
43
+
44
+ let(:context) { Indocker::DSLContext.new(build_dir: 'some/path') }
45
+ let(:directives) { subject.evaluate(context, &example_image_definition) }
46
+
47
+ it 'returns array of directives' do
48
+ expect(directives).to be_a(Array)
49
+ end
50
+
51
+ it 'returns valid count of directives' do
52
+ expect(directives.size).to eq(7)
53
+ end
54
+
55
+ it 'rerurns proper directives classes' do
56
+ expect(directives[0]).to be_a(Indocker::PrepareDirectives::DockerCp)
57
+ expect(directives[1]).to be_a(Indocker::DockerDirectives::From)
58
+ expect(directives[2]).to be_a(Indocker::PrepareDirectives::DockerCp)
59
+ expect(directives[3]).to be_a(Indocker::DockerDirectives::Run)
60
+ expect(directives[4]).to be_a(Indocker::DockerDirectives::Run)
61
+ expect(directives[5]).to be_a(Indocker::DockerDirectives::Workdir)
62
+ expect(directives[6]).to be_a(Indocker::DockerDirectives::Run)
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,87 @@
1
+ require 'spec_helper'
2
+
3
+ describe Indocker::DockerApi do
4
+ let(:docker_api) { ioc.docker_api }
5
+
6
+ describe '#create_network' do
7
+ context 'simple network' do
8
+ let!(:id) { docker_api.create_network('indocker') }
9
+
10
+ after { docker_api.remove_network(id) }
11
+
12
+ it 'creates network' do
13
+ expect(
14
+ docker_api.get_network_id('indocker')
15
+ ).to eq(id)
16
+ end
17
+ end
18
+ end
19
+
20
+ describe '#add_container_to_network' do
21
+ let(:container_id) {
22
+ docker_api.create_container(
23
+ repo: 'alpine',
24
+ tag: 'latest',
25
+ name: 'indocker_alpine_container',
26
+ command: %w(tail -F -n0 /etc/hosts)
27
+ )
28
+ }
29
+
30
+ let(:network_id) { docker_api.create_network('indocker') }
31
+
32
+ after do
33
+ docker_api.stop_container(container_id)
34
+ docker_api.delete_container(container_id)
35
+ docker_api.remove_network(network_id)
36
+ end
37
+
38
+ it 'do something' do
39
+ docker_api.add_container_to_network(
40
+ network_name: network_id,
41
+ container_name: container_id
42
+ )
43
+
44
+ docker_api.start_container(container_id)
45
+
46
+ expect(
47
+ docker_api.inspect_network(network_id)['Containers'].keys
48
+ ).to include(container_id)
49
+ end
50
+ end
51
+
52
+ describe '#get_image_id' do
53
+ context 'if image presents' do
54
+ it 'returns instance of Docker::Image class' do
55
+ expect(docker_api.get_image_id('alpine')).to be_a(String)
56
+ end
57
+ end
58
+
59
+ context 'if image does not present' do
60
+ it 'returns nil ' do
61
+ expect{
62
+ docker_api.get_image_id('some-invalid-image')
63
+ }.to raise_error(Docker::Error::NotFoundError)
64
+ end
65
+ end
66
+ end
67
+
68
+ describe '#get_container_id' do
69
+ context 'if container presents' do
70
+ let!(:container) { Docker::Container.create('Image' => 'alpine:latest', 'name': 'alpine') }
71
+ after { container.delete(force: true) }
72
+
73
+ it 'returns container_id string' do
74
+ expect(docker_api.get_container_id('alpine')).to be_a(String)
75
+ expect(docker_api.get_container_id('alpine').size).to eq(64)
76
+ end
77
+ end
78
+
79
+ context 'if container does not present' do
80
+ it 'returns nil' do
81
+ expect{
82
+ docker_api.get_container_id('invalid-container-name')
83
+ }.to raise_error(Docker::Error::NotFoundError)
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,46 @@
1
+ $LOAD_PATH.unshift(File.join(__dir__, '..', 'lib'))
2
+ $LOAD_PATH.unshift(__dir__)
3
+
4
+ require 'indocker'
5
+ require 'fileutils'
6
+ require 'byebug'
7
+
8
+ SmartIoC::Container.get_instance.set_extra_context_for_package(:indocker, :test)
9
+ SmartIoC.set_load_proc do |location|
10
+ require(location)
11
+ end
12
+
13
+ Indocker.root(Pathname.new File.expand_path(File.join(__dir__, 'example')))
14
+
15
+ RSpec.configure do |config|
16
+ config.expect_with :rspec do |expectations|
17
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
18
+ end
19
+
20
+ config.mock_with :rspec
21
+ config.shared_context_metadata_behavior = :apply_to_host_groups
22
+
23
+ config.after(:each) do
24
+ ioc.docker_api.delete_containers_where { |container| container.refresh!.info['Config']['Image'] =~ /^indocker/ }
25
+ ioc.docker_api.delete_containers_where { |container| container.refresh!.info['Names'].grep(/^\/indocker/).any? }
26
+ ioc.docker_api.delete_images_where { |image| image.info['RepoTags'].grep(/^indocker/).any? }
27
+ ioc.docker_api.delete_networks_where { |network| network.info['Name'] =~ /^indocker/ }
28
+
29
+ ioc.image_metadata_repository.clear
30
+ ioc.container_metadata_repository.clear
31
+ ioc.partial_metadata_repository.clear
32
+ ioc.network_metadata_repository.clear
33
+
34
+ ioc.logger.clear
35
+
36
+ FileUtils.rm_rf(Dir.glob(File.join(__dir__, '../tmp/*')))
37
+ end
38
+ end
39
+
40
+ def ensure_exists(file)
41
+ expect(File.exists?(file)).to be true
42
+ end
43
+
44
+ def ensure_content(file, content)
45
+ expect(File.read(file)).to match(content)
46
+ end
@@ -0,0 +1 @@
1
+ example1.txt
@@ -0,0 +1 @@
1
+ example2.txt
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: indocker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Droid Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-30 00:00:00.000000000 Z
11
+ date: 2017-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -24,21 +24,158 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: smart_ioc
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
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: docker-api
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !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: colorize
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'
27
83
  description: DSL for build, run and deploy docker containers
28
84
  email: hello@droidlabs.pro
29
- executables: []
85
+ executables:
86
+ - indocker
30
87
  extensions: []
31
88
  extra_rdoc_files: []
32
89
  files:
33
90
  - ".gitignore"
91
+ - ".rspec"
34
92
  - Gemfile
35
93
  - Gemfile.lock
36
94
  - LICENSE.txt
37
95
  - README.md
96
+ - bin/indocker
38
97
  - indocker.gemspec
39
98
  - lib/indocker.rb
99
+ - lib/indocker/application_initializer.rb
100
+ - lib/indocker/cli.rb
101
+ - lib/indocker/configs/config.rb
102
+ - lib/indocker/configs/config_factory.rb
103
+ - lib/indocker/configs/locator.rb
104
+ - lib/indocker/container/container_dsl.rb
105
+ - lib/indocker/container/container_evaluator.rb
106
+ - lib/indocker/container/container_manager.rb
107
+ - lib/indocker/container/container_metadata.rb
108
+ - lib/indocker/container/container_metadata_factory.rb
109
+ - lib/indocker/container/container_metadata_repository.rb
110
+ - lib/indocker/directives/base.rb
111
+ - lib/indocker/directives/container_directives/base.rb
112
+ - lib/indocker/directives/container_directives/depends_on.rb
113
+ - lib/indocker/directives/container_directives/env_file.rb
114
+ - lib/indocker/directives/container_directives/expose.rb
115
+ - lib/indocker/directives/container_directives/from.rb
116
+ - lib/indocker/directives/container_directives/network.rb
117
+ - lib/indocker/directives/container_directives/ports.rb
118
+ - lib/indocker/directives/container_directives/ready.rb
119
+ - lib/indocker/directives/container_directives_runner.rb
120
+ - lib/indocker/directives/docker_directives/base.rb
121
+ - lib/indocker/directives/docker_directives/cmd.rb
122
+ - lib/indocker/directives/docker_directives/copy.rb
123
+ - lib/indocker/directives/docker_directives/entrypoint.rb
124
+ - lib/indocker/directives/docker_directives/env.rb
125
+ - lib/indocker/directives/docker_directives/from.rb
126
+ - lib/indocker/directives/docker_directives/run.rb
127
+ - lib/indocker/directives/docker_directives/workdir.rb
128
+ - lib/indocker/directives/image_directives_runner.rb
129
+ - lib/indocker/directives/partial.rb
130
+ - lib/indocker/directives/prepare_directives/base.rb
131
+ - lib/indocker/directives/prepare_directives/docker_cp.rb
132
+ - lib/indocker/docker_api.rb
133
+ - lib/indocker/dsl_context.rb
134
+ - lib/indocker/envs/env_metadata.rb
135
+ - lib/indocker/envs/loader.rb
136
+ - lib/indocker/envs/manager.rb
137
+ - lib/indocker/errors.rb
138
+ - lib/indocker/handlers/base.rb
139
+ - lib/indocker/handlers/run_container.rb
140
+ - lib/indocker/image/image_builder.rb
141
+ - lib/indocker/image/image_dependencies_manager.rb
142
+ - lib/indocker/image/image_dsl.rb
143
+ - lib/indocker/image/image_evaluator.rb
144
+ - lib/indocker/image/image_metadata.rb
145
+ - lib/indocker/image/image_metadata_factory.rb
146
+ - lib/indocker/image/image_metadata_repository.rb
147
+ - lib/indocker/networks/network_metadata.rb
148
+ - lib/indocker/networks/network_metadata_factory.rb
149
+ - lib/indocker/networks/network_metadata_repository.rb
150
+ - lib/indocker/partial/partial_metadata.rb
151
+ - lib/indocker/partial/partial_metadata_repository.rb
152
+ - lib/indocker/utils/ioc_container.rb
153
+ - lib/indocker/utils/logger.rb
154
+ - lib/indocker/utils/logger_factory.rb
155
+ - lib/indocker/utils/registry_authenticator.rb
156
+ - lib/indocker/utils/render_namespace.rb
157
+ - lib/indocker/utils/render_util.rb
158
+ - lib/indocker/utils/string_utils.rb
159
+ - lib/indocker/utils/tar_helper.rb
160
+ - lib/indocker/utils/test_logger_factory.rb
40
161
  - lib/indocker/version.rb
41
- - spec/.gitkeep
162
+ - spec/example/.indocker/config.rb
163
+ - spec/example/.indocker/images_and_containers.rb
164
+ - spec/example/assets/index.css
165
+ - spec/example/assets/index.js
166
+ - spec/indocker/configs/config_factory_spec.rb
167
+ - spec/indocker/configs/config_spec.rb
168
+ - spec/indocker/container/container_manager_spec.rb
169
+ - spec/indocker/directives/image_directives_runner_spec.rb
170
+ - spec/indocker/handlers/run_container_spec.rb
171
+ - spec/indocker/image/image_builder_spec.rb
172
+ - spec/indocker/image/image_evaluator_spec.rb
173
+ - spec/indocker/utils/docker_api_spec.rb
174
+ - spec/spec_helper.rb
175
+ - spec/tmp/indocker_list_container_files/deeper/example3.txt
176
+ - spec/tmp/indocker_list_container_files/deeper/example4.txt
177
+ - spec/tmp/indocker_list_container_files/example1.txt
178
+ - spec/tmp/indocker_list_container_files/example2.txt
42
179
  homepage: https://github.com/droidlabs/indocker
43
180
  licenses:
44
181
  - MIT
@@ -62,6 +199,22 @@ rubyforge_project:
62
199
  rubygems_version: 2.6.12
63
200
  signing_key:
64
201
  specification_version: 4
65
- summary: InDocker
202
+ summary: Indocker
66
203
  test_files:
67
- - spec/.gitkeep
204
+ - spec/example/.indocker/config.rb
205
+ - spec/example/.indocker/images_and_containers.rb
206
+ - spec/example/assets/index.css
207
+ - spec/example/assets/index.js
208
+ - spec/indocker/configs/config_factory_spec.rb
209
+ - spec/indocker/configs/config_spec.rb
210
+ - spec/indocker/container/container_manager_spec.rb
211
+ - spec/indocker/directives/image_directives_runner_spec.rb
212
+ - spec/indocker/handlers/run_container_spec.rb
213
+ - spec/indocker/image/image_builder_spec.rb
214
+ - spec/indocker/image/image_evaluator_spec.rb
215
+ - spec/indocker/utils/docker_api_spec.rb
216
+ - spec/spec_helper.rb
217
+ - spec/tmp/indocker_list_container_files/deeper/example3.txt
218
+ - spec/tmp/indocker_list_container_files/deeper/example4.txt
219
+ - spec/tmp/indocker_list_container_files/example1.txt
220
+ - spec/tmp/indocker_list_container_files/example2.txt
data/spec/.gitkeep DELETED
File without changes