busola icon indicating copy to clipboard operation
busola copied to clipboard

Integrate Persistent Web-Based Kubernetes Terminal as a Kyma Module

Open valentinvieriu opened this issue 1 year ago • 1 comments

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.

valentinvieriu avatar Feb 20 '24 10:02 valentinvieriu