dockdev 0.1.0 → 0.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5b6df05dd817ea0242093d22aefcfb2abf7ffce458eb096f2a95b08beeece48
4
- data.tar.gz: f6a396ac3028121f65f8cb14213856d328af4b4da871f6e642dafb5ad9b3d049
3
+ metadata.gz: ae53f112ef2da40dd6f0e67aa08cf46fa28d95f39f3daf954e7b6f6c75b173e1
4
+ data.tar.gz: f5c29328fb8af2eed4e8fe81ed802e5e7aff2afecee55bc5869e034db4988115
5
5
  SHA512:
6
- metadata.gz: e8f5c9eaa0b9bdef3bc8f9a9c2dc27416947200be9ae66c60f66b683e527af4652c523c3d928d83c05ce21f36504620662bde7094c35b4e6f6b925748404445a
7
- data.tar.gz: 67c4b265a8c47afa0d5003f3412ece1789c1376c140e2040932409490e59aed6c0d571dd1d3d6da605f689220e676902fca5b8735b7d5faed055b6e60a3ab81b
6
+ metadata.gz: eddc7f0d9df4e3df3ad82d7095f28bba1581572c1cc52650d9296d4424be28dad40f384fe2bb22a5b7f49d9bf669cc7bb7ab689e8a700279869f814b7ea119a5
7
+ data.tar.gz: 070d3f1533400bd75fdb84f20ef3c19af299f9f0ec618153c343274fdbad6fa23e43f0a1904ac01beaa36bb4402da8e3df74d859d2c3227d9717793791ecee19
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # end result is there is one container created and
4
+ # start will always go into that container until it is
5
+ # destroy
6
+ # Taking the vagrant model
7
+
8
+ require 'tty/prompt'
9
+ require 'colorize'
10
+
11
+ require_relative '../lib/dockdev'
12
+
13
+ contName = ARGV.first || File.basename(Dir.getwd)
14
+
15
+ begin
16
+ tty = TTY::Prompt.new
17
+
18
+ skip = tty.no? "Destroy development env '#{contName}'?"
19
+ if not skip
20
+ Dockdev.destroy(contName, root: Dir.getwd)
21
+ STDOUT.puts "\n Docker development environment destroy successfully\n\n".green
22
+ else
23
+ STDOUT.puts "\n Docker development environment destroy aborted\n\n".yellow
24
+ end
25
+ rescue StandardError => ex
26
+ STDERR.puts ex.message.red
27
+ end
28
+
29
+
@@ -51,5 +51,23 @@ module Dockdev
51
51
 
52
52
  end
53
53
 
54
+ def stop
55
+ res = @cmd_fact.stop_container(@cont_name).run
56
+ if res.success?
57
+ not res.is_out_stream_empty?
58
+ else
59
+ raise Error, "Command stop container failed with error : #{res.err_stream}"
60
+ end
61
+ end
62
+
63
+ def destroy
64
+ res = @cmd_fact.delete_container(@cont_name).run
65
+ if res.success?
66
+ not res.is_out_stream_empty?
67
+ else
68
+ raise Error, "Command delete container failed with error : #{res.err_stream}"
69
+ end
70
+ end
71
+
54
72
  end
55
73
  end
data/lib/dockdev/image.rb CHANGED
@@ -34,11 +34,16 @@ module Dockdev
34
34
  context_root: opts[:root],
35
35
  dockerfile: dockerfile
36
36
  }
37
- res = @cmd_fact.build_image(@image_name, optss).run
38
- if res.success?
39
- new_container(opts[:container_name], opts)
37
+ optss.merge!(opts)
38
+ @cmd_fact.build_image(@image_name, optss).run
39
+ end
40
+
41
+ def destroy
42
+ res = @cmd_fact.delete_image(@image_name).run
43
+ if res.success?
44
+ not res.is_out_stream_empty?
40
45
  else
41
- raise Error, "Error triggered during find existing image : #{res.err_stream}"
46
+ raise Error, "Error triggered during deleting image : #{res.err_stream}"
42
47
  end
43
48
  end
44
49
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dockdev
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
data/lib/dockdev.rb CHANGED
@@ -3,6 +3,7 @@
3
3
  require 'teLogger'
4
4
  require 'toolrack'
5
5
  require 'docker/cli'
6
+ require 'colorize'
6
7
 
7
8
  require_relative "dockdev/version"
8
9
 
@@ -36,8 +37,24 @@ module Dockdev
36
37
  img.build(wss.dockerfile)
37
38
  img.new_container(cont.name, command: cmd)
38
39
  else
39
- raise Error, "\n No image and no Dockerfile found to build the image found. Operation aborted. \n\n"
40
+ raise Error, "\n No image and no Dockerfile found to build the image found. Operation aborted. \n\n".red
40
41
  end
41
42
  end
42
43
  end
44
+
45
+ def self.destroy(contName, opts = {})
46
+
47
+ cont = Container.new(contName)
48
+ if cont.has_container?
49
+ cont.stop if cont.running?
50
+ cont.destroy
51
+ end
52
+
53
+ img = Image.new(contName)
54
+ if img.has_image?
55
+ img.destroy
56
+ end
57
+
58
+ end
59
+
43
60
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockdev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.5.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: tty-prompt
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.23'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.23'
69
+ - !ruby/object:Gem::Dependency
70
+ name: colorize
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.1'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: release-gem
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -71,6 +99,7 @@ email:
71
99
  - chris@antrapol.com
72
100
  executables:
73
101
  - dockdev
102
+ - dockdev-destroy
74
103
  extensions: []
75
104
  extra_rdoc_files: []
76
105
  files:
@@ -79,6 +108,7 @@ files:
79
108
  - README.md
80
109
  - Rakefile
81
110
  - exe/dockdev
111
+ - exe/dockdev-destroy
82
112
  - lib/dockdev.rb
83
113
  - lib/dockdev/container.rb
84
114
  - lib/dockdev/image.rb