Page MenuHomePhabricator

Add a web shell allowing people to perform actions as their tool from striker
Open, MediumPublic

Description

Allow users to get an isolated web terminal that allows them to perform actions as the tool. This should be accessible from within striker.

This has several advantages, particularly for windows users. This also simplifies the task of getting setup for other users too.

Event Timeline

from irc chat:

[22:34]  <yuvipanda>	so in striker
[22:34]  <yuvipanda>	we'll have a 'launch web console' thing
[22:34]  <yuvipanda>	click that
[22:34]  <yuvipanda>	we launch a k8s container
[22:34]  <yuvipanda>	set to the appropriate user (striker will need a privileged user that can launch containers as other users)
[22:34]  <yuvipanda>	said container will just run terminado and we can easily connect that to the terminal
bd808 triaged this task as Medium priority.Oct 14 2016, 10:39 PM
mmodell subscribed.

This is something I've spend a lot of time thinking about in the context of offering a web interface to scap.

from irc chat:

[22:34]  <yuvipanda>	so in striker
[22:34]  <yuvipanda>	we'll have a 'launch web console' thing
[22:34]  <yuvipanda>	click that
[22:34]  <yuvipanda>	we launch a k8s container
[22:34]  <yuvipanda>	set to the appropriate user (striker will need a privileged user that can launch containers as other users)
[22:34]  <yuvipanda>	said container will just run terminado and we can easily connect that to the terminal

Hahahah, this ring a lot of bells xd

One quick-and-dirty test I did is to create a jupyter notebook container, that allows you to run a terminal where you can install the toolforge clis (it needs polishing, but it works, see https://gitlab.wikimedia.org/toolforge-repos/jupytest).

This also ties a bit with T383146: Toolforge UI: Investigate integration of Striker functionality, where the integration might be having the operational console as a separated service than current striker (here, started inside the tool namespace on-demand), and linking from one to the other. Linking so we can reference/gather the ideas whenever we start preparing to work on it.

I think this is the terminado software that is mentioned there (very interesting) https://github.com/yuvipanda/jupyterhub-ssh