tailscale/cmd/k8s-operator
Irbe Krumina 69c27b23cb cmd/k8s-operator,k8s-operator/session-recording: implement support for WebSocket protocol
Kubernetes currently supports two streaming protocols- SPDY and
WebSockets. WebSockets are replacing SPDY, see
https://github.com/kubernetes/enhancements/issues/4006
Our 'kubectl exec' session recording was only supporting
SPDY.

This change:

- adds functionality to parse streaming sessions over WebSockets

- for sessions that the API server proxy has determined need to be
recorded, determines if the session is over SPDY or WebSockets and
invoke the relevant parser accordingly

- refactors the session recording logic into its own package

Updates tailscale/corp#19821

Signed-off-by: Irbe Krumina <irbe@tailscale.com>
2024-07-26 21:32:37 +03:00
..
deploy cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
generate all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
connector_test.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
connector.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
depaware.txt cmd/k8s-operator,k8s-operator/session-recording: implement support for WebSocket protocol 2024-07-26 21:32:37 +03:00
dnsrecords_test.go cmd/{k8s-operator,k8s-nameserver},k8s-operator: update nameserver config with records for ingress/egress proxies (#11019) 2024-05-02 17:29:46 +01:00
dnsrecords.go all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
ingress_test.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
ingress.go cmd/k8s-operator,k8s-operator: allow proxies accept advertized routes. (#12388) 2024-06-07 19:56:42 +01:00
nameserver_test.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
nameserver.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
operator_test.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
operator.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
proxy_test.go cmd/k8s-operator,ssh/tailssh,tsnet: optionally record 'kubectl exec' sessions via Kubernetes operator's API server proxy (#12274) 2024-07-08 21:18:55 +01:00
proxy.go cmd/k8s-operator,k8s-operator/session-recording: implement support for WebSocket protocol 2024-07-26 21:32:37 +03:00
proxyclass_test.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
proxyclass.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: make individual proxy images/image pull policies configurable (#11928) 2024-06-07 16:18:44 +01:00
sts_test.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: make individual proxy images/image pull policies configurable (#11928) 2024-06-07 16:18:44 +01:00
sts.go cmd/containerboot,cmd/k8s-operator: enable IPv6 for fqdn egress proxies (#12577) 2024-07-05 12:21:48 +01:00
svc.go cmd/k8s-operator,k8s-operator,go.{mod,sum}: publish proxy status condition for annotated services (#12463) 2024-06-18 19:01:40 +01:00
testutils_test.go cmd/containerboot,cmd/k8s-operator: enable IPv6 for fqdn egress proxies (#12577) 2024-07-05 12:21:48 +01:00