Open natea opened 8 years ago
My understanding of Stuart's use case is this: ISC provides training in HealthShare, Cache, Ensemble via Open EdX LMS. As part of training, they want to provide browser-based shell access to a machine running HealthShare, Cache, Ensemble, depending on the course. My guess is that they might like this to be available in a tab on the Course, rather than just within a specific unit, so that the student can always jump to the shell. They want to make sure there is a Docker container ready to go that the students will log in to. That's a little different than what xblock-launchcontainer provides, which adds a launch container component to a specific unit (this is the standard XBlock way of doing things). So, if that is correct...
GateOne opens up a new port to listen for requests and provide the SSH tunneling. We'll have to look at how the authentication is going to work to the new server and how that interacts with the LMS, though my impression is that the isc.appsembler.com/deploy code has some of what we need for auth against an EdX student id. Running GateOne on the LMS/CMS server will probably require some additional ansible config, probably a new program managed by Supervisor, … so it's not going to be done in just a new XBlock. I haven't fully investigated how it works yet, though.
@bryanlandia does anything need to run on the server for GateOne? My understanding was that it was just a javascript-based client that connects over TCP to a remote SSH server (in our case, a Docker container)?
@natea - Yes, GateOne involves server code. GateOne uses Python (with the Tornado framework) to run a daemonized process that handles the terminal processes.
Investigate https://github.com/liftoff/GateOne and see about turning it into an XBlock
there is also this: https://github.com/METIT-BU/xblock-carouselworkspace