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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dry-stack/stack.rb +12 -16
  3. data/lib/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3bd67e7d11d77e49df991d208a9869fa9de8e101ac7a586121f79ef5d3c36e6
4
- data.tar.gz: 328bd27ee9a1dc7830cfa58e798bbd6ff040a87be2ee8e8e70b15f8ff372f66e
3
+ metadata.gz: 9fa6584334d5ba14f5751832a22022acc8967f00dd0d5f079d144e9693495fbf
4
+ data.tar.gz: 0cf0d100def1503252e813cccb00f18d7c34df0bd409efccc52288dee2d98e72
5
5
  SHA512:
6
- metadata.gz: 5377a18b93f7a858b4575c78bf283eb29e3e84cbc1c0117237ad182668d867e75c5d22d54663693939399c4cef784b35d8a58847ddc08f5f74135bae5d7c5071
7
- data.tar.gz: 104d1c872184ea53eb70bbdf21ff7187b42191ac055402323403d7352215d42f186d0a6c7c6fe1ac4d3655009c8a576dfdd9e6f1b62765e7cdecb03517839acb
6
+ metadata.gz: 312bfa9f5400ddef74fc3d6efe69736e484605808392e766eff65be3d8d26608377a2978d00c0cc2a823f26000b5dee540ab3cda26ee2448461f6e576a29d0ef
7
+ data.tar.gz: 9885973a1fbe7e7909c022272f4daac15bf844e7f2ebf4fa08211d41b91f0e24beee4bdf344b572a6099b78f7bdee67cda9135a2ddaf580ee863e8887e94fe43
@@ -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, _v|
210
- _path.last[node] = _v.to_s if node.to_s == 'fluentd-async'
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
- stringify(compose).to_yaml
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
@@ -1,5 +1,5 @@
1
1
  module Dry
2
2
  class Stack
3
- VERSION = '0.0.56'
3
+ VERSION = '0.0.58'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-stack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.56
4
+ version: 0.0.58
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artyom B