One of the fun things I recently did was re-implementing it kubectl exec in client-go following a github [1].
Fun challenge is to then convert it into a websocket or http handler.
Fun challenge is to then convert it into a websocket or http handler.
Tip for anyone trying to do this in Go, look at Docker CLI's code for all the knobs you need to turn to have an actually interactive terminal, for example, setting raw mode on the terminal, handling terminal resizes, and other things across platforms.