linkerd2/controller
Kevin Leimkuhler b830efdad7
Add OpaqueTransport field to destination protocol hints (#5421)
## What

When the destination service returns a destination profile for an endpoint,
indicate if the endpoint can receive opaque traffic.

## Why

Closes #5400

## How

When translating a pod address to a destination profile, the destination service
checks if the pod is controlled by any linkerd control plane. If it is, it can
set a protocol hint where we indicate that it supports H2 and opaque traffic.

If the pod supports opaque traffic, we need to get the port that it expects
inbound traffic on. We do this by getting the proxy container and reading it's
`LINKERD2_PROXY_INBOUND_LISTEN_ADDR` environment variable. If we successfully
parse that into a port, we can set the opaque transport field in the destination
profile.

## Testing

A test has been added to the destination server where a pod has a
`linkerd-proxy` container. We can expect the `OpaqueTransport` field to be set
in the returned destination profile's protocol hint.

Signed-off-by: Kevin Leimkuhler <kevin@kleimkuhler.com>
2020-12-23 11:06:39 -05:00
..
api Add OpaqueTransport field to destination protocol hints (#5421) 2020-12-23 11:06:39 -05:00
cmd Add opaque ports to destination service updates (#5294) 2020-12-18 12:38:59 -05:00
gen Add opaque ports to destination service updates (#5294) 2020-12-18 12:38:59 -05:00
heartbeat Fix Heartbeat mem and cpu stats (#5042) 2020-10-08 16:31:16 -05:00
identity Have webhooks refresh their certs automatically (#5282) 2020-12-04 16:25:59 -05:00
k8s Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
proxy-injector Fix CLI install/upgrade overriding settings in HA (#5399) 2020-12-18 12:11:52 -05:00
script/destination-client Print identity in destination client and fix proxy-identity log line (#4873) 2020-08-13 13:49:55 -07:00
sp-validator Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
tap Have the tap APIServer refresh its cert automatically (#5388) 2020-12-16 17:46:14 -05:00
webhook Have the tap APIServer refresh its cert automatically (#5388) 2020-12-16 17:46:14 -05:00
Dockerfile extension: Separate multicluster chart and binary (#5293) 2020-12-04 16:36:10 -08:00