dry-stack 0.0.37 → 0.0.39
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dry-stack/stack.rb +22 -14
- 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: 50bc59b593a8772c5e17d4c9d6b3f3d3e9417ad75ed38c3e29242ae5993fb5df
|
4
|
+
data.tar.gz: 9b300abb3d36ef7ec3288e881f203afe5c8538b3c5911fb7d4211f46f90da3a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45b33ebc74270d9b17fbf5f5a3b4cde1118ebd753fa7fb75d103ec8d57689265b089df309aa42048fda9bbd37eed34f598d1bcc267e7e6388bb04e7997f757bc
|
7
|
+
data.tar.gz: 836eb9f3f9f3b399910009c6ce30c2cde5d4663f6faf7cb827c2360821f7321ad6c90c3bcede99b9bf1ca0b4074fa620a37bcd435e148ca0bab7be08ebfab4bf
|
data/lib/dry-stack/stack.rb
CHANGED
@@ -16,6 +16,7 @@ module Dry
|
|
16
16
|
def image(name)= @service[:image] = name
|
17
17
|
def ports(ports)= ((@service[:ports] ||= []) << ports).flatten!
|
18
18
|
def command(cmd)= @service[:command] = cmd
|
19
|
+
def entrypoint(cmd)= @service[:entrypoint] = cmd
|
19
20
|
def deploy_label(str)= @service[:deploy][:labels] << str
|
20
21
|
end
|
21
22
|
|
@@ -91,33 +92,36 @@ module Dry
|
|
91
92
|
end
|
92
93
|
|
93
94
|
compose[:services].each do |name, service|
|
94
|
-
|
95
|
+
ingress = [@ingress[name]].flatten
|
96
|
+
ingress[0][:port] ||= service[:ports]&.first if ingress[0]
|
95
97
|
service[:deploy] ||= {}
|
96
98
|
service[:deploy][:labels] ||= []
|
97
99
|
service[:deploy][:labels] += @labels.map { "#{_1}=#{_2}" }
|
98
100
|
|
99
|
-
if
|
101
|
+
if ingress[0] && (opts[:ingress] || opts[:traefik] || opts[:traefik_tls])
|
100
102
|
service[:networks] ||= []
|
101
103
|
service[:networks] << 'default' if service[:networks].empty?
|
102
104
|
service[:networks] << 'ingress_routing'
|
103
105
|
end
|
104
106
|
|
105
|
-
|
106
|
-
|
107
|
-
|
107
|
+
ingress.each do |rule|
|
108
|
+
if opts[:host_sed] && rule[:host]
|
109
|
+
a, b = opts[:host_sed].split('/').reject(&:empty?)
|
110
|
+
rule[:host].gsub! %r{#{a}}, b
|
111
|
+
end
|
108
112
|
end
|
109
113
|
|
110
|
-
if
|
111
|
-
service[:deploy][:labels] =
|
114
|
+
if ingress[0] && opts[:ingress]
|
115
|
+
service[:deploy][:labels] = ingress[0]&.map { |k, v| "ingress.#{k}=#{v}" }
|
112
116
|
end
|
113
117
|
|
114
118
|
service_name = "#{@name}_#{name}"
|
115
119
|
|
116
|
-
if
|
120
|
+
if ingress[0] && (opts[:traefik] || opts[:traefik_tls])
|
117
121
|
service[:deploy][:labels] += [
|
118
122
|
'traefik.enable=true',
|
119
123
|
"traefik.http.routers.#{service_name}.service=#{service_name}",
|
120
|
-
"traefik.http.services.#{service_name}.loadbalancer.server.port=#{
|
124
|
+
"traefik.http.services.#{service_name}.loadbalancer.server.port=#{ingress[0][:port]}"
|
121
125
|
]
|
122
126
|
|
123
127
|
if opts[:traefik_tls]
|
@@ -131,11 +135,15 @@ module Dry
|
|
131
135
|
]
|
132
136
|
end
|
133
137
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
138
|
+
rule_group = ingress.map do|r|
|
139
|
+
rule = []
|
140
|
+
rule << "HostRegexp(`{name:#{nginx_host2regexp r[:host]}}`)" if r[:host]
|
141
|
+
rule << "PathPrefix(`#{nginx_host2regexp r[:path]}`)" if r[:path]
|
142
|
+
rule << "#{r[:rule]}" if r[:rule]
|
143
|
+
rule.join ' && '
|
144
|
+
end
|
145
|
+
rule = rule_group.size > 1 ? rule_group.map{"(#{_1})"}.join(' || ') : rule_group[0]
|
146
|
+
service[:deploy][:labels] << "traefik.http.routers.#{service_name}.rule=#{rule}"
|
139
147
|
end
|
140
148
|
|
141
149
|
hash = {'service-name': service_name}
|
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.39
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Artyom B
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|