dry-stack 0.1.27 → 0.1.29

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: 6cc31d2b83307688e1d43bc7b204f641cc03c3b81e5b51edad67b1c59ecf88b9
4
- data.tar.gz: '04284bddd3f1e10b39ae1cfc113953c9cc52aa20c00b06fd24e6cf34fe29ab59'
3
+ metadata.gz: d736d19407419c419b74eba88d950f66c3c548ba1a79a96feb593cd9692b024b
4
+ data.tar.gz: 6a1b2bf0f13a8e5f41d8de8f92d6ef67d75b47285b02785bf1124934088ad858
5
5
  SHA512:
6
- metadata.gz: 1f4e9f33b0dc3a2a192f2f85a3cba5a390b0c0c2197a057be65ed5819f107f6958a2be9f88efbc39ee8a1b357e05f45447912c56fcaefaac023e5259a49183b8
7
- data.tar.gz: 8ef6dafd0c4645afea6341a753554dfb3a747727d8e8d866aada49b971be9b54b31bc6f7a30ae553397d24d0e78d77575c0666455d16e05938bc1aa218906ad8
6
+ metadata.gz: 584181290e35eb5765302c65e2e04773e1bd10ec9e6c5b1c3e73803cc0b333fa592adf171b493073135fca9db689f258e7e43cafebe2d254a3cbe570f5af104f
7
+ data.tar.gz: f4388342ed6a95d4f68016116270654730467ac1bb4e6b053fa0e60a1bcbd552db5a81e24e71f1d695d09196ad706df1053e7c575129da906089e8c63f8a497c
@@ -35,14 +35,14 @@ Dry::CommandLine::COMMANDS[:swarm_deploy] = Class.new do
35
35
  # system " echo \"#{yaml.gsub("`", '\\\`')}\" | docker stack deploy -c - #{stack.name} --prune --resolve-image changed"
36
36
 
37
37
  # --prune --resolve-image changed
38
- exec_i "docker stack deploy -c - --with-registry-auth #{extra} #{stack.name}", yaml
38
+ exec_i "docker --context #{name} stack deploy -c - --with-registry-auth #{extra} #{stack.name}", yaml
39
39
  # Hide messages like:
40
40
  # Error response from daemon: rpc error: code = InvalidArgument desc = config 'grafana_dashboards_yaml-206a34dc77dc394d78a207c7abde327d' is in use by the following service: grafana_grafana
41
- system "docker config rm $(docker config ls --filter label=com.docker.stack.namespace=#{stack.name} --format \"{{.ID}}\") 2>&1 | grep -v \"is in use\""
41
+ system "docker --context #{name} config rm $(docker config ls --filter label=com.docker.stack.namespace=#{stack.name} --format \"{{.ID}}\") 2>&1 | grep -v \"is in use\""
42
42
 
43
- exec_i "docker config rm #{stack.name}_readme || echo 'failed to remove config #{stack.name}_readme'"
43
+ exec_i "docker --context #{name} config rm #{stack.name}_readme || echo 'failed to remove config #{stack.name}_readme'"
44
44
  puts "stack description: #{stack.description}"
45
- exec_i "docker config create #{stack.name}_readme -", stack.description
45
+ exec_i "docker --context #{name} config create #{stack.name}_readme -", stack.description
46
46
  end
47
47
 
48
48
  def help = ['Call docker stack deploy & add config readme w/ description',
@@ -184,6 +184,12 @@ module Dry
184
184
 
185
185
  ingress.each_with_index do |ing, index|
186
186
  ing[:port] ||= service[:ports]&.first
187
+ load_balancer = if ing[:url]
188
+ "loadbalancer.server.url=#{ing[:url]}"
189
+ else
190
+ "loadbalancer.server.port=#{ing[:port]}"
191
+ end
192
+
187
193
  if ing[:host_sni]
188
194
  domain = opts[:tls_domain] || 'example.com'
189
195
  domain = ing[:host_sni].gsub('.*', ".#{domain}")
@@ -200,7 +206,7 @@ module Dry
200
206
 
201
207
  "traefik.tcp.routers.#{service_name}-#{index}.service=#{service_name}-#{index}",
202
208
  "traefik.tcp.routers.#{service_name}-#{index}.entrypoints=#{ing[:entrypoints]}",
203
- "traefik.tcp.services.#{service_name}-#{index}.loadbalancer.server.port=#{ing[:port]}",
209
+ "traefik.tcp.services.#{service_name}-#{index}.#{load_balancer}",
204
210
 
205
211
  "traefik.tcp.routers.#{service_name}-#{index}.rule=HostSNI(`#{domain}`)",
206
212
  "traefik.tcp.routers.#{service_name}-#{index}.tls.passthrough=#{ing[:passthrough]}"
@@ -209,7 +215,7 @@ module Dry
209
215
  else
210
216
  service[:deploy][:labels] += [
211
217
  "traefik.http.routers.#{service_name}-#{index}.service=#{service_name}-#{index}",
212
- "traefik.http.services.#{service_name}-#{index}.loadbalancer.server.port=#{ing[:port]}"
218
+ "traefik.http.services.#{service_name}-#{index}.#{load_balancer}"
213
219
  ]
214
220
 
215
221
  if opts[:traefik_tls]
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Dry
2
2
  class Stack
3
- VERSION = '0.1.27'
3
+ VERSION = '0.1.29'
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.1.27
4
+ version: 0.1.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artyom B
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-13 00:00:00.000000000 Z
11
+ date: 2025-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake