busola
busola copied to clipboard
Integrate Persistent Web-Based Kubernetes Terminal as a Kyma Module
Description
As Sebastian and Mathew I would like the capability to manage Kubernetes clusters directly from the Kyma Dashboard via a persistent web-based terminal, delivered as a Kyma module. This module would ensure that upon installation, a new widget appears in the Kyma dashboard interface, facilitating terminal access and persisting user configurations and settings across sessions.
Acceptance Criteria
- [ ] The module integrates seamlessly with the Kyma Dashboard.
- [ ] User settings and configurations are persisted in a volume for future sessions.
- [ ] The terminal module is fully functional upon installation without additional setup.
Business Value
This feature enhances user convenience by providing a persistent, configurable terminal experience directly within the Kyma Dashboard, mirroring the functionality seen in cloud offerings like Google Cloud's terminal access.
Reasons
Adopting this feature simplifies the user experience and increases efficiency, especially for users familiar with CLI tools but restricted by installation permissions.
Dependencies
Depends on the Kyma module framework for integration and volume storage for settings persistence.
Non-functional Requirements
- Security and privacy must be ensured for stored user data.
- The system should maintain high availability and reliability.
Constraints
- Must comply with data protection and privacy laws.
- Should be designed for easy update and maintenance.
Additional Features
- Settings and configurations persistence across sessions.
- Instantiation of the terminal environment is managed by the module for easy access.
Notes and Comments
Further considerations include user experience design to ensure the terminal widget is intuitive and aligns with existing Kyma Dashboard aesthetics.
Size or Effort
Medium to high effort, considering the development and integration of new functionalities and persistence mechanisms.
Mockups or Diagrams
graph TD
A[Kyma Module] -->|Instantiates| B(Pod in Kubernetes Cluster)
A -->|Persists| C(Settings in Volume)
B -->|Connection| D[Terminal UI]
D -->|Persistent Connection| B
D -->|Saves Settings| C
Useful Links
- [Gardener Terminal Documentation](https://github.com/gardener/dashboard/blob/master/docs/usage/using-terminal.md and )
- Terminal Controller Manager
Attachments
Design prototypes and user flow diagrams to be attached upon design completion.