dry-stack 0.0.39 → 0.0.40
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 +4 -4
- data/lib/dry-stack/stack.rb +21 -20
- data/lib/version.rb +1 -1
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 7e9b84c4033d29204a5625ad37ab81c03f23f828c164127e53c4d7421667ada6
         | 
| 4 | 
            +
              data.tar.gz: 2c38a45e3951c7b70f4cc142f44850eaf4a6a9d3929a2e93b6aaad4a40f136e5
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 9086e6f00852383990845461c207cbec44750203929daf5b19698d2a11f60e6ee2074516adb5af2d5f8587b3d8dc9a3a026625dcea11a9e4ff7ffbb8a8d7cf34
         | 
| 7 | 
            +
              data.tar.gz: 05615bde9a94a491066fab4b8e6045f517dd4e896e1b15f536543b2c4cf9e969cee82884d6b35f0605d0bdb6899f1c65dada887d56e70ebcbe2fae4815043642
         | 
    
        data/lib/dry-stack/stack.rb
    CHANGED
    
    | @@ -93,7 +93,6 @@ module Dry | |
| 93 93 |  | 
| 94 94 | 
             
                  compose[:services].each do |name, service|
         | 
| 95 95 | 
             
                    ingress = [@ingress[name]].flatten
         | 
| 96 | 
            -
                    ingress[0][:port] ||= service[:ports]&.first if ingress[0]
         | 
| 97 96 | 
             
                    service[:deploy] ||= {}
         | 
| 98 97 | 
             
                    service[:deploy][:labels] ||= []
         | 
| 99 98 | 
             
                    service[:deploy][:labels] += @labels.map { "#{_1}=#{_2}" }
         | 
| @@ -112,6 +111,7 @@ module Dry | |
| 112 111 | 
             
                    end
         | 
| 113 112 |  | 
| 114 113 | 
             
                    if ingress[0] && opts[:ingress]
         | 
| 114 | 
            +
                      ingress[0][:port] ||= service[:ports]&.first
         | 
| 115 115 | 
             
                      service[:deploy][:labels] = ingress[0]&.map { |k, v| "ingress.#{k}=#{v}" }
         | 
| 116 116 | 
             
                    end
         | 
| 117 117 |  | 
| @@ -121,29 +121,30 @@ module Dry | |
| 121 121 | 
             
                      service[:deploy][:labels] += [
         | 
| 122 122 | 
             
                        'traefik.enable=true',
         | 
| 123 123 | 
             
                        "traefik.http.routers.#{service_name}.service=#{service_name}",
         | 
| 124 | 
            -
                        "traefik.http.services.#{service_name}.loadbalancer.server.port=#{ingress[0][:port]}"
         | 
| 125 124 | 
             
                      ]
         | 
| 125 | 
            +
                      ingress.each_with_index do |ing, index|
         | 
| 126 | 
            +
                        ing[:port] ||= service[:ports]&.first
         | 
| 127 | 
            +
                        service[:deploy][:labels] <<
         | 
| 128 | 
            +
                          "traefik.http.services.#{service_name}-#{index}.loadbalancer.server.port=#{ing[:port]}"
         | 
| 129 | 
            +
             | 
| 130 | 
            +
                        if opts[:traefik_tls]
         | 
| 131 | 
            +
                          domain = opts[:tls_domain] || 'example.com'
         | 
| 132 | 
            +
                          domain = @ingress[name][:host].gsub('.*', ".#{domain}") if @ingress[name][:host]
         | 
| 133 | 
            +
                          domain = @ingress[name][:tls_domain] if @ingress[name][:tls_domain]
         | 
| 134 | 
            +
                          service[:deploy][:labels] += [
         | 
| 135 | 
            +
                            "traefik.http.routers.#{service_name}-#{index}.tls=true",
         | 
| 136 | 
            +
                            "traefik.http.routers.#{service_name}-#{index}.tls.certresolver=le",
         | 
| 137 | 
            +
                            "traefik.http.routers.#{service_name}-#{index}.tls.domains[0].main=#{domain}"
         | 
| 138 | 
            +
                          ]
         | 
| 139 | 
            +
                        end
         | 
| 126 140 |  | 
| 127 | 
            -
                      if opts[:traefik_tls]
         | 
| 128 | 
            -
                        domain = opts[:tls_domain] || 'example.com'
         | 
| 129 | 
            -
                        domain = @ingress[name][:host].gsub('.*', ".#{domain}") if @ingress[name][:host]
         | 
| 130 | 
            -
                        domain = @ingress[name][:tls_domain] if @ingress[name][:tls_domain]
         | 
| 131 | 
            -
                        service[:deploy][:labels] += [
         | 
| 132 | 
            -
                          "traefik.http.routers.#{service_name}.tls=true",
         | 
| 133 | 
            -
                          "traefik.http.routers.#{service_name}.tls.certresolver=le",
         | 
| 134 | 
            -
                          "traefik.http.routers.#{service_name}.tls.domains[0].main=#{domain}"
         | 
| 135 | 
            -
                        ]
         | 
| 136 | 
            -
                      end
         | 
| 137 | 
            -
             | 
| 138 | 
            -
                      rule_group = ingress.map do|r|
         | 
| 139 141 | 
             
                        rule = []
         | 
| 140 | 
            -
                        rule << "HostRegexp(`{name:#{nginx_host2regexp  | 
| 141 | 
            -
                        rule << "PathPrefix(`#{nginx_host2regexp  | 
| 142 | 
            -
                        rule << "#{ | 
| 143 | 
            -
             | 
| 142 | 
            +
                        rule << "HostRegexp(`{name:#{nginx_host2regexp ing[:host]}}`)" if ing[:host]
         | 
| 143 | 
            +
                        rule << "PathPrefix(`#{nginx_host2regexp ing[:path]}`)" if ing[:path]
         | 
| 144 | 
            +
                        rule << "#{ing[:rule]}" if ing[:rule]
         | 
| 145 | 
            +
             | 
| 146 | 
            +
                        service[:deploy][:labels] << "traefik.http.routers.#{service_name}-#{index}.rule=#{rule.join ' && '}"
         | 
| 144 147 | 
             
                      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}"
         | 
| 147 148 | 
             
                    end
         | 
| 148 149 |  | 
| 149 150 | 
             
                    hash = {'service-name': service_name}
         | 
    
        data/lib/version.rb
    CHANGED