dry-stack 0.0.17 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e144f42147da952c0e65601dae18a2acc24918481efb5e663b50bcac10e3e412
4
- data.tar.gz: 177ceb9ac90bc47533dba089def9cfa0e942a9e3ab9571f1fef9a95d8a46f804
3
+ metadata.gz: 7f98dfb71085af4d05dde33b4f45eb483af0aca4c80350d5940dbec63c2cbd45
4
+ data.tar.gz: e655689e2114bfbafff227349a874bfeaa3c8b07fc27e7a784ea692957a9b282
5
5
  SHA512:
6
- metadata.gz: 409852566e39b2e0c29ccfe89aaf99b4b2a9837825808f278bf8c775f31e1750ed37a923be948a2a51060807c799d3de32fb867a889428fd365e5ed7ba22cfee
7
- data.tar.gz: 0fe630b87412fde207f98c6196631db42d66a7b5e4b95dd5a85f8b83d0e8ae89e055df66974f37c67726d58af2788a412f41b68992f8ebbfd45937af023b3d6a
6
+ metadata.gz: 96a1db615d902109194a3600876ebbd6a029681b47fa8e82b8b78efbb61db74532892277fd1ac95fdf02a9a902c095981e0bf51e469f55ff9e5a75a948ec553d
7
+ data.tar.gz: 7960baa3ef7ebbab1bea4b6c7947fe198ee446402a51121d641e287f44e93e335e5acc3269b42a040a21c7a2b571dee700c29353a0b8f6bca9646258a9194be7
@@ -42,6 +42,7 @@ module Dry
42
42
  o.on('', '--ingress', 'Generate ingress labels') { true }
43
43
  o.on('', '--traefik', 'Generate traefik labels') { true }
44
44
  o.on('', '--traefik_tls', 'Generate traefik tls labels') { true }
45
+ o.on('', '--host_sed /from/to/', 'Sed ingress host /*/dev.*/')
45
46
  o.on('-n', '--no-env', 'Do not process env variables') { true }
46
47
  o.on('-h', '--help') { puts o; exit }
47
48
  o.parse! args, into: params
@@ -75,40 +75,46 @@ module Dry
75
75
  service[:deploy] ||= {}
76
76
  service[:deploy][:labels] ||= []
77
77
 
78
- if @ingress[name] && (opts[:ingress] || opts[:traefik])
78
+ if @ingress[name] && (opts[:ingress] || opts[:traefik] || opts[:traefik_tls])
79
79
  service[:networks] ||= []
80
80
  service[:networks] << 'default' if service[:networks].empty?
81
81
  service[:networks] << 'ingress_routing'
82
82
  end
83
83
 
84
+ if opts[:host_sed] && @ingress.dig(name,:host)
85
+ a, b = opts[:host_sed].split('/').reject(&:empty?)
86
+ @ingress[name][:host].gsub! %r{#{a}}, b
87
+ end
88
+
84
89
  if @ingress[name] && opts[:ingress]
85
90
  service[:deploy][:labels] = @ingress[name]&.map { |k, v| "ingress.#{k}=#{v}" }
86
91
  end
87
92
 
88
- if @ingress[name] && opts[:traefik]
93
+ if @ingress[name] && (opts[:traefik] || opts[:traefik_tls])
89
94
  service_name = "#{@name}_#{name}"
90
- service[:deploy][:labels] += [
91
- 'traefik.enable=true',
92
- "traefik.http.routers.#{service_name}.service=#{service_name}",
93
- "traefik.http.services.#{service_name}.loadbalancer.server.port=#{@ingress[name][:port]}",
94
- "traefik.http.routers.#{service_name}.rule=HostRegexp(`{name:#{nginx_host2regexp @ingress[name][:host]}}`)"
95
- ]
96
- end
97
95
 
98
- if @ingress[name] && opts[:traefik_tls]
99
- service_name = "#{@name}_#{name}"
100
96
  service[:deploy][:labels] += [
101
97
  'traefik.enable=true',
102
98
  "traefik.http.routers.#{service_name}.service=#{service_name}",
103
99
  "traefik.http.services.#{service_name}.loadbalancer.server.port=#{@ingress[name][:port]}",
104
- "traefik.http.routers.#{service_name}.rule=HostRegexp(`{name:#{nginx_host2regexp @ingress[name][:host]}}`)",
105
- "traefik.http.routers.#{service_name}.entrypoints=http",
106
- "traefik.http.routers.#{service_name}.middlewares=service_stack-https-redirect",
107
- "traefik.http.routers.#{service_name}.rule=Host(`${REGISTRY_HOSTNAME}`)",
108
- "traefik.http.routers.#{service_name}.entrypoints=https",
109
- "traefik.http.routers.#{service_name}.tls=true",
110
- "traefik.http.routers.#{service_name}.tls.certresolver=le"
111
100
  ]
101
+
102
+ if opts[:traefik_tls]
103
+ service[:deploy][:labels] += [
104
+ "traefik.http.routers.#{service_name}.entrypoints=http",
105
+ "traefik.http.routers.#{service_name}.middlewares=service_stack-https-redirect",
106
+ "traefik.http.routers.#{service_name}.entrypoints=https",
107
+ "traefik.http.routers.#{service_name}.tls=true",
108
+ "traefik.http.routers.#{service_name}.tls.certresolver=le"
109
+ ]
110
+ end
111
+
112
+ if @ingress[name][:host]
113
+ service[:deploy][:labels] << "traefik.http.routers.#{service_name}.rule=HostRegexp(`{name:#{nginx_host2regexp @ingress[name][:host]}}`)"
114
+ end
115
+ if @ingress[name][:rule]
116
+ service[:deploy][:labels] << "traefik.http.routers.#{service_name}.rule=#{@ingress[name][:rule]}"
117
+ end
112
118
  end
113
119
 
114
120
  service[:deploy].merge! @deploy[name] if @deploy[name]
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Dry
2
2
  class Stack
3
- VERSION = '0.0.17'
3
+ VERSION = '0.0.18'
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.17
4
+ version: 0.0.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artyom B
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-15 00:00:00.000000000 Z
11
+ date: 2022-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake