docker_core 0.0.26 → 0.0.30

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 +96 -40
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59611c639cd8210b57b49f5c538f05b31c840c693c174ad97a0910ae0910713a
4
- data.tar.gz: 267162407a1497ef11607b92328b17d8896465fa309bcec0ade8d29e41fabde2
3
+ metadata.gz: b573f05e0da7921662af50b79f5d408ee1beefc37cd1032a60f2af4608746c31
4
+ data.tar.gz: e2bcafd20bbeaf0d025e50806844117f4cee5f47838ff57b474c3bfa416ba3a6
5
5
  SHA512:
6
- metadata.gz: 28ab87b38c6cd69fa0bf13ad9187058b48b3d461cef229c4c2c4d24a2f3abb33fabe5a8c7b7383f6b0ba72a2f138b4a52ceaab15ba9d4932debfa4e065e8272a
7
- data.tar.gz: 2ad3d345775b85deae503d88f860194aead2db16a3fea44f9e70d7c7e2571f6bc0ce4234bf6ce5bf8beff5dd0c14a04909527ffa8907d34fe3cb4fcdba946a52
6
+ metadata.gz: 78ef0c1353140635610d4c34ac5789e9c29739e160dea69183b7a14ac6b914ed00a8c2da020ab77b8700a76ac4c1fd0780450199ccc30ada5e5faec37a43e257
7
+ data.tar.gz: 84c1b1fe408427e78b074a4346be1187f9ca587d928769269cb107335db2038bc3fb787a4a9d70aa5a10d5f0ed6ee6d2d81f58c66e463191bbed80a4fd5e5cbc
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
@@ -38,63 +41,113 @@ module DockerCore
38
41
  end
39
42
 
40
43
  module Command
41
- module Swarm
42
- def self.swarm_path
43
- return File.expand_path('~/.swarm')
44
- end
44
+ end
45
45
 
46
- # @param [String] service
47
- def self.service_actived(service)
48
- return 'active' == Process.capture("systemctl is-active #{service}").downcase
49
- end
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
50
54
 
51
- # @param [String] name
52
- def self.write_swarm(name = '')
53
- return File.write(self.swarm_path, "#{name}\n")
54
- end
55
+ # @param [String] service
56
+ def self.service_actived(service)
57
+ return 'active' == Process.capture("systemctl is-active #{service}").downcase
58
+ end
55
59
 
56
- def self.read_swarm
57
- file = self.swarm_path
58
- return File.exists?(file) ? File.read(file).strip : ''
59
- end
60
+ def self.swarm_path
61
+ return File.expand_path('~/.swarm')
62
+ end
60
63
 
61
- # @param [String] name
62
- def self.update_swarm(name = '')
63
- if false == name.empty?
64
- self.write_swarm(name)
65
- end
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
66
73
 
67
- name = self.detect_swarm
68
- self.write_swarm(name)
74
+ def self.detect_services
75
+ return { docker: self.service_actived('docker') }
76
+ end
69
77
 
70
- if name.empty?
71
- name = 'none'
72
- end
78
+ def self.detect_swarm
79
+ swarm = self.read_swarm.to_sym
80
+ detect = self.detect_services
73
81
 
74
- Color.echo("Swarm: #{name}", Color::GREEN)
82
+ if detect.has_key?(swarm) && detect[swarm]
83
+ return "#{swarm}"
75
84
  end
76
85
 
77
- def self.detect_swarm
78
- swarm = self.read_swarm
79
- detect = self.detect_services
86
+ index = detect.key(true)
87
+ return "#{index}"
88
+ end
80
89
 
81
- if detect.has_key?(swarm) && detect[swarm.to_sym]
82
- return swarm
83
- end
90
+ def self.swarm_status
91
+ color = Color::GREEN
92
+ detect = self.detect_swarm
84
93
 
85
- index = detect.key(true)
94
+ Color.echo("Swarm: #{detect}", color)
95
+ Color.echo(self.detect_services.to_yaml, color)
96
+ end
86
97
 
87
- if index.nil?
88
- return ''
89
- end
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)
90
106
 
91
- return index.to_s
107
+ if swarm.empty?
108
+ swarm = 'none'
92
109
  end
93
110
 
94
- def self.detect_services
95
- return { docker: self.service_actived('docker') }
111
+ Color.echo("Swarm: #{swarm}", Color::GREEN)
112
+ end
113
+
114
+ # @param [String] base
115
+ # @param [String] relative
116
+ def self.pair_paths(base, relative = '')
117
+ items = {}
118
+
119
+ { inside: base, outside: Dir.pwd }.each do |key, value|
120
+ items[key] = File.join(value, relative)
96
121
  end
122
+
123
+ return items
124
+ end
125
+
126
+ # @param [Array] arguments
127
+ # @param [Boolean] throw
128
+ # @param [Numeric] wait
129
+ # @param [Boolean] strip
130
+ # @param [Boolean] echo
131
+ # @return [String]
132
+ def self.capture_command(*arguments, environment: {}, throw: false, wait: 0, strip: true, echo: false)
133
+ raise "No implement #{__method__} method"
134
+ end
135
+
136
+ # @param [Array] arguments
137
+ # @param [Boolean] throw
138
+ # @param [Numeric] wait
139
+ # @param [Boolean] echo
140
+ # @return [Boolean]
141
+ def self.run_command(*arguments, environment: {}, throw: true, wait: 0, echo: true)
142
+ raise "No implement #{__method__} method"
97
143
  end
144
+
145
+ #noinspection RubyClassVariableUsageInspection
146
+ def self.swarm
147
+ @@swarm ||= self.detect_swarm
148
+ return "#{@@swarm}"
149
+ end
150
+
98
151
  end
99
152
 
100
153
  module Paser
@@ -480,6 +533,9 @@ module DockerCore
480
533
  uri = URI("https://api.github.com/repos/#{repository}/releases/latest")
481
534
  data = JSON.parse(Net::HTTP.get(uri))['tag_name']
482
535
  return "#{data}"
536
+
537
+
538
+
483
539
  end
484
540
  end
485
541
 
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.26
4
+ version: 0.0.30
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-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fileutils