dry-stack 0.0.49 → 0.0.51
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dry-stack/stack.rb +29 -0
- data/lib/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: d870604c7a56509c870f40844cc4fba74e19c0c846843d33da00b674f554ffc1
|
4
|
+
data.tar.gz: e18504c30b981ceee5ce2e480c8b4456609c53afa394626536e21c56ed4f01c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c359fb9d2f77900ff5878218320f32c969b480e8acc1eb294f9a48f84ce67783757623cc02d7ac4ad23f3376f4df50164d61f83a68de418afd8194e0a013c06
|
7
|
+
data.tar.gz: 596532b79160ffe13600e0e32708c3fe1e89720c5eada9a5f6aed03a3ce971064853dff5930faab458f24400c03110c83417a523c6d0503bbf4c14c21f9a51eb
|
data/lib/dry-stack/stack.rb
CHANGED
@@ -3,8 +3,24 @@ require 'yaml'
|
|
3
3
|
require 'optparse'
|
4
4
|
require 'digest'
|
5
5
|
|
6
|
+
# class TrueClass
|
7
|
+
# def encode_with(coder) = coder.represent_scalar('tag:yaml.org,2002:str', 'true')
|
8
|
+
# end
|
9
|
+
#
|
10
|
+
# class FalseClass
|
11
|
+
# def encode_with(coder)= coder.represent_scalar('tag:yaml.org,2002:str', 'false')
|
12
|
+
# end
|
13
|
+
|
6
14
|
module Dry
|
7
15
|
|
16
|
+
def each_recursive(parent, each_ =-> { _1.respond_to?(:each) ? _1.each : [] }, path = [], &blk)
|
17
|
+
each2_ = each_.is_a?(Array) ? ->(p) { (m = each_.find { p.respond_to? _1 }) ? p.send(m) : [] } : each_
|
18
|
+
(each2_[parent] || []).each do |(k,v)|
|
19
|
+
blk.call [path + [parent], k, v, path]
|
20
|
+
each_recursive(v || k, each_, path + [parent], &blk)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
8
24
|
def Stack(name = nil, &)
|
9
25
|
Stack.last_stack = Stack.new name
|
10
26
|
Stack.last_stack.instance_exec(&) if block_given?
|
@@ -48,6 +64,7 @@ module Dry
|
|
48
64
|
@deploy = {}
|
49
65
|
@labels = {}
|
50
66
|
@configs = {}
|
67
|
+
@logging = {}
|
51
68
|
end
|
52
69
|
|
53
70
|
def stringify(obj)
|
@@ -167,6 +184,7 @@ module Dry
|
|
167
184
|
service[:ports] = (service[:ports] || []) + pp_s unless pp_s.nil?
|
168
185
|
|
169
186
|
service[:environment].transform_values! { !!_1 == _1 ? _1.to_s : _1 } # (false|true) to string
|
187
|
+
service[:logging] ||= @logging[name.to_sym]
|
170
188
|
end
|
171
189
|
|
172
190
|
compose[:configs].update(compose[:configs]) do |name, config|
|
@@ -185,6 +203,11 @@ module Dry
|
|
185
203
|
o.delete_if { _2.nil? || (_2.respond_to?(:empty?) && _2.empty?) } if o.is_a? Hash
|
186
204
|
}
|
187
205
|
prune[compose]
|
206
|
+
|
207
|
+
each_recursive compose do |_path, node, _v|
|
208
|
+
_path.last[node] = _v.to_s if node.to_s == 'fluentd-async'
|
209
|
+
end
|
210
|
+
|
188
211
|
stringify(compose).to_yaml
|
189
212
|
end
|
190
213
|
|
@@ -233,6 +256,12 @@ module Dry
|
|
233
256
|
yield if block_given?
|
234
257
|
end
|
235
258
|
|
259
|
+
def Logging(names, opts = {})
|
260
|
+
[names].flatten.each do |name|
|
261
|
+
@logging[name.to_sym] = opts
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|
236
265
|
def Volume(name, opts = {})
|
237
266
|
@volumes[name] ||= {}
|
238
267
|
@volumes[name].merge! opts
|
data/lib/version.rb
CHANGED