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 +4 -4
- data/bin/stack.drs +6 -2
- data/lib/dry-stack/stack.rb +25 -4
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37226df6d0e55d14a71d2d58fe9bb9c2cbff43fc7f91e81f23d33bb9a1deb37f
|
4
|
+
data.tar.gz: 18e0f8893cb5cc8b26fe7ed0ae23d0b60c91b93c4fa06799d333ac553ee3e9f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
|
data/lib/dry-stack/stack.rb
CHANGED
@@ -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].
|
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
|
-
|
302
|
-
|
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
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.
|
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-
|
11
|
+
date: 2024-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|