dockerun 0.3.6 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -11
  3. data/Rakefile +0 -2
  4. data/Rakefile.bak +8 -0
  5. data/dockerspec.sample +107 -0
  6. data/{dockerun.gemspec → dockerun.gemspec.bak} +20 -22
  7. data/exe/dockerun +15 -115
  8. data/lib/dockerun/cli/command.rb +140 -0
  9. data/lib/dockerun/cli/command_factory.rb +316 -0
  10. data/lib/dockerun/cli/command_result.rb +67 -0
  11. data/lib/dockerun/cli/delete_container.rb +59 -0
  12. data/lib/dockerun/cli/delete_image.rb +103 -0
  13. data/lib/dockerun/cli/run.rb +40 -0
  14. data/lib/dockerun/cli/user_info.rb +39 -0
  15. data/lib/dockerun/cli_engine.rb +122 -0
  16. data/lib/dockerun/config.rb +50 -85
  17. data/lib/dockerun/context/rubygems.rb +142 -0
  18. data/lib/dockerun/dfile.rb +204 -0
  19. data/lib/dockerun/docker_cli.rb +124 -0
  20. data/lib/dockerun/dsl.rb +342 -0
  21. data/lib/dockerun/version.rb +1 -1
  22. data/lib/dockerun.rb +32 -24
  23. data/sig/dockerun.rbs +4 -0
  24. metadata +62 -73
  25. data/.release_history.yml +0 -56
  26. data/Dockerfile.dockerun +0 -38
  27. data/Gemfile +0 -15
  28. data/Gemfile.lock +0 -94
  29. data/bin/console +0 -15
  30. data/bin/setup +0 -8
  31. data/lib/dockerun/bundler_helper.rb +0 -25
  32. data/lib/dockerun/cli_prompt.rb +0 -18
  33. data/lib/dockerun/command/dockerun.rb +0 -30
  34. data/lib/dockerun/command/init.rb +0 -79
  35. data/lib/dockerun/command/remove_container.rb +0 -99
  36. data/lib/dockerun/command/reset_image.rb +0 -107
  37. data/lib/dockerun/command/run.rb +0 -226
  38. data/lib/dockerun/command/run_new_container.rb +0 -94
  39. data/lib/dockerun/command/run_new_image.rb +0 -89
  40. data/lib/dockerun/command/stop_container.rb +0 -90
  41. data/lib/dockerun/docker_command_factory_helper.rb +0 -19
  42. data/lib/dockerun/docker_container_helper.rb +0 -213
  43. data/lib/dockerun/docker_image_helper.rb +0 -381
  44. data/lib/dockerun/template/general_template_writer.rb +0 -14
  45. data/lib/dockerun/template/jruby_template_writer.rb +0 -24
  46. data/lib/dockerun/template/template_engine.rb +0 -27
  47. data/lib/dockerun/template/template_writer.rb +0 -102
  48. data/lib/dockerun/user_info.rb +0 -37
  49. data/template/Dockerfile_general.erb +0 -41
  50. 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.3.6
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
- - Ian
7
+ - Chris
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-26 00:00:00.000000000 Z
11
+ date: 2023-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: toolrack
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: teLogger
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-command
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-option
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: colorize
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: docker-cli
84
+ name: pastel
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.3.1
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.3.1
96
+ version: '0.8'
97
97
  - !ruby/object:Gem::Dependency
98
- name: devops_assist
98
+ name: colorize
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
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: '0'
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
- - cameronian0@protonmail.com
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
- - bin/console
141
- - bin/setup
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/bundler_helper.rb
146
- - lib/dockerun/cli_prompt.rb
147
- - lib/dockerun/command/dockerun.rb
148
- - lib/dockerun/command/init.rb
149
- - lib/dockerun/command/remove_container.rb
150
- - lib/dockerun/command/reset_image.rb
151
- - lib/dockerun/command/run.rb
152
- - lib/dockerun/command/run_new_container.rb
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/docker_command_factory_helper.rb
157
- - lib/dockerun/docker_container_helper.rb
158
- - lib/dockerun/docker_image_helper.rb
159
- - lib/dockerun/template/general_template_writer.rb
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
- - template/Dockerfile_general.erb
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.4.0
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.10
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,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
@@ -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
@@ -1,18 +0,0 @@
1
-
2
- require 'colorize'
3
- require 'tty/prompt'
4
-
5
- module Dockerun
6
- module CliHelper
7
- module CliPrompt
8
-
9
- def cli
10
- if @pmt.nil?
11
- @pmt = TTY::Prompt.new
12
- end
13
- @pmt
14
- end
15
-
16
- end
17
- end
18
- end
@@ -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