indocker 0.0.0 → 0.0.1

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