dry-stack 0.0.56 → 0.0.58
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 +12 -16
- 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: 9fa6584334d5ba14f5751832a22022acc8967f00dd0d5f079d144e9693495fbf
|
4
|
+
data.tar.gz: 0cf0d100def1503252e813cccb00f18d7c34df0bd409efccc52288dee2d98e72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 312bfa9f5400ddef74fc3d6efe69736e484605808392e766eff65be3d8d26608377a2978d00c0cc2a823f26000b5dee540ab3cda26ee2448461f6e576a29d0ef
|
7
|
+
data.tar.gz: 9885973a1fbe7e7909c022272f4daac15bf844e7f2ebf4fa08211d41b91f0e24beee4bdf344b572a6099b78f7bdee67cda9135a2ddaf580ee863e8887e94fe43
|
data/lib/dry-stack/stack.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'yaml'
|
3
|
+
require 'json'
|
3
4
|
require 'optparse'
|
4
5
|
require 'digest'
|
5
6
|
|
@@ -68,14 +69,6 @@ module Dry
|
|
68
69
|
@logging = {}
|
69
70
|
end
|
70
71
|
|
71
|
-
def stringify(obj)
|
72
|
-
case
|
73
|
-
when obj.is_a?(Hash); obj.to_h { |k, v| [k.to_s, stringify(v)] }
|
74
|
-
when obj.is_a?(Array); obj.map { stringify(_1) }
|
75
|
-
else obj
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
72
|
def expand_hash(hash)
|
80
73
|
hash.select { _1.to_s =~ /\./ }.each do |k, v|
|
81
74
|
name = k.to_s.scan(/([^\.]*)\.(.*)/).flatten
|
@@ -133,15 +126,11 @@ module Dry
|
|
133
126
|
end
|
134
127
|
end
|
135
128
|
|
136
|
-
if ingress[0] && opts[:ingress]
|
137
|
-
ingress[0][:port] ||= service[:ports]&.first
|
138
|
-
service[:deploy][:labels] = ingress[0]&.map { |k, v| "ingress.#{k}=#{v}" }
|
139
|
-
end
|
140
|
-
|
141
129
|
service_name = "#{@name}_#{name}"
|
142
130
|
|
143
131
|
if ingress[0] && (opts[:traefik] || opts[:traefik_tls])
|
144
132
|
service[:deploy][:labels] << 'traefik.enable=true'
|
133
|
+
ingress[0][:port] ||= service[:ports]&.first
|
145
134
|
|
146
135
|
ingress.each_with_index do |ing, index|
|
147
136
|
ing[:port] ||= service[:ports]&.first
|
@@ -185,6 +174,8 @@ module Dry
|
|
185
174
|
service[:ports] = (service[:ports] || []) + pp_s unless pp_s.nil?
|
186
175
|
|
187
176
|
service[:environment] = @environment[name].merge(service[:environment]) if @environment[name]
|
177
|
+
service[:environment].merge! STACK_NAME: @name, STACK_SERVICE_NAME: name
|
178
|
+
|
188
179
|
service[:environment].transform_values! { !!_1 == _1 ? _1.to_s : _1 } # (false|true) to string
|
189
180
|
service[:logging] ||= @logging[name.to_sym]
|
190
181
|
end
|
@@ -206,11 +197,16 @@ module Dry
|
|
206
197
|
}
|
207
198
|
prune[compose]
|
208
199
|
|
209
|
-
each_recursive compose do |_path, node,
|
210
|
-
|
200
|
+
each_recursive _root: compose do |_path, node, v|
|
201
|
+
v.transform_keys!(&:to_s) if v.is_a? Hash
|
202
|
+
node.transform_keys!(&:to_s) if node.is_a? Hash
|
203
|
+
_path.last[node] = v.to_s if v.is_a? Symbol
|
204
|
+
|
205
|
+
_path.last[node] = v.to_s if node.to_s == 'fluentd-async'
|
211
206
|
end
|
212
207
|
|
213
|
-
|
208
|
+
# compose.to_yaml
|
209
|
+
JSON.parse(compose.to_json).to_yaml
|
214
210
|
end
|
215
211
|
|
216
212
|
def PublishPorts(ports)
|
data/lib/version.rb
CHANGED