bobbai00 opened a new issue, #3935:
URL: https://github.com/apache/texera/issues/3935
### Feature Summary
Enable users to access a terminal/shell interface for their Computing Units
(CUs) through the web interface. This feature provides SSH-like access to CUs,
allowing users to interact with the execution environment directly via a
web-based terminal.
### Proposed Solution or Design
Implement web-based terminal access to Computing Units using ttyd (terminal
over HTTP/WebSocket) with the following components:
### Backend Changes
1. **Computing Unit Master Dockerfile**
(`bin/computing-unit-master.dockerfile`):
- Install ttyd package for web-based terminal
- Expose port 7681 for terminal access
- Run ttyd alongside the computing unit master process
2. **Kubernetes Service Configuration**
(`bin/k8s/templates/workflow-computing-units-service.yaml`):
- Add ttyd port (7681) to the service definition
- Enable routing to terminal endpoints
3. **Envoy Proxy Configuration** (`bin/k8s/templates/envoy-config.yaml`):
- Add routing rules for `/wsapi/cu-ssh` endpoint
- Configure proxy pass to computing unit terminal services
- Implement proper authentication and authorization
4. **Access Control**:
- Integrate with existing access control service
- Verify user has permission to access specific CU
- Use JWT tokens for authentication
### Frontend Changes
1. **Computing Unit SSH Service** (`computing-unit-ssh.service.ts`):
- Generate terminal URLs with proper authentication tokens
- Handle user and CU ID parameters
2. **Computing Unit Selection UI** (`computing-unit-selection.component`):
- Add "Open Terminal" or "SSH Access" button for each CU
- Display terminal in iframe or modal
- Show terminal status and connection info
### Impact / Priority
(P2)Medium – useful enhancement
### Affected Area
Other
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]