dry-stack 0.0.83 → 0.0.85

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 699b765bc2706a898f06c1ba3409d93723584e567865f9b21800a2f800700dad
4
- data.tar.gz: 3a2ed784ad03723d09a19686a8f0204987a15876676e117596bbc5b24fa78419
3
+ metadata.gz: f8f1e3847018ae24bd44d57813f7fb37afaa95e1a2697426eea8a40593dc07bd
4
+ data.tar.gz: 5c64bd98e446a32f0edc36e98b5ef48e8812dc29183786e30f70263865dee2c2
5
5
  SHA512:
6
- metadata.gz: 3f98d9d33f3cdc6616e484f62ba41026c1e88cdbb7d19095087412ba3bb788d5841d166f2a3a4874561eaf0a0c13303609a6abeef479d8852d855bb694162d76
7
- data.tar.gz: 3fbd781699888422c806330c0bf3036e16a78017911bff5d46383b07834d7b6560d4b02073ce29c6813b4c841acf7689cd00dba89fdf555dd00f97ece7b26629
6
+ metadata.gz: 06bf607c465894d9b640b04c9209cca967a7430958281ff45d61501f67705c715cd5afa6cf7d93532619b7f27947d1eb8b33e3ff217364e74bb888fad087460d
7
+ data.tar.gz: bf1de07565b2adf380ae0189ea6f257c052793372c542070425bf779e087e8dd6f9183082852e84d6b59fe2c67d40313a65cc351cc855671a5ce744b1bf6cdf7
@@ -47,6 +47,7 @@ module Dry
47
47
  class ServiceFunction
48
48
  def initialize(service, &); @service = service; instance_exec(&) end
49
49
  def env(variables)= @service[:environment].merge! variables
50
+ def dns(dns)= ((@service[:dns] ||= []) << dns).flatten!
50
51
  def volume(opts)= ((@service[:volumes] ||= []) << opts).flatten!
51
52
  def image(name)= @service[:image] = name
52
53
  def ports(ports)= ((@service[:ports] ||= []) << ports).flatten!
@@ -58,6 +59,7 @@ module Dry
58
59
  def user(user) = @service[:user] = user # "${UID}:${GID}", "www-data:www-data"
59
60
  def network(names) = (@service[:networks] ||= []) << names
60
61
  def basic_auth(user_and_password) = @service[:basic_auth] = user_and_password
62
+ def ingress(ing) = ((@service[:ingress] ||=[]) << ing).flatten!
61
63
  end
62
64
 
63
65
  class SwarmFunction
@@ -144,7 +146,9 @@ module Dry
144
146
  end
145
147
 
146
148
  compose[:services].each do |name, service|
147
- ingress = [@ingress[name]].flatten.compact
149
+
150
+ ingress = [@ingress[name], service[:ingress] || [] ].flatten.compact
151
+
148
152
  service[:deploy] ||= {}
149
153
  service[:deploy][:labels] ||= []
150
154
  service[:deploy][:labels] += @labels.map { "#{_1}=#{_2}" }
@@ -169,6 +173,7 @@ module Dry
169
173
  ingress[0][:port] ||= service[:ports]&.first
170
174
 
171
175
  ingress.each_with_index do |ing, index|
176
+
172
177
  if service[:basic_auth]
173
178
  ba_user, ba_password, salt = service[:basic_auth].split ':'
174
179
  hashed_password = apr1_crypt ba_password, (salt || rand(36**8).to_s(36))
@@ -210,6 +215,7 @@ module Dry
210
215
  end
211
216
  end
212
217
  service.delete :basic_auth
218
+ service.delete :ingress
213
219
 
214
220
  service[:environment] = @environment[name].merge(service[:environment]) if @environment[name]
215
221
  service[:environment].merge! STACK_NAME: @name.to_s, STACK_SERVICE_NAME: name.to_s
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Dry
2
2
  class Stack
3
- VERSION = '0.0.83'
3
+ VERSION = '0.0.85'
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.83
4
+ version: 0.0.85
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-06-20 00:00:00.000000000 Z
11
+ date: 2024-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake