aggkit 0.4.5.12925 → 0.4.6.12955
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 +4 -4
- data/Gemfile.lock +1 -1
- data/bin/aggconsul +34 -22
- data/bin/aggexec +26 -10
- data/bin/agglock +30 -6
- data/bin/aggstart +22 -11
- data/bin/aggwait +8 -4
- data/bin/aggwrap +23 -11
- data/lib/aggkit/ci.rb +2 -2
- data/lib/aggkit/consul.rb +15 -3
- data/lib/aggkit/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7e48a17865dea2099b262c9a3934107b47d9274be7892580b534901cec2a80c
|
4
|
+
data.tar.gz: 4a96b03153abeb1cbeea5e71720435a7b78893643bed5b674983b8a4d00c4ff6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7cfbb8df979355eeaab4465281b0e99a51132fea3016d906562a5a7553ad0d9d760f78b4f375caadb9ec29553a4c160f9f514c4f1bffd0f0957611e37da58a1d
|
7
|
+
data.tar.gz: ec94c2f93f729393901884989729fe778c1f949698ca7d7cf9c5960b792bd4f7696652341ea86b194571d638b5249fed40ebd04a87c8461151dbdbe6dbfe84ba
|
data/Gemfile.lock
CHANGED
data/bin/aggconsul
CHANGED
@@ -4,17 +4,14 @@ require 'diplomat'
|
|
4
4
|
require 'optparse'
|
5
5
|
require 'English'
|
6
6
|
require 'yaml'
|
7
|
+
require 'aggkit'
|
7
8
|
|
8
9
|
STDOUT.sync = true
|
9
10
|
STDERR.sync = true
|
10
11
|
|
11
|
-
|
12
|
-
ENV['CONSUL_HTTP_ADDR'] = "http://#{ENV['CONSUL_HOST'] || 'localhost'}:8500"
|
13
|
-
end
|
12
|
+
consul_addr = Aggkit::Consul.build_consul_addr(addr: ENV['CONSUL_HTTP_ADDR'], host: ENV['CONSUL_HOST'], port: ENV['CONSUL_PORT'])
|
14
13
|
|
15
|
-
@opts = {
|
16
|
-
consul: ENV['CONSUL_HTTP_ADDR']
|
17
|
-
}
|
14
|
+
@opts = {}
|
18
15
|
|
19
16
|
UTIL = File.basename(__FILE__)
|
20
17
|
|
@@ -27,14 +24,16 @@ UTIL = File.basename(__FILE__)
|
|
27
24
|
parser = OptionParser.new do |o|
|
28
25
|
o.banner = "Usage: #{UTIL} [options] -- exec"
|
29
26
|
|
30
|
-
o.on(
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
27
|
+
o.on("--consul=#{consul_addr}", 'Set a fully qualified Consul URL. Take precendance') do |addr|
|
28
|
+
@opts[:consul_addr] = Aggkit::Consul.consul_addr(addr.to_s.strip)
|
29
|
+
end
|
30
|
+
|
31
|
+
o.on("--consul-host=#{consul_addr.host}", 'Set consul host. Ignored when consul specified') do |host|
|
32
|
+
@opts[:consul_host] = host.to_s.strip
|
33
|
+
end
|
36
34
|
|
37
|
-
|
35
|
+
o.on("--consul-port=#{consul_addr.port}", 'Set consul port. Ignored when consul specified') do |port|
|
36
|
+
@opts[:consul_port] = port.to_s.strip
|
38
37
|
end
|
39
38
|
|
40
39
|
o.on('--token token', 'Connect into consul with custom access token (ACL)') do |token|
|
@@ -91,6 +90,19 @@ parser = OptionParser.new do |o|
|
|
91
90
|
end
|
92
91
|
parser.parse!
|
93
92
|
|
93
|
+
consul_addr = if !@opts[:consul_addr].to_s.empty?
|
94
|
+
Aggkit::Consul.build_consul_addr(addr: @opts[:consul_addr].to_s, host: nil, port: nil).to_s
|
95
|
+
elsif !@opts[:consul_host].to_s.empty? || !@opts[:consul_port].to_s.empty?
|
96
|
+
Aggkit::Consul.build_consul_addr(addr: nil, host: @opts[:consul_host], port: opts[:consul_port]).to_s
|
97
|
+
else
|
98
|
+
consul_addr
|
99
|
+
end
|
100
|
+
|
101
|
+
@opts[:consul] = consul_addr.to_s
|
102
|
+
ENV['CONSUL_HTTP_ADDR'] = consul_addr.to_s
|
103
|
+
ENV['CONSUL_HOST'] = consul_addr.host.to_s
|
104
|
+
ENV['CONSUL_PORT'] = consul_addr.port.to_s
|
105
|
+
|
94
106
|
Diplomat.configure do |config|
|
95
107
|
config.url = @opts[:consul]
|
96
108
|
end
|
@@ -117,16 +129,16 @@ def dereferenced_value(value)
|
|
117
129
|
end
|
118
130
|
end
|
119
131
|
|
120
|
-
if config = @opts[:config]
|
132
|
+
if (config = @opts[:config])
|
121
133
|
@opts[:config] = YAML.load(config == '-' ? STDIN.read : File.read(config))
|
122
134
|
end
|
123
135
|
|
124
136
|
if @opts[:init]
|
125
137
|
raise OptionParser::MissingArgument.new('config') unless @opts[:config]
|
126
138
|
|
127
|
-
services = if
|
139
|
+
services = if (srv = @opts[:service])
|
128
140
|
{
|
129
|
-
|
141
|
+
srv => @opts[:config][srv]
|
130
142
|
}
|
131
143
|
else
|
132
144
|
@opts[:config]
|
@@ -162,8 +174,8 @@ end
|
|
162
174
|
if @opts[:show]
|
163
175
|
config = {}
|
164
176
|
|
165
|
-
path = if
|
166
|
-
"services/env/#{
|
177
|
+
path = if (srv = @opts[:service])
|
178
|
+
"services/env/#{srv}/"
|
167
179
|
else
|
168
180
|
'services/env/'
|
169
181
|
end
|
@@ -187,7 +199,7 @@ if @opts[:show]
|
|
187
199
|
exit 0
|
188
200
|
end
|
189
201
|
|
190
|
-
if put = @opts[:put]
|
202
|
+
if (put = @opts[:put])
|
191
203
|
path, *value = put.split(':').map(&:strip)
|
192
204
|
value = value.join(':')
|
193
205
|
value = File.read(value) if @opts[:upload] && value && File.exist?(value)
|
@@ -197,7 +209,7 @@ if put = @opts[:put]
|
|
197
209
|
exit 0
|
198
210
|
end
|
199
211
|
|
200
|
-
if path = @opts[:get]
|
212
|
+
if (path = @opts[:get])
|
201
213
|
value = dereferenced_value(Diplomat::Kv.get(path))
|
202
214
|
|
203
215
|
STDOUT.puts value.to_s.strip
|
@@ -205,7 +217,7 @@ if path = @opts[:get]
|
|
205
217
|
exit 0
|
206
218
|
end
|
207
219
|
|
208
|
-
if prefix = @opts[:env]
|
220
|
+
if (prefix = @opts[:env])
|
209
221
|
keys = begin
|
210
222
|
Diplomat::Kv.get(prefix, keys: true)
|
211
223
|
rescue Diplomat::KeyNotFound => e
|
@@ -220,7 +232,7 @@ if prefix = @opts[:env]
|
|
220
232
|
e.merge(key_to_env(key.gsub(prefix, '')) => value)
|
221
233
|
end
|
222
234
|
|
223
|
-
if cmd = @opts[:exec]
|
235
|
+
if (cmd = @opts[:exec])
|
224
236
|
env = ENV.to_h.merge(env) unless @opts[:pristine]
|
225
237
|
|
226
238
|
exec(env, cmd, unsetenv_others: true)
|
data/bin/aggexec
CHANGED
@@ -4,12 +4,10 @@ require 'aggkit'
|
|
4
4
|
|
5
5
|
UTIL = File.basename(__FILE__)
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
end
|
7
|
+
consul_addr = Aggkit::Consul.build_consul_addr(addr: ENV['CONSUL_HTTP_ADDR'], host: ENV['CONSUL_HOST'], port: ENV['CONSUL_PORT'])
|
8
|
+
|
10
9
|
|
11
10
|
@opts = {
|
12
|
-
consul: ENV['CONSUL_HTTP_ADDR'],
|
13
11
|
depends: [],
|
14
12
|
prefixes: [],
|
15
13
|
templates: []
|
@@ -25,9 +23,16 @@ end
|
|
25
23
|
parser = Aggkit::OptionParser.new do |o|
|
26
24
|
o.banner = "Usage: #{UTIL} [options] -- exec"
|
27
25
|
|
28
|
-
o.on("--consul=#{
|
29
|
-
|
30
|
-
|
26
|
+
o.on("--consul=#{consul_addr}", 'Set a fully qualified Consul URL. Take precendance') do |addr|
|
27
|
+
@opts[:consul_addr] = Aggkit::Consul.consul_addr(addr.to_s.strip)
|
28
|
+
end
|
29
|
+
|
30
|
+
o.on("--consul-host=#{consul_addr.host}", 'Set consul host. Ignored when consul specified') do |host|
|
31
|
+
@opts[:consul_host] = host.to_s.strip
|
32
|
+
end
|
33
|
+
|
34
|
+
o.on("--consul-port=#{consul_addr.port}", 'Set consul port. Ignored when consul specified') do |port|
|
35
|
+
@opts[:consul_port] = port.to_s.strip
|
31
36
|
end
|
32
37
|
|
33
38
|
o.on('--depends=mq,db,router...', 'Set list of services to wait for ready before start') do |list|
|
@@ -52,13 +57,24 @@ parser = Aggkit::OptionParser.new do |o|
|
|
52
57
|
end
|
53
58
|
parser.parse!
|
54
59
|
|
60
|
+
consul_addr = if !@opts[:consul_addr].to_s.empty?
|
61
|
+
Aggkit::Consul.build_consul_addr(addr: @opts[:consul_addr].to_s, host: nil, port: nil).to_s
|
62
|
+
elsif !@opts[:consul_host].to_s.empty? || !@opts[:consul_port].to_s.empty?
|
63
|
+
Aggkit::Consul.build_consul_addr(addr: nil, host: @opts[:consul_host], port: opts[:consul_port]).to_s
|
64
|
+
else
|
65
|
+
consul_addr
|
66
|
+
end
|
67
|
+
|
68
|
+
@opts[:consul] = consul_addr.to_s
|
69
|
+
ENV['CONSUL_HTTP_ADDR'] = consul_addr.to_s
|
70
|
+
ENV['CONSUL_HOST'] = consul_addr.host.to_s
|
71
|
+
ENV['CONSUL_PORT'] = consul_addr.port.to_s
|
72
|
+
|
55
73
|
@opts[:depends] = @opts[:depends].reject(&:empty?)
|
56
74
|
@opts[:prefixes] = @opts[:prefixes].reject(&:empty?)
|
57
75
|
@opts[:templates] = @opts[:templates].reject(&:empty?)
|
58
76
|
|
59
|
-
if @opts[:exec].empty? && !@opts[:noexec]
|
60
|
-
Aggkit::Exec.die 'exec script must be provided'
|
61
|
-
end
|
77
|
+
Aggkit::Exec.die 'exec script must be provided' if @opts[:exec].empty? && !@opts[:noexec]
|
62
78
|
|
63
79
|
if @opts[:depends].any? || @opts[:prefixes].any?
|
64
80
|
# Wait for consul
|
data/bin/agglock
CHANGED
@@ -3,8 +3,10 @@
|
|
3
3
|
require 'optparse'
|
4
4
|
require 'diplomat'
|
5
5
|
|
6
|
+
consul_addr = Aggkit::Consul.build_consul_addr(addr: ENV['CONSUL_HTTP_ADDR'], host: ENV['CONSUL_HOST'], port: ENV['CONSUL_PORT'])
|
7
|
+
|
8
|
+
|
6
9
|
@opts = {
|
7
|
-
url: 'http://localhost:8500',
|
8
10
|
timeout: 10,
|
9
11
|
ttl: 30 * 60
|
10
12
|
}
|
@@ -12,10 +14,16 @@ require 'diplomat'
|
|
12
14
|
parser = OptionParser.new do |o|
|
13
15
|
o.banner = 'Usage: agglock [options]'
|
14
16
|
|
15
|
-
o.on("--consul
|
16
|
-
|
17
|
-
|
18
|
-
|
17
|
+
o.on("--consul=#{consul_addr}", 'Set a fully qualified Consul URL. Take precendance') do |addr|
|
18
|
+
@opts[:consul_addr] = Aggkit::Consul.consul_addr(addr.to_s.strip)
|
19
|
+
end
|
20
|
+
|
21
|
+
o.on("--consul-host=#{consul_addr.host}", 'Set consul host. Ignored when consul specified') do |host|
|
22
|
+
@opts[:consul_host] = host.to_s.strip
|
23
|
+
end
|
24
|
+
|
25
|
+
o.on("--consul-port=#{consul_addr.port}", 'Set consul port. Ignored when consul specified') do |port|
|
26
|
+
@opts[:consul_port] = port.to_s.strip
|
19
27
|
end
|
20
28
|
|
21
29
|
o.on('--lock resource', 'resource name to lock with Consul') do |resource|
|
@@ -36,6 +44,22 @@ parser = OptionParser.new do |o|
|
|
36
44
|
end
|
37
45
|
parser.parse!
|
38
46
|
|
47
|
+
consul_addr = if !@opts[:consul_addr].to_s.empty?
|
48
|
+
Aggkit::Consul.build_consul_addr(addr: @opts[:consul_addr].to_s, host: nil, port: nil).to_s
|
49
|
+
elsif !@opts[:consul_host].to_s.empty? || !@opts[:consul_port].to_s.empty?
|
50
|
+
Aggkit::Consul.build_consul_addr(addr: nil, host: @opts[:consul_host], port: opts[:consul_port]).to_s
|
51
|
+
else
|
52
|
+
consul_addr
|
53
|
+
end
|
54
|
+
|
55
|
+
@opts[:consul] = consul_addr.to_s
|
56
|
+
ENV['CONSUL_HTTP_ADDR'] = consul_addr.to_s
|
57
|
+
ENV['CONSUL_HOST'] = consul_addr.host.to_s
|
58
|
+
ENV['CONSUL_PORT'] = consul_addr.port.to_s
|
59
|
+
|
60
|
+
Diplomat.configure do |config|
|
61
|
+
config.url = @opts[:consul]
|
62
|
+
end
|
39
63
|
|
40
64
|
def lock(session, locker, timeout)
|
41
65
|
Timeout.timeout(timeout) do
|
@@ -46,7 +70,7 @@ rescue Timeout::Error => e
|
|
46
70
|
end
|
47
71
|
|
48
72
|
|
49
|
-
if resource = @opts[:lock]
|
73
|
+
if (resource = @opts[:lock])
|
50
74
|
locker = {
|
51
75
|
Name: "#{resource}_locker_#{rand(999_999)}",
|
52
76
|
Behavior: 'delete',
|
data/bin/aggstart
CHANGED
@@ -6,13 +6,10 @@ UTIL = File.basename(__FILE__)
|
|
6
6
|
|
7
7
|
include Aggkit::Runner
|
8
8
|
|
9
|
-
|
10
|
-
ENV['CONSUL_HTTP_ADDR'] = "http://#{ENV['CONSUL_HOST'] || 'localhost'}:8500"
|
11
|
-
end
|
9
|
+
consul_addr = Aggkit::Consul.build_consul_addr(addr: ENV['CONSUL_HTTP_ADDR'], host: ENV['CONSUL_HOST'], port: ENV['CONSUL_PORT'])
|
12
10
|
|
13
11
|
@opts = {
|
14
12
|
service: ENV['AGGREDATOR_SERVICE'],
|
15
|
-
consul: ENV['CONSUL_HTTP_ADDR'],
|
16
13
|
consulconf: [],
|
17
14
|
depends: [],
|
18
15
|
watch: true
|
@@ -33,14 +30,16 @@ parser = Aggkit::OptionParser.new do |o|
|
|
33
30
|
@opts[:service] = service.to_s
|
34
31
|
end
|
35
32
|
|
36
|
-
o.on("--consul=#{
|
37
|
-
|
38
|
-
|
39
|
-
else
|
40
|
-
"http://#{consul}:8500"
|
41
|
-
end
|
33
|
+
o.on("--consul=#{consul_addr}", 'Set a fully qualified Consul URL. Take precendance') do |addr|
|
34
|
+
@opts[:consul_addr] = Aggkit::Consul.consul_addr(addr.to_s.strip)
|
35
|
+
end
|
42
36
|
|
43
|
-
|
37
|
+
o.on("--consul-host=#{consul_addr.host}", 'Set consul host. Ignored when consul specified') do |host|
|
38
|
+
@opts[:consul_host] = host.to_s.strip
|
39
|
+
end
|
40
|
+
|
41
|
+
o.on("--consul-port=#{consul_addr.port}", 'Set consul port. Ignored when consul specified') do |port|
|
42
|
+
@opts[:consul_port] = port.to_s.strip
|
44
43
|
end
|
45
44
|
|
46
45
|
o.on('--consulconf=consul,consul/smev3...', 'Set list of folders with consul configs. Special: none - disable local consul') do |list|
|
@@ -61,6 +60,18 @@ parser = Aggkit::OptionParser.new do |o|
|
|
61
60
|
end
|
62
61
|
parser.parse!
|
63
62
|
|
63
|
+
consul_addr = if !@opts[:consul_addr].to_s.empty?
|
64
|
+
Aggkit::Consul.build_consul_addr(addr: @opts[:consul_addr].to_s, host: nil, port: nil).to_s
|
65
|
+
elsif !@opts[:consul_host].to_s.empty? || !@opts[:consul_port].to_s.empty?
|
66
|
+
Aggkit::Consul.build_consul_addr(addr: nil, host: @opts[:consul_host], port: opts[:consul_port]).to_s
|
67
|
+
else
|
68
|
+
consul_addr
|
69
|
+
end
|
70
|
+
|
71
|
+
@opts[:consul] = consul_addr.to_s
|
72
|
+
ENV['CONSUL_HTTP_ADDR'] = consul_addr.to_s
|
73
|
+
ENV['CONSUL_HOST'] = consul_addr.host.to_s
|
74
|
+
ENV['CONSUL_PORT'] = consul_addr.port.to_s
|
64
75
|
|
65
76
|
die 'service name must be provided' if @opts[:service].to_s.empty?
|
66
77
|
|
data/bin/aggwait
CHANGED
@@ -18,7 +18,7 @@ INTERVAL = 3
|
|
18
18
|
UTIL = File.basename(__FILE__)
|
19
19
|
|
20
20
|
if ENV['CONSUL_HTTP_ADDR'].to_s.empty?
|
21
|
-
ENV['CONSUL_HTTP_ADDR'] = "http://#{ENV['CONSUL_HOST'] || 'localhost'}
|
21
|
+
ENV['CONSUL_HTTP_ADDR'] = "http://#{ENV['CONSUL_HOST'] || 'localhost'}:#{ENV['CONSUL_PORT'] || '8500'}"
|
22
22
|
end
|
23
23
|
|
24
24
|
@opts[:exec] = (begin
|
@@ -96,8 +96,12 @@ OptionParser.new do |o|
|
|
96
96
|
@opts[:timeout] = timeout.to_i
|
97
97
|
end
|
98
98
|
|
99
|
-
o.on('-
|
100
|
-
@opts[:
|
99
|
+
o.on('-e', '--timeout secs=15', 'Total timeout') do |timeout|
|
100
|
+
@opts[:timeout] = timeout.to_i
|
101
|
+
end
|
102
|
+
|
103
|
+
o.on('-i', '--error=msg', 'error message on failure') do |error|
|
104
|
+
@opts[:error] = error.to_s
|
101
105
|
end
|
102
106
|
|
103
107
|
o.on('-q', '--quiet', 'Do not output any status messages') do
|
@@ -152,7 +156,7 @@ def complete!(success)
|
|
152
156
|
end
|
153
157
|
end
|
154
158
|
|
155
|
-
STDERR.puts
|
159
|
+
STDERR.puts "Operation timed out. #{@opts[:error]}".strip
|
156
160
|
exit 1
|
157
161
|
end
|
158
162
|
|
data/bin/aggwrap
CHANGED
@@ -62,14 +62,11 @@ DEFAULT_RELOAD_INTERVAL = 60 # seconds
|
|
62
62
|
|
63
63
|
include Aggkit::Runner
|
64
64
|
|
65
|
-
|
66
|
-
ENV['CONSUL_HTTP_ADDR'] = "http://#{ENV['CONSUL_HOST'] || 'localhost'}:8500"
|
67
|
-
end
|
65
|
+
consul_addr = Aggkit::Consul.build_consul_addr(addr: ENV['CONSUL_HTTP_ADDR'], host: ENV['CONSUL_HOST'], port: ENV['CONSUL_PORT'])
|
68
66
|
|
69
67
|
@opts = {
|
70
68
|
service: ENV['AGGREDATOR_SERVICE'],
|
71
69
|
id: "#{Time.now.utc.strftime('%FT%T%z')}_#{SecureRandom.hex(2)}",
|
72
|
-
consul: ENV['CONSUL_HTTP_ADDR'],
|
73
70
|
reload_interval: DEFAULT_RELOAD_INTERVAL
|
74
71
|
}
|
75
72
|
|
@@ -91,14 +88,16 @@ parser = Aggkit::OptionParser.new do |o|
|
|
91
88
|
@opts[:id] = id.to_s
|
92
89
|
end
|
93
90
|
|
94
|
-
o.on("--consul=#{
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
91
|
+
o.on("--consul=#{consul_addr}", 'Set a fully qualified Consul URL. Take precendance') do |addr|
|
92
|
+
@opts[:consul_addr] = Aggkit::Consul.consul_addr(addr.to_s.strip)
|
93
|
+
end
|
94
|
+
|
95
|
+
o.on("--consul-host=#{consul_addr.host}", 'Set consul host. Ignored when consul specified') do |host|
|
96
|
+
@opts[:consul_host] = host.to_s.strip
|
97
|
+
end
|
100
98
|
|
101
|
-
|
99
|
+
o.on("--consul-port=#{consul_addr.port}", 'Set consul port. Ignored when consul specified') do |port|
|
100
|
+
@opts[:consul_port] = port.to_s.strip
|
102
101
|
end
|
103
102
|
|
104
103
|
o.on('--http <PORT>', 'Create TTL consul check and pass http result to it') do |port|
|
@@ -124,6 +123,19 @@ parser = Aggkit::OptionParser.new do |o|
|
|
124
123
|
end
|
125
124
|
parser.parse!
|
126
125
|
|
126
|
+
consul_addr = if !@opts[:consul_addr].to_s.empty?
|
127
|
+
Aggkit::Consul.build_consul_addr(addr: @opts[:consul_addr].to_s, host: nil, port: nil).to_s
|
128
|
+
elsif !@opts[:consul_host].to_s.empty? || !@opts[:consul_port].to_s.empty?
|
129
|
+
Aggkit::Consul.build_consul_addr(addr: nil, host: @opts[:consul_host], port: opts[:consul_port]).to_s
|
130
|
+
else
|
131
|
+
consul_addr
|
132
|
+
end
|
133
|
+
|
134
|
+
@opts[:consul] = consul_addr.to_s
|
135
|
+
ENV['CONSUL_HTTP_ADDR'] = consul_addr.to_s
|
136
|
+
ENV['CONSUL_HOST'] = consul_addr.host.to_s
|
137
|
+
ENV['CONSUL_PORT'] = consul_addr.port.to_s
|
138
|
+
|
127
139
|
die 'service name must be provided' if @opts[:service].to_s.empty?
|
128
140
|
|
129
141
|
die 'script must be provided' if @opts[:exec].empty?
|
data/lib/aggkit/ci.rb
CHANGED
@@ -213,7 +213,7 @@ module Aggkit
|
|
213
213
|
|
214
214
|
unless config_file.empty?
|
215
215
|
execute("docker exec -i #{consul} aggwait -t 20 --consul")
|
216
|
-
execute("docker exec -i #{consul} aggconsul --init --
|
216
|
+
execute("docker exec -i #{consul} aggconsul --init --config - < #{config_file}")
|
217
217
|
end
|
218
218
|
|
219
219
|
execute('docker-compose up -t 30 -d')
|
@@ -233,7 +233,7 @@ module Aggkit
|
|
233
233
|
|
234
234
|
unless config_file.empty?
|
235
235
|
execute("docker exec -i #{consul} aggwait -t 20 --consul")
|
236
|
-
execute("docker exec -i #{consul} aggconsul --init --
|
236
|
+
execute("docker exec -i #{consul} aggconsul --init --config - < #{config_file}")
|
237
237
|
end
|
238
238
|
|
239
239
|
# echo " * Consul ready"
|
data/lib/aggkit/consul.rb
CHANGED
@@ -14,7 +14,19 @@ module Aggkit
|
|
14
14
|
envs
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
17
|
+
def build_consul_addr(addr: ENV['CONSUL_HTTP_ADDR'], host: ENV['CONSUL_HOST'], port: ENV['CONSUL_PORT'])
|
18
|
+
return URI('http://localhost:8500') if addr.to_s.empty? && host.to_s.empty? && port.to_s.empty?
|
19
|
+
|
20
|
+
return URI(addr) unless addr.to_s.empty?
|
21
|
+
|
22
|
+
uri = URI(host)
|
23
|
+
uri = URI("http://#{host}") if uri.scheme.to_s.empty?
|
24
|
+
uri.port = port.to_i unless port.to_s.empty?
|
25
|
+
|
26
|
+
uri
|
27
|
+
end
|
28
|
+
|
29
|
+
def consul_addr(addr_or_host)
|
18
30
|
if addr_or_host['http']
|
19
31
|
addr_or_host
|
20
32
|
else
|
@@ -28,12 +40,12 @@ module Aggkit
|
|
28
40
|
load_envs(envs)
|
29
41
|
end
|
30
42
|
|
31
|
-
def wait_for_consul
|
43
|
+
def wait_for_consul(consul)
|
32
44
|
consul_http = consul_addr(consul)
|
33
45
|
Aggkit::Exec.execute!("aggwait -t 30 -i 5 --consul-addr=#{consul_http} --consul", 'Timeout for consul service')
|
34
46
|
end
|
35
47
|
|
36
|
-
def wait_for_service
|
48
|
+
def wait_for_service(consul, service)
|
37
49
|
consul_http = consul_addr(consul)
|
38
50
|
Aggkit::Exec.execute!("aggwait -t 60 -i 5 --consul-addr=#{consul_http} --consul-service #{service}", "Timeout for #{service} service")
|
39
51
|
end
|
data/lib/aggkit/version.rb
CHANGED