dry-stack 0.0.82 → 0.0.84

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: 52aef15bc22cb7ef0bdadb32c686998849894138d6f2a06ae5e5f2e6b5d59a9c
4
- data.tar.gz: eac3ce3089cfa955adb72974b0f68ad685a22f5217637fc89874fec2dd6582e0
3
+ metadata.gz: c0bd1b1e2e584eb1d7e95a2c56999710d82e0c9364eee5962b52c2897df10192
4
+ data.tar.gz: c0ddbe4c8df56f263fe7c9e74a9df399ac326e434ab876c95af8c507182c903b
5
5
  SHA512:
6
- metadata.gz: d57962ce0e295fe0bb8432b4f3eec4c15b68ba593a7e278f03a9b0d7632789ed3a3e7f7a25aff64b478806fecdc72b5d38506cb3fb2c99e0132315d3d4adb8b9
7
- data.tar.gz: 658c93b70b9306d935ef6b5443b4bd25a3ccdc90c9239e38bae662ea3d423c1587f38d31e12c24b633048364ab0a1aa1f7516faa40c38613953a7fd3ebac1d41
6
+ metadata.gz: b0baaa4ac39ea9aedf328cea616ee84ae529aaf059c3ea14e1074bdb6442dd3d7b1efe538ea4bea3df9e0a2c33e6dd8bfbffe0e732549290fe2a2b6e346e17e3
7
+ data.tar.gz: 8b6ca11354cef5eab3f85f8ebcb4b20a31180911bcf064d1fd10469a3fb12a585daa045e7d6c1215ac9a057ce8602730ab1c7465bb4747469d683a5d69579636
@@ -58,6 +58,7 @@ module Dry
58
58
  def user(user) = @service[:user] = user # "${UID}:${GID}", "www-data:www-data"
59
59
  def network(names) = (@service[:networks] ||= []) << names
60
60
  def basic_auth(user_and_password) = @service[:basic_auth] = user_and_password
61
+ def ingress(ing) = ((@service[:ingress] ||=[]) << ing).flatten!
61
62
  end
62
63
 
63
64
  class SwarmFunction
@@ -144,19 +145,13 @@ module Dry
144
145
  end
145
146
 
146
147
  compose[:services].each do |name, service|
147
- ingress = [@ingress[name]].flatten.compact
148
+
149
+ ingress = [@ingress[name], service[:ingress] || [] ].flatten.compact
150
+
148
151
  service[:deploy] ||= {}
149
152
  service[:deploy][:labels] ||= []
150
153
  service[:deploy][:labels] += @labels.map { "#{_1}=#{_2}" }
151
154
 
152
- if service[:basic_auth]
153
- ba_user, ba_password, salt = service[:basic_auth].split ':'
154
- hashed_password = apr1_crypt ba_password, (salt || rand(36**8).to_s(36))
155
- service[:deploy][:labels] << "traefik.http.middlewares.%{service-name}_auth.basicauth.users=#{ba_user}:#{hashed_password.gsub('$','$$')}"
156
- service[:deploy][:labels] << "traefik.http.routers.%{service-name}.middlewares=%{service-name}_auth"
157
- service.delete :basic_auth
158
- end
159
-
160
155
  if ingress[0] && (opts[:ingress] || opts[:traefik] || opts[:traefik_tls])
161
156
  service[:networks] ||= []
162
157
  service[:networks] << 'default' if service[:networks].empty?
@@ -177,6 +172,14 @@ module Dry
177
172
  ingress[0][:port] ||= service[:ports]&.first
178
173
 
179
174
  ingress.each_with_index do |ing, index|
175
+
176
+ if service[:basic_auth]
177
+ ba_user, ba_password, salt = service[:basic_auth].split ':'
178
+ hashed_password = apr1_crypt ba_password, (salt || rand(36**8).to_s(36))
179
+ service[:deploy][:labels] << "traefik.http.middlewares.#{service_name}-#{index}_auth.basicauth.users=#{ba_user}:#{hashed_password.gsub('$','$$')}"
180
+ service[:deploy][:labels] << "traefik.http.routers.#{service_name}-#{index}.middlewares=#{service_name}-#{index}_auth"
181
+ end
182
+
180
183
  ing[:port] ||= service[:ports]&.first
181
184
  service[:deploy][:labels] += [
182
185
  "traefik.http.routers.#{service_name}-#{index}.service=#{service_name}-#{index}",
@@ -210,6 +213,8 @@ module Dry
210
213
  end
211
214
  end
212
215
  end
216
+ service.delete :basic_auth
217
+ service.delete :ingress
213
218
 
214
219
  service[:environment] = @environment[name].merge(service[:environment]) if @environment[name]
215
220
  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.82'
3
+ VERSION = '0.0.84'
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.82
4
+ version: 0.0.84
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artyom B