Skip to content

Conversation

bobbai00
Copy link
Contributor

@bobbai00 bobbai00 commented Oct 18, 2025

What changes were proposed in this PR?

This PR implements SSH-like terminal access to Computing Units by integrating ttyd (terminal over HTTP/WebSocket) into the computing unit infrastructure.

  • Add web-based terminal access to Computing Units using ttyd
  • Users can now open a shell interface to their CUs through the web UI

Here is a simple demo:
2025-10-20 14 30 22

The solution uses ttyd which provides a terminal over HTTP/WebSocket:

  • Terminal runs inside each computing unit master pod
  • Accessed via /wsapi/cu-ssh endpoint with authentication
  • Envoy proxy handles routing based on computing unit ID
  • WebSocket connection maintained for real-time terminal interaction

Terminal Access Flow:

  1. User clicks "Open Terminal" for a specific CU in the UI
  2. Frontend generates terminal URL with uid, cuid, and JWT token
  3. Request goes through Envoy proxy to /wsapi/cu-ssh
  4. Envoy routes to the appropriate CU pod on port 7681
  5. ttyd serves terminal interface over WebSocket
  6. User can execute commands in the CU environment

Any related issues, documentation, discussions?

Closes #3935

How was this PR tested?

Was this PR authored or co-authored using generative AI tooling?

No

@github-actions github-actions bot added feature frontend Changes related to the frontend GUI build service labels Oct 18, 2025
@bobbai00 bobbai00 self-assigned this Oct 18, 2025
@bobbai00 bobbai00 requested review from aicam and chenlica October 18, 2025 22:01
@chenlica chenlica requested review from Xiao-zhen-Liu and kunwp1 and removed request for Xiao-zhen-Liu October 19, 2025 18:29
@chenlica
Copy link
Contributor

Adding @kunwp1 to the reviewer list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build feature frontend Changes related to the frontend GUI service

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable SSH Access to Computing Units

2 participants