docker_core 0.0.25 → 0.0.29

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/docker_core.rb +72 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1aa25b8f032a45928140b7f29a149f6dfd9e5b658775027a68c0af0149c3a56
4
- data.tar.gz: 0e7384b6cfacba90eaea5a6fcc1c95fad176a350b644030a82aecb01ca41710d
3
+ metadata.gz: c2140de9087b77a0e18d16fce1b19d5e2717df2be9be9031d0b6428ca9edd82b
4
+ data.tar.gz: eadb652ba7df647a1393fa97e96d125d755593c844720ee7ee926d4cd99d70fb
5
5
  SHA512:
6
- metadata.gz: 1152e77399f32f7339b421a8f7a589d2c14545a40ca6670459a56a190e6e73749d01d055649dbc12c2c091aa67690101524ea9e890428a76f8a0217a35adc59b
7
- data.tar.gz: 31bb09aa3c9c01d053764efd20264fc21453e6bb0a0f3c8d26ea71e7804f23f7b90bf190339a7dc91cb382a45cf151eca488bd2f37b595f080b2625e50b4eb66
6
+ metadata.gz: 3a8239bb8ca67edb1b482daf19aa2b4d2e0a72e8b4ad68cff3d386b47b224ac97d82bc12e19af32af1a5e07c9c1feb709394291671f8a4fca9b45e137d43c208
7
+ data.tar.gz: f0b5438ab72e169fdfed38bd7ab6165d326b5739d0f2d77c6610e22c68eb406eb76275231ac4ace0174c9e29bd414aa81743f69f64e546c9d2448a26c79ba61c
data/lib/docker_core.rb CHANGED
@@ -4,12 +4,15 @@ require('json')
4
4
  require('net/http')
5
5
  require('rubygems/package')
6
6
  require('thor')
7
+ require('yaml')
7
8
  require('zlib')
8
9
 
9
10
  module DockerCore
10
11
  SUDO = false
11
12
  USER = 'core'
12
13
  GROUP = 'core'
14
+ REGISTRY = 'docker.io'
15
+ NAMESPACE = 'library'
13
16
 
14
17
  class Color < Thor::Shell::Color
15
18
  # @param [String] text
@@ -40,6 +43,75 @@ module DockerCore
40
43
  module Command
41
44
  end
42
45
 
46
+ module Swarm
47
+ # @param [String] image
48
+ # @param [String] registry
49
+ # @param [String] namespace
50
+ # @param [String] tag
51
+ def self.use_image(image, registry: REGISTRY, namespace: NAMESPACE, tag: 'latest')
52
+ return [registry, namespace, image].join('/') + ":#{tag}"
53
+ end
54
+
55
+ # @param [String] service
56
+ def self.service_actived(service)
57
+ return 'active' == Process.capture("systemctl is-active #{service}").downcase
58
+ end
59
+
60
+ def self.swarm_path
61
+ return File.expand_path('~/.swarm')
62
+ end
63
+
64
+ # @param [String] swarm
65
+ def self.write_swarm(swarm = '')
66
+ return File.write(self.swarm_path, "#{swarm}\n")
67
+ end
68
+
69
+ def self.read_swarm
70
+ file = self.swarm_path
71
+ return File.exists?(file) ? File.read(file).strip : ''
72
+ end
73
+
74
+ def self.detect_services
75
+ return { docker: self.service_actived('docker') }
76
+ end
77
+
78
+ def self.detect_swarm
79
+ swarm = self.read_swarm.to_sym
80
+ detect = self.detect_services
81
+
82
+ if detect.has_key?(swarm) && detect[swarm]
83
+ return "#{swarm}"
84
+ end
85
+
86
+ index = detect.key(true)
87
+ return "#{index}"
88
+ end
89
+
90
+ def self.swarm_status
91
+ color = Color::GREEN
92
+ detect = self.detect_swarm
93
+
94
+ Color.echo("Swarm: #{detect}", color)
95
+ Color.echo(self.detect_services.to_yaml, color)
96
+ end
97
+
98
+ # @param [String] swarm
99
+ def self.update_swarm(swarm = '')
100
+ if false == swarm.empty?
101
+ self.write_swarm(swarm)
102
+ end
103
+
104
+ swarm = self.detect_swarm
105
+ self.write_swarm(swarm)
106
+
107
+ if swarm.empty?
108
+ swarm = 'none'
109
+ end
110
+
111
+ Color.echo("Swarm: #{swarm}", Color::GREEN)
112
+ end
113
+ end
114
+
43
115
  module Paser
44
116
  # @param [String] text
45
117
  def self.boolean(text)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.25
4
+ version: 0.0.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - agrozyme
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-30 00:00:00.000000000 Z
11
+ date: 2021-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fileutils