dry-stack 0.0.56 → 0.0.58
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/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