• Seth Hoenig's avatar
    consul/connect: add support for connect mesh gateways · 312161c5
    Seth Hoenig authored
    This PR implements first-class support for Nomad running Consul
    Connect Mesh Gateways. Mesh gateways enable services in the Connect
    mesh to make cross-DC connections via gateways, where each datacenter
    may not have full node interconnectivity.
    
    Consul docs with more information:
    https://www.consul.io/docs/connect/gateways/mesh-gateway
    
    The following group level service block can be used to establish
    a Connect mesh gateway.
    
    service {
      connect {
        gateway {
          mesh {
            // no configuration
          }
        }
      }
    }
    
    Services can make use of a mesh gateway by configuring so in their
    upstream blocks, e.g.
    
    service {
      connect {
        sidecar_service {
          proxy {
            upstreams {
              destination_name = "<service>"
              local_bind_port  = <port>
              datacenter       = "<datacenter>"
              mesh_gateway {
                mode = "<mode>"
              }
            }
          }
        }
      }
    }
    
    Typical use of a mesh gateway is to create a bridge bet...
    312161c5