Conversation
Co-authored-by: Emilien Puget <[email protected]> Co-authored-by: Alice. B <[email protected]>
|
@Eugeny is this feature still planned? Since we are very interested in it we would love to know the status of the feature |
|
It's already mostly functional in this branch, however I haven't had time to polish and finalize it yet |
|
|
@Eugeny the WebSocket handler for kubectl exec/attach/port-forward is incomplete and doesn't record sessions. Why not use a jail/sidecar approach instead? Instead of implementing WebSocket recording here, we could:
Pros:
The current approach requires implementing WebSocket recording from scratch, which is complex and error-prone. The jail approach reuses existing, tested code. If we stick with the WebSocket approach, we'd need to:
This is my (and probably more people)'s last missing feature towards switching from Teleport. wdyt? |
|
@thereisnotime that would defeat the core concept of not needing special handling on the client side (now you need to SSH and run kubectl manually instead of having a k8s API endpoint). And it won't work with management tools that expect to be able to connect to the API directly (Lens etc). I'll implement websocket forwarding directly - though the initial release of the k8s support might not include exec session recordings |
That makes sense. What about a hybrid approach - when exec is being done then switch to standard recording and a command option? It might break standard exec client integrations but it will be really closer to replacing https://goteleport.com/docs/reference/architecture/session-recording/#kubernetes-sessions I am speaking as a user and as somebody who makes the decisions for security tooling for companies, from my perspective recording would be more beneficial than full 100% compliance with one command as most internal attacks in prod environments are done via exec. What do you think? |
|
I've implemented full support for recording exec and attach streams (for the current v5 websocket channel protocol, not the legacy SPDY based protocol) - would appreciate if you could give it a try! |
|





Closes #1036