dockdev 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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