indocker 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.rspec +1 -0
- data/Gemfile.lock +12 -0
- data/bin/indocker +9 -0
- data/indocker.gemspec +7 -2
- data/lib/indocker/application_initializer.rb +30 -0
- data/lib/indocker/cli.rb +17 -0
- data/lib/indocker/configs/config.rb +76 -0
- data/lib/indocker/configs/config_factory.rb +36 -0
- data/lib/indocker/configs/locator.rb +23 -0
- data/lib/indocker/container/container_dsl.rb +60 -0
- data/lib/indocker/container/container_evaluator.rb +13 -0
- data/lib/indocker/container/container_manager.rb +111 -0
- data/lib/indocker/container/container_metadata.rb +107 -0
- data/lib/indocker/container/container_metadata_factory.rb +27 -0
- data/lib/indocker/container/container_metadata_repository.rb +27 -0
- data/lib/indocker/directives/base.rb +21 -0
- data/lib/indocker/directives/container_directives/base.rb +19 -0
- data/lib/indocker/directives/container_directives/depends_on.rb +7 -0
- data/lib/indocker/directives/container_directives/env_file.rb +7 -0
- data/lib/indocker/directives/container_directives/expose.rb +7 -0
- data/lib/indocker/directives/container_directives/from.rb +12 -0
- data/lib/indocker/directives/container_directives/network.rb +12 -0
- data/lib/indocker/directives/container_directives/ports.rb +8 -0
- data/lib/indocker/directives/container_directives/ready.rb +16 -0
- data/lib/indocker/directives/container_directives_runner.rb +46 -0
- data/lib/indocker/directives/docker_directives/base.rb +15 -0
- data/lib/indocker/directives/docker_directives/cmd.rb +15 -0
- data/lib/indocker/directives/docker_directives/copy.rb +27 -0
- data/lib/indocker/directives/docker_directives/entrypoint.rb +15 -0
- data/lib/indocker/directives/docker_directives/env.rb +5 -0
- data/lib/indocker/directives/docker_directives/from.rb +30 -0
- data/lib/indocker/directives/docker_directives/run.rb +5 -0
- data/lib/indocker/directives/docker_directives/workdir.rb +5 -0
- data/lib/indocker/directives/image_directives_runner.rb +120 -0
- data/lib/indocker/directives/partial.rb +13 -0
- data/lib/indocker/directives/prepare_directives/base.rb +6 -0
- data/lib/indocker/directives/prepare_directives/docker_cp.rb +16 -0
- data/lib/indocker/docker_api.rb +180 -0
- data/lib/indocker/dsl_context.rb +17 -0
- data/lib/indocker/envs/env_metadata.rb +35 -0
- data/lib/indocker/envs/loader.rb +19 -0
- data/lib/indocker/envs/manager.rb +30 -0
- data/lib/indocker/errors.rb +17 -0
- data/lib/indocker/handlers/base.rb +13 -0
- data/lib/indocker/handlers/run_container.rb +29 -0
- data/lib/indocker/image/image_builder.rb +39 -0
- data/lib/indocker/image/image_dependencies_manager.rb +43 -0
- data/lib/indocker/image/image_dsl.rb +69 -0
- data/lib/indocker/image/image_evaluator.rb +21 -0
- data/lib/indocker/image/image_metadata.rb +50 -0
- data/lib/indocker/image/image_metadata_factory.rb +30 -0
- data/lib/indocker/image/image_metadata_repository.rb +30 -0
- data/lib/indocker/networks/network_metadata.rb +9 -0
- data/lib/indocker/networks/network_metadata_factory.rb +9 -0
- data/lib/indocker/networks/network_metadata_repository.rb +34 -0
- data/lib/indocker/partial/partial_metadata.rb +8 -0
- data/lib/indocker/partial/partial_metadata_repository.rb +26 -0
- data/lib/indocker/utils/ioc_container.rb +17 -0
- data/lib/indocker/utils/logger.rb +62 -0
- data/lib/indocker/utils/logger_factory.rb +12 -0
- data/lib/indocker/utils/registry_authenticator.rb +19 -0
- data/lib/indocker/utils/render_namespace.rb +11 -0
- data/lib/indocker/utils/render_util.rb +15 -0
- data/lib/indocker/utils/string_utils.rb +11 -0
- data/lib/indocker/utils/tar_helper.rb +40 -0
- data/lib/indocker/utils/test_logger_factory.rb +9 -0
- data/lib/indocker/version.rb +2 -2
- data/lib/indocker.rb +123 -1
- data/spec/example/.indocker/config.rb +23 -0
- data/spec/example/.indocker/images_and_containers.rb +25 -0
- data/spec/example/assets/index.css +1 -0
- data/spec/example/assets/index.js +1 -0
- data/spec/indocker/configs/config_factory_spec.rb +18 -0
- data/spec/indocker/configs/config_spec.rb +37 -0
- data/spec/indocker/container/container_manager_spec.rb +230 -0
- data/spec/indocker/directives/image_directives_runner_spec.rb +121 -0
- data/spec/indocker/handlers/run_container_spec.rb +107 -0
- data/spec/indocker/image/image_builder_spec.rb +115 -0
- data/spec/indocker/image/image_evaluator_spec.rb +65 -0
- data/spec/indocker/utils/docker_api_spec.rb +87 -0
- data/spec/spec_helper.rb +46 -0
- data/spec/tmp/indocker_list_container_files/deeper/example3.txt +1 -0
- data/spec/tmp/indocker_list_container_files/deeper/example4.txt +1 -0
- data/spec/tmp/indocker_list_container_files/example1.txt +1 -0
- data/spec/tmp/indocker_list_container_files/example2.txt +1 -0
- metadata +159 -6
- 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
|
data/spec/spec_helper.rb
ADDED
@@ -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
|
+
example3.txt
|
@@ -0,0 +1 @@
|
|
1
|
+
example4.txt
|
@@ -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.
|
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-
|
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/.
|
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:
|
202
|
+
summary: Indocker
|
66
203
|
test_files:
|
67
|
-
- spec/.
|
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
|