dockerun 0.3.6 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -11
- data/Rakefile +0 -2
- data/Rakefile.bak +8 -0
- data/dockerspec.sample +107 -0
- data/{dockerun.gemspec → dockerun.gemspec.bak} +20 -22
- data/exe/dockerun +15 -115
- data/lib/dockerun/cli/command.rb +140 -0
- data/lib/dockerun/cli/command_factory.rb +316 -0
- data/lib/dockerun/cli/command_result.rb +67 -0
- data/lib/dockerun/cli/delete_container.rb +59 -0
- data/lib/dockerun/cli/delete_image.rb +103 -0
- data/lib/dockerun/cli/run.rb +40 -0
- data/lib/dockerun/cli/user_info.rb +39 -0
- data/lib/dockerun/cli_engine.rb +122 -0
- data/lib/dockerun/config.rb +50 -85
- data/lib/dockerun/context/rubygems.rb +142 -0
- data/lib/dockerun/dfile.rb +204 -0
- data/lib/dockerun/docker_cli.rb +124 -0
- data/lib/dockerun/dsl.rb +342 -0
- data/lib/dockerun/version.rb +1 -1
- data/lib/dockerun.rb +32 -24
- data/sig/dockerun.rbs +4 -0
- metadata +62 -73
- data/.release_history.yml +0 -56
- data/Dockerfile.dockerun +0 -38
- data/Gemfile +0 -15
- data/Gemfile.lock +0 -94
- data/bin/console +0 -15
- data/bin/setup +0 -8
- data/lib/dockerun/bundler_helper.rb +0 -25
- data/lib/dockerun/cli_prompt.rb +0 -18
- data/lib/dockerun/command/dockerun.rb +0 -30
- data/lib/dockerun/command/init.rb +0 -79
- data/lib/dockerun/command/remove_container.rb +0 -99
- data/lib/dockerun/command/reset_image.rb +0 -107
- data/lib/dockerun/command/run.rb +0 -226
- data/lib/dockerun/command/run_new_container.rb +0 -94
- data/lib/dockerun/command/run_new_image.rb +0 -89
- data/lib/dockerun/command/stop_container.rb +0 -90
- data/lib/dockerun/docker_command_factory_helper.rb +0 -19
- data/lib/dockerun/docker_container_helper.rb +0 -213
- data/lib/dockerun/docker_image_helper.rb +0 -381
- data/lib/dockerun/template/general_template_writer.rb +0 -14
- data/lib/dockerun/template/jruby_template_writer.rb +0 -24
- data/lib/dockerun/template/template_engine.rb +0 -27
- data/lib/dockerun/template/template_writer.rb +0 -102
- data/lib/dockerun/user_info.rb +0 -37
- data/template/Dockerfile_general.erb +0 -41
- data/template/setup_ruby_devenv.rb.erb +0 -22
metadata
CHANGED
@@ -1,169 +1,158 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dockerun
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Chris
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: teLogger
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '0.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
26
|
+
version: '0.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: toolrack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '0.23'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '0.23'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: tty-
|
42
|
+
name: tty-prompt
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '0.23'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '0.23'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: tty-
|
56
|
+
name: tty-command
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
61
|
+
version: '0.10'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
68
|
+
version: '0.10'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: tty-which
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
75
|
+
version: '0.5'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
82
|
+
version: '0.5'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: pastel
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: '0.8'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: '0.8'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: colorize
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
104
|
-
type: :
|
103
|
+
version: '1.1'
|
104
|
+
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '1.1'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: release-gem
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
117
|
+
version: '0.3'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
124
|
+
version: '0.3'
|
125
125
|
description: ''
|
126
126
|
email:
|
127
|
-
-
|
127
|
+
- chris@antrapol.com
|
128
128
|
executables:
|
129
129
|
- dockerun
|
130
130
|
extensions: []
|
131
131
|
extra_rdoc_files: []
|
132
132
|
files:
|
133
|
-
- ".release_history.yml"
|
134
133
|
- ".rspec"
|
135
|
-
- Dockerfile.dockerun
|
136
|
-
- Gemfile
|
137
|
-
- Gemfile.lock
|
138
134
|
- README.md
|
139
135
|
- Rakefile
|
140
|
-
-
|
141
|
-
-
|
142
|
-
- dockerun.gemspec
|
136
|
+
- Rakefile.bak
|
137
|
+
- dockerspec.sample
|
138
|
+
- dockerun.gemspec.bak
|
143
139
|
- exe/dockerun
|
144
140
|
- lib/dockerun.rb
|
145
|
-
- lib/dockerun/
|
146
|
-
- lib/dockerun/
|
147
|
-
- lib/dockerun/
|
148
|
-
- lib/dockerun/
|
149
|
-
- lib/dockerun/
|
150
|
-
- lib/dockerun/
|
151
|
-
- lib/dockerun/
|
152
|
-
- lib/dockerun/
|
153
|
-
- lib/dockerun/command/run_new_image.rb
|
154
|
-
- lib/dockerun/command/stop_container.rb
|
141
|
+
- lib/dockerun/cli/command.rb
|
142
|
+
- lib/dockerun/cli/command_factory.rb
|
143
|
+
- lib/dockerun/cli/command_result.rb
|
144
|
+
- lib/dockerun/cli/delete_container.rb
|
145
|
+
- lib/dockerun/cli/delete_image.rb
|
146
|
+
- lib/dockerun/cli/run.rb
|
147
|
+
- lib/dockerun/cli/user_info.rb
|
148
|
+
- lib/dockerun/cli_engine.rb
|
155
149
|
- lib/dockerun/config.rb
|
156
|
-
- lib/dockerun/
|
157
|
-
- lib/dockerun/
|
158
|
-
- lib/dockerun/
|
159
|
-
- lib/dockerun/
|
160
|
-
- lib/dockerun/template/jruby_template_writer.rb
|
161
|
-
- lib/dockerun/template/template_engine.rb
|
162
|
-
- lib/dockerun/template/template_writer.rb
|
163
|
-
- lib/dockerun/user_info.rb
|
150
|
+
- lib/dockerun/context/rubygems.rb
|
151
|
+
- lib/dockerun/dfile.rb
|
152
|
+
- lib/dockerun/docker_cli.rb
|
153
|
+
- lib/dockerun/dsl.rb
|
164
154
|
- lib/dockerun/version.rb
|
165
|
-
-
|
166
|
-
- template/setup_ruby_devenv.rb.erb
|
155
|
+
- sig/dockerun.rbs
|
167
156
|
homepage: ''
|
168
157
|
licenses: []
|
169
158
|
metadata: {}
|
@@ -175,14 +164,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
175
164
|
requirements:
|
176
165
|
- - ">="
|
177
166
|
- !ruby/object:Gem::Version
|
178
|
-
version: 2.
|
167
|
+
version: 2.6.0
|
179
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
169
|
requirements:
|
181
170
|
- - ">="
|
182
171
|
- !ruby/object:Gem::Version
|
183
172
|
version: '0'
|
184
173
|
requirements: []
|
185
|
-
rubygems_version: 3.4.
|
174
|
+
rubygems_version: 3.4.6
|
186
175
|
signing_key:
|
187
176
|
specification_version: 4
|
188
177
|
summary: ''
|
data/.release_history.yml
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
---
|
2
|
-
dockerun:
|
3
|
-
- :version: 0.1.0
|
4
|
-
:timestamp: 1670316183.6472232
|
5
|
-
- :version: 0.1.1
|
6
|
-
:timestamp: 1670316312.4779773
|
7
|
-
- :version: 0.1.2
|
8
|
-
:timestamp: 1670322141.4019918
|
9
|
-
- :version: 0.1.3
|
10
|
-
:timestamp: 1670322571.6620317
|
11
|
-
- :version: 0.1.4
|
12
|
-
:timestamp: 1670322830.4816852
|
13
|
-
- :version: 0.1.5
|
14
|
-
:timestamp: 1670421296.0570104
|
15
|
-
- :version: 0.1.6
|
16
|
-
:timestamp: 1670421483.0685005
|
17
|
-
- :version: 0.1.7
|
18
|
-
:timestamp: 1670557200.7343419
|
19
|
-
- :version: 0.1.8
|
20
|
-
:timestamp: 1670557489.8592377
|
21
|
-
- :version: 0.1.9
|
22
|
-
:timestamp: 1670557778.5624037
|
23
|
-
- :version: 0.1.10
|
24
|
-
:timestamp: 1670579289.0579133
|
25
|
-
- :version: 0.1.11
|
26
|
-
:timestamp: 1670640649.1748028
|
27
|
-
- :version: 0.1.12
|
28
|
-
:timestamp: 1670640902.591357
|
29
|
-
- :version: 0.1.13
|
30
|
-
:timestamp: 1670649972.645625
|
31
|
-
- :version: 0.1.14
|
32
|
-
:timestamp: 1670677180.3442845
|
33
|
-
- :version: 0.1.15_mac
|
34
|
-
:timestamp: 1679552032.751968
|
35
|
-
- :version: 0.1.15
|
36
|
-
:timestamp: 1679980468.4161575
|
37
|
-
- :version: 0.1.16
|
38
|
-
:timestamp: 1680096788.8148112
|
39
|
-
- :version: 0.1.17
|
40
|
-
:timestamp: 1680413747.3876462
|
41
|
-
- :version: 0.1.18
|
42
|
-
:timestamp: 1680413850.243007
|
43
|
-
- :version: 0.2.0
|
44
|
-
:timestamp: 1680589830.9123309
|
45
|
-
- :version: 0.2.1
|
46
|
-
:timestamp: 1680590987.4122827
|
47
|
-
- :version: 0.2.2
|
48
|
-
:timestamp: 1680591256.174102
|
49
|
-
- :version: 0.3.0
|
50
|
-
:timestamp: 1680596019.8479326
|
51
|
-
- :version: 0.3.1
|
52
|
-
:timestamp: 1680596515.6388657
|
53
|
-
- :version: 0.3.3
|
54
|
-
:timestamp: 1680598096.8177018
|
55
|
-
- :version: 0.3.4
|
56
|
-
:timestamp: 1680600334.3304904
|
data/Dockerfile.dockerun
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
|
2
|
-
FROM ruby:2.7.6
|
3
|
-
LABEL version="0.1"
|
4
|
-
LABEL maintainer="chris"
|
5
|
-
LABEL description="Dockerfile generated by dockerun"
|
6
|
-
LABEL dockerun-info="https://github.com/chrisliaw/dockerun"
|
7
|
-
|
8
|
-
|
9
|
-
RUN apt-get update && apt-get install -y sudo git curl build-essential vim
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
RUN groupadd -f -g 1000 chris && \
|
15
|
-
useradd -u 1000 -g 1000 -m chris && \
|
16
|
-
usermod -aG sudo chris && \
|
17
|
-
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
18
|
-
|
19
|
-
USER chris
|
20
|
-
|
21
|
-
# from this point onwards, sudo is required for privileaged operation
|
22
|
-
#RUN sudo apt-get install -y curl build-essential
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
COPY on_docker_config /tmp/docker_init.rb
|
28
|
-
RUN ruby /tmp/docker_init.rb
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
WORKDIR /opt
|
33
|
-
|
34
|
-
|
35
|
-
# other Dockerfile entries starts here
|
36
|
-
|
37
|
-
CMD [ "/bin/bash", "--login" ]
|
38
|
-
|
data/Gemfile
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
# Specify your gem's dependencies in dockerun.gemspec
|
6
|
-
gemspec
|
7
|
-
|
8
|
-
gem "rake", "~> 13.0"
|
9
|
-
|
10
|
-
gem "rspec", "~> 3.0"
|
11
|
-
|
12
|
-
#gem 'git_cli', git: "git_cli", branch: "master"
|
13
|
-
#gem 'docker-cli', git: "docker-cli", branch: "master"
|
14
|
-
|
15
|
-
|
data/Gemfile.lock
DELETED
@@ -1,94 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
dockerun (0.3.6)
|
5
|
-
colorize
|
6
|
-
docker-cli (>= 0.3.1)
|
7
|
-
teLogger
|
8
|
-
toolrack
|
9
|
-
tty-command
|
10
|
-
tty-option
|
11
|
-
|
12
|
-
GEM
|
13
|
-
remote: https://rubygems.org/
|
14
|
-
specs:
|
15
|
-
colorize (0.8.1)
|
16
|
-
devops_assist (0.3.11)
|
17
|
-
git_cli
|
18
|
-
git_cli_prompt (~> 0.3.3)
|
19
|
-
gvcs
|
20
|
-
teLogger
|
21
|
-
toolrack
|
22
|
-
tty-prompt
|
23
|
-
diff-lcs (1.5.0)
|
24
|
-
docker-cli (0.3.1)
|
25
|
-
ptools
|
26
|
-
teLogger
|
27
|
-
toolrack
|
28
|
-
tty-command
|
29
|
-
tty-prompt
|
30
|
-
git_cli (0.11.4)
|
31
|
-
gvcs
|
32
|
-
ptools (~> 1.4.0)
|
33
|
-
teLogger
|
34
|
-
toolrack
|
35
|
-
git_cli_prompt (0.3.4)
|
36
|
-
teLogger
|
37
|
-
toolrack
|
38
|
-
tty-prompt
|
39
|
-
gvcs (0.1.2)
|
40
|
-
pastel (0.8.0)
|
41
|
-
tty-color (~> 0.5)
|
42
|
-
ptools (1.4.3)
|
43
|
-
rake (13.0.6)
|
44
|
-
release-gem (0.1.18)
|
45
|
-
colorize
|
46
|
-
git_cli
|
47
|
-
gvcs
|
48
|
-
teLogger
|
49
|
-
toolrack
|
50
|
-
tty-command
|
51
|
-
tty-prompt
|
52
|
-
rspec (3.12.0)
|
53
|
-
rspec-core (~> 3.12.0)
|
54
|
-
rspec-expectations (~> 3.12.0)
|
55
|
-
rspec-mocks (~> 3.12.0)
|
56
|
-
rspec-core (3.12.1)
|
57
|
-
rspec-support (~> 3.12.0)
|
58
|
-
rspec-expectations (3.12.2)
|
59
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
60
|
-
rspec-support (~> 3.12.0)
|
61
|
-
rspec-mocks (3.12.5)
|
62
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
63
|
-
rspec-support (~> 3.12.0)
|
64
|
-
rspec-support (3.12.0)
|
65
|
-
teLogger (0.2.2)
|
66
|
-
toolrack (0.22.1)
|
67
|
-
tty-color (0.6.0)
|
68
|
-
tty-command (0.10.1)
|
69
|
-
pastel (~> 0.8)
|
70
|
-
tty-cursor (0.7.1)
|
71
|
-
tty-option (0.2.0)
|
72
|
-
tty-prompt (0.23.1)
|
73
|
-
pastel (~> 0.8)
|
74
|
-
tty-reader (~> 0.8)
|
75
|
-
tty-reader (0.9.0)
|
76
|
-
tty-cursor (~> 0.7)
|
77
|
-
tty-screen (~> 0.8)
|
78
|
-
wisper (~> 2.0)
|
79
|
-
tty-screen (0.8.1)
|
80
|
-
wisper (2.0.1)
|
81
|
-
|
82
|
-
PLATFORMS
|
83
|
-
x86_64-darwin-21
|
84
|
-
x86_64-linux
|
85
|
-
|
86
|
-
DEPENDENCIES
|
87
|
-
devops_assist
|
88
|
-
dockerun!
|
89
|
-
rake (~> 13.0)
|
90
|
-
release-gem
|
91
|
-
rspec (~> 3.0)
|
92
|
-
|
93
|
-
BUNDLED WITH
|
94
|
-
2.4.10
|
data/bin/console
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require "bundler/setup"
|
5
|
-
require "dockerun"
|
6
|
-
|
7
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
8
|
-
# with your gem easier. You can also use a different console, if you like.
|
9
|
-
|
10
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
11
|
-
# require "pry"
|
12
|
-
# Pry.start
|
13
|
-
|
14
|
-
require "irb"
|
15
|
-
IRB.start(__FILE__)
|
data/bin/setup
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'bundler'
|
3
|
-
|
4
|
-
module Dockerun
|
5
|
-
module CommandHelper
|
6
|
-
module BundlerHelper
|
7
|
-
|
8
|
-
def find_local_dev_gems
|
9
|
-
|
10
|
-
res = {}
|
11
|
-
Bundler.load.dependencies.each do |d|
|
12
|
-
if not d.source.nil?
|
13
|
-
src = d.source
|
14
|
-
if src.path.to_s != "."
|
15
|
-
res[d.name] = src.path.to_s
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
res
|
20
|
-
|
21
|
-
end # find_local_dev_gem
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
data/lib/dockerun/cli_prompt.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'tty/option'
|
3
|
-
|
4
|
-
module Dockerun
|
5
|
-
module Command
|
6
|
-
|
7
|
-
class Dockerun
|
8
|
-
include TTY::Option
|
9
|
-
|
10
|
-
usage do
|
11
|
-
program "dockerun"
|
12
|
-
no_command
|
13
|
-
end
|
14
|
-
|
15
|
-
argument :command do
|
16
|
-
required
|
17
|
-
desc "Command for the dockerun operations. Supported: init, run (r), stop (s), run-new-container (rnc), run-new-image (rni), remove-image (rmi), remove-container (rmc)"
|
18
|
-
end
|
19
|
-
|
20
|
-
def run
|
21
|
-
if params[:help]
|
22
|
-
print help
|
23
|
-
exit
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
@@ -1,79 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'tty/option'
|
3
|
-
|
4
|
-
require_relative '../template/template_writer'
|
5
|
-
|
6
|
-
module Dockerun
|
7
|
-
module Command
|
8
|
-
|
9
|
-
class Init
|
10
|
-
include TTY::Option
|
11
|
-
include TR::CondUtils
|
12
|
-
|
13
|
-
class MultipleTemplateDetected < StandardError; end
|
14
|
-
|
15
|
-
usage do
|
16
|
-
program "dockerun"
|
17
|
-
command "init"
|
18
|
-
desc "Initialize a Dockerfile template in given location"
|
19
|
-
end
|
20
|
-
|
21
|
-
argument :location do
|
22
|
-
required
|
23
|
-
desc "Location where the Dockerfile template shall be written"
|
24
|
-
end
|
25
|
-
|
26
|
-
def run(&block)
|
27
|
-
if params[:help]
|
28
|
-
print help
|
29
|
-
exit
|
30
|
-
|
31
|
-
else
|
32
|
-
init_dockerfile(&block)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def init_dockerfile(&block)
|
37
|
-
|
38
|
-
loc = "."
|
39
|
-
loc = params[:location] if not_empty?(params[:location])
|
40
|
-
|
41
|
-
loc = File.expand_path(loc)
|
42
|
-
out = nil
|
43
|
-
if File.directory?(loc)
|
44
|
-
out = File.join(loc, "Dockerfile.dockerun")
|
45
|
-
else
|
46
|
-
out = File.join(File.dirname(loc), "Dockerfile.dockerun")
|
47
|
-
end
|
48
|
-
|
49
|
-
avail = ::Dockerun::Template::TemplateEngine.available_templates
|
50
|
-
selTemp = nil
|
51
|
-
if avail.length > 1
|
52
|
-
if block
|
53
|
-
selTemp = block.call(:multiple_templates_detected, avail)
|
54
|
-
else
|
55
|
-
raise MultipleTemplateDetected, "Multiple template is available but no selected is given."
|
56
|
-
end
|
57
|
-
else
|
58
|
-
selTemp = avail.first
|
59
|
-
end
|
60
|
-
|
61
|
-
tw = ::Dockerun::Template::TemplateWriter.new(selTemp)
|
62
|
-
userFields = tw.user_configurables
|
63
|
-
if block
|
64
|
-
tw.user_configurables = block.call(:prompt_user_configurables, { template: selTemp, userFields: userFields })
|
65
|
-
end
|
66
|
-
res = tw.compile
|
67
|
-
|
68
|
-
File.open(out, "w") do |f|
|
69
|
-
f.write res
|
70
|
-
end
|
71
|
-
|
72
|
-
out
|
73
|
-
|
74
|
-
end
|
75
|
-
|
76
|
-
end # class Init
|
77
|
-
|
78
|
-
end # module Command
|
79
|
-
end # module Dockerun
|