Skip to content

Conversation

@danopia
Copy link
Member

@danopia danopia commented Dec 4, 2025

  • Update @cloudydeno/kubernetes-client dependency to latest (v0.8.0)
    • Breaking Change! Because tunnels were reimplemented, the client's type signature
      changed and aren't compatible between v0.7 and v0.8.
      In this case you must update these libraries together for Typescript to be happy.
    • Tunnel APIs (Pod Exec, Attach, PortForward) now work by default when using Deno 2.5.2 or later.
  • Regenerate from latest upstream CRDs.
    • Only includes a couple new fields in argo-cd and cert-manager CRDs.

@danopia danopia marked this pull request as draft December 4, 2025 13:22
danopia and others added 2 commits December 4, 2025 14:24
New API changes the tunnel stream setup process to
avoid awaiting each new tunnel and focus on WebSocket-based transports.

SPDY metadata is still in place but there are currently no SPDY client
transports offered, with hopes that Kubernetes will improve its offering
for PodPortForward over WebSocket and we can stop talking about SPDY.
Since tunnel setup is more synchronous, we are actually establishing the
streams before the WebSocket handshake completes (because if we wait,
we'll receive the initial packets before we have destinations for them)

So things like conditional behavior off the handshaked protocol version
must be done lazily, while port forward setup must be done immediately
for websockets (and only websockets).

Not really looking forward to reconciling this code for whenever
Kubernetes introduces a better way to do port forwards over WebSocket.
@danopia danopia marked this pull request as ready for review December 4, 2025 15:32
@danopia danopia merged commit 6dffa08 into main Dec 4, 2025
9 checks passed
@danopia danopia deleted the refresh branch December 4, 2025 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant