Skip to content

Consul service mesh upstreams are not respecting the global proxy-defaults #7859

@crhino

Description

@crhino

Overview of the Issue

Users expect to be able to set the protocol in the proxy-defaults config entry and have it apply to upstream services. However, it currently does not.

Reproduction Steps

  1. Set up a global proxy defaults:
kind = "proxy-defaults"
name = "global"
namespace = "default"
config {
  protocol = "http"
}
  1. Configure upstreams for a service on the mesh, without specifying the protocol:
"upstreams": [
  {
    "destination_name": "counting",
    "local_bind_port": 5000
  },
  {
    "destination_name": "fortio",
    "local_bind_port": 6000
  }
]
  1. Check the envoy configuration for the service's sidecar proxy and see that the upstream listeners are not configured with http connection manager, but instead have the regular tcp_proxy config:
        "filters": [
          {
           "name": "envoy.tcp_proxy",
           "config": {
            "stat_prefix": "upstream_fortio_tcp",
            "cluster": "fortio.default.chris1.internal.cedad92f-c48c-8527-afb6-e3023da43538.consul"
           }
          }
         ]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions