Skip to content

Add full shell #2801

Open
0 of 2 issues completed
Open
Feature
0 of 2 issues completed
@joaquimrocha

Description

@joaquimrocha

Is your feature request related to a problem? Please describe the impact that the lack of the feature requested is creating.

It would be useful to have access to a shell within Headlamp, like we do in the case of exec into pods but as a local machine shell. This would mean that users could use a full shell without having to leave Headlamp, which can be useful: we could use this in combination with plugins that download and install useful tools like kubectl, az, gcloud, etc.

Describe the solution you'd like

Parts

Other considerations

Since it may not be desirable for every user to have the frontend pass commands that are run a shell (since it'd mean that plugins could run commands in the local machine), we need to make this as secure as possible. In our first attempt to add command-running support, we limited the commands to only a handful. Yet, this would make things complicated in a shell where users could composed commands like e.g. pipes and logic.

So maybe the only feasible solution is an all-or-nothing, i.e. asking the user if they allow running commands from the application. Allowing so would be a requirement for running this internal shell.

This would open the possibility to have e.g. a kubectl plugin which not only installs the required kubectl, but would also set the right context when opening the terminal in a cluster view in Headlamp.

What users will benefit from this feature?

  • Users who want one single place to manage the clusters, even when using external tools
  • Users who are not familiar with all the tools out there and may find it easier to install them via Headlamp plugins
  • Users who find the Headlamp UI limiting and would like to run some extra commands

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    desktopIssues related to the desktopkind/featureCategorizes issue or PR as related to a new feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions