dockerun 0.3.6 → 0.4.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 (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