dry-stack 0.0.71 → 0.0.73

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '068cf557c3a44aece001366bcd147616d4e6aafc3db1f6941a7b0b79c3db6799'
4
- data.tar.gz: f73cdb06ddd54b2ea5b9744257172a196af3b34a4b08039580e4391e59959f67
3
+ metadata.gz: 37226df6d0e55d14a71d2d58fe9bb9c2cbff43fc7f91e81f23d33bb9a1deb37f
4
+ data.tar.gz: 18e0f8893cb5cc8b26fe7ed0ae23d0b60c91b93c4fa06799d333ac553ee3e9f1
5
5
  SHA512:
6
- metadata.gz: daf9793fd47e3c90114bf80c0d05fc07ca29e8ff8c28b017a86da6b1a37887492926c350b19f7fdc6e957642a87485c043e2e6f737fcb0117848335e5e6c6613
7
- data.tar.gz: 1d8bcbc7a6f7105196686f12a9cdde4ddfc0ee5f37fa75be96b79d1c3c9ba41db7c9a4a116ea5cf07a7a547b6e1a2a84e39fd124d57b6d3138e58f8843a87716
6
+ metadata.gz: 713ede878b90a841206f6ecc51dc6468de0168a6b401f5c3b9d9f054329b0f190cd7c6e9730befb21a631a08353dd97590ce25107c2b7ec7da0e92468bc4b6a2
7
+ data.tar.gz: 0e61ba0b8a116d1d386e1b032f08f85fa4dd73acc1e3e1b46b6529a126480ba0c24255e55083df2be204348d0887cd51d048b934db8dd10bc4c157e74e7fde3f
data/bin/stack.drs CHANGED
@@ -2,15 +2,19 @@ Description <<~DSC
2
2
 
3
3
  DSC
4
4
 
5
- Options name: 'stack_name'
5
+ Options name: 'stack_name', traefik: true
6
6
  SwarmDeploy :sky_gates do
7
7
  context_host 'ssh://root@10.0.0.1'
8
8
  stack_name 'remote_stack'
9
9
  env REGISTRY_HOST: '10.100.0.2:5000'
10
10
  end
11
+ Ingress admin: [
12
+ {host: 'backend.*'},
13
+ {host: 'admin.*', path: '/api', port: 4000}
14
+ ]
11
15
 
12
16
  Deploy [:admin, :operator], labels: [
13
- 'traefik.http.middlewares.%{service-name}_auth.basicauth.users=admin:$apr1$i7hdbc9g$Rkocxo9snhmuESvUg0TTv/',
17
+ 'traefik.http.middlewares.%{service-name}_auth.basicauth.users=admin:$$apr1$$i7hdbc9g$$Rkocxo9snhmuESvUg0TTv/',
14
18
  "traefik.http.routers.%{service-name}.middlewares=%{service-name}_auth"
15
19
  ]
16
20
 
@@ -13,6 +13,22 @@ require 'digest'
13
13
  # end
14
14
 
15
15
  module Dry
16
+ class ::Hash
17
+ def deep_merge!(second)
18
+ merger = proc { |_, v1, v2|
19
+ if Hash === v1 && Hash === v2
20
+ v1.merge!(v2, &merger)
21
+ else
22
+ if Array === v1 && Array === v2
23
+ v1 | v2
24
+ else
25
+ [:undefined, nil, :nil].include?(v2) ? v1 : v2
26
+ end
27
+ end
28
+ }
29
+ merge!(second.to_h, &merger)
30
+ end
31
+ end
16
32
 
17
33
  def each_recursive(parent, each_ =-> { _1.respond_to?(:each) ? _1.each : [] }, path = [], &blk)
18
34
  each2_ = each_.is_a?(Array) ? ->(p) { (m = each_.find { p.respond_to? _1 }) ? p.send(m) : [] } : each_
@@ -182,7 +198,7 @@ module Dry
182
198
  service[:environment].merge! STACK_NAME: @name.to_s, STACK_SERVICE_NAME: name.to_s
183
199
  service[:environment].transform_values! { !!_1 == _1 ? _1.to_s : _1 } # (false|true) to string
184
200
 
185
- service[:deploy].merge! @deploy[name] if @deploy[name]
201
+ service[:deploy].deep_merge! @deploy[name] if @deploy[name]
186
202
 
187
203
  hash = {'service-name': service_name, 'stack-name': @name}
188
204
  hash.default = ''
@@ -297,10 +313,15 @@ module Dry
297
313
  yield if block_given?
298
314
  end
299
315
 
300
- def Logging(names, opts = {})
301
- [names].flatten.each do |name|
302
- @logging[name.to_sym] = opts
316
+ def Logging(names = nil, opts )
317
+ if names
318
+ [names].flatten.each do |name|
319
+ (@logging[name.to_sym] ||= {}).merge! expand_hash(opts)
320
+ end
321
+ else
322
+ @logging.merge! expand_hash(opts)
303
323
  end
324
+
304
325
  end
305
326
 
306
327
  def Volume(name, opts = {})
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Dry
2
2
  class Stack
3
- VERSION = '0.0.71'
3
+ VERSION = '0.0.73'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-stack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.71
4
+ version: 0.0.73
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artyom B
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-05 00:00:00.000000000 Z
11
+ date: 2024-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake