linkerd2/pkg
Kevin Leimkuhler e7f2a3fba3
viz: add tap-injector (#5540)
## What this changes

This adds a tap-injector component to the `linkerd-viz` extension which is
responsible for adding the tap service name environment variable to the Linkerd
proxy container.

If a pod does not have a Linkerd proxy, no action is taken. If tap is disabled
via annotation on the pod or the namespace, no action is taken.

This also removes the environment variable for explicitly disabling tap through
an environment variable. Tap status for a proxy is now determined only be the
presence or absence of the tap service name environment variable.

Closes #5326

## How it changes

### tap-injector

The tap-injector component determines if `LINKERD2_PROXY_TAP_SVC_NAME` should be
added to a pod's Linkerd proxy container environment. If the pod satisfies the
following, it is added:

- The pod has a Linkerd proxy container
- The pod has not already been mutated
- Tap is not disabled via annotation on the pod or the pod's namespace

### LINKERD2_PROXY_TAP_DISABLED

Now that tap is an extension of Linkerd and not a core component, it no longer
made sense to explicitly enable or disable tap through this Linkerd proxy
environment variable. The status of tap is now determined only be if the
tap-injector adds or does not add the `LINKERD2_PROXY_TAP_SVC_NAME` environment
variable.

### controller image

The tap-injector has been added to the controller image's several startup
commands which determines what it will do in the cluster.

As a follow-up, I think splitting out the `tap` and `tap-injector` commands from
the controller image into a linkerd-viz image (or something like that) makes
sense.

Signed-off-by: Kevin Leimkuhler <kevin@kleimkuhler.com>
2021-01-21 11:24:08 -05:00
..
addr Separate observability API (#5510) 2021-01-13 14:34:54 -05:00
admin remove admin server timeouts (#4350) 2020-05-08 12:59:43 -07:00
charts Add unit test for pkg/charts/charts.go (#5565) 2021-01-20 09:55:01 -05:00
cmd viz: move sub-cmds using viz extension under viz cmd (#5485) 2021-01-13 12:11:25 +05:30
config Add safe accessor for Global in linkerd-config (#5269) 2020-11-23 12:45:58 -08:00
filesonly Enable lint check for comments (#2023) 2019-01-02 14:03:59 -08:00
flags Add log-format flag to control plane components (#5537) 2021-01-15 10:51:32 -05:00
healthcheck add jaeger check: to confirm whether the jaeger injector pod is in running state or not (#5528) 2021-01-19 08:35:16 +05:30
identity cli: Don't check for SAN in root and intermediate certs (#5237) 2020-11-18 15:30:39 -08:00
inject Change injector proxy version annotation (#5338) (#5469) 2021-01-06 11:13:11 -05:00
issuercerts cli: Don't check for SAN in root and intermediate certs (#5237) 2020-11-18 15:30:39 -08:00
k8s viz: add tap-injector (#5540) 2021-01-21 11:24:08 -05:00
multicluster Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
profiles Separate observability API (#5510) 2021-01-13 14:34:54 -05:00
prometheus Trace Control plane Components with OC (#3495) 2019-10-18 12:19:13 -07:00
protohttp Separate observability API (#5510) 2021-01-13 14:34:54 -05:00
public Separate observability API (#5510) 2021-01-13 14:34:54 -05:00
servicemirror Add support for service-mirror selectors (#4795) 2020-07-30 10:07:14 -07:00
tap Separate observability API (#5510) 2021-01-13 14:34:54 -05:00
tls Have the tap APIServer refresh its cert automatically (#5388) 2020-12-16 17:46:14 -05:00
trace Trace Control plane Components with OC (#3495) 2019-10-18 12:19:13 -07:00
tree Expose namespaceSelector for admission webhooks in helm chart (#5074) 2020-10-13 16:08:56 -07:00
util Add opaque ports to destination service updates (#5294) 2020-12-18 12:38:59 -05:00
version Bump proxy-init to v1.3.8 (#5283) 2020-11-27 09:07:34 -05:00