Skip to content

Roadmap: Galaxy Interactive Environments #372

@hexylena

Description

@hexylena

Issue for tracking planned IE enhancements

IEs on a remote host

  • IEs should be able to be launched on remote hosts Add configurable Docker hostname #356
  • Should use -P flag of docker. Per @jmchilton's comments and some discussion on IRC, it was obvious that this is the solution we've been looking for; offload port detection to docker, avoiding any race conditions, and allowing docker on a remote host to function 100% properly. Refactor GIE Launching to use -P #790
  • It would be nice if we could somehow take advantage of the built-in job scheduling in Galaxy and the docker job scheduling available as part of that. Not useful with swarm & friends, and dedicated docker preferred by admins to keep images away from jobs.

General IE improvements

  • IEs don't work with upstream proxying rules IEs don't work with upstream proxying rules #471
  • ipython can be run insecurely and have port # removed from URLs Replace docker_port with proxy_prefix bgruening/docker-ipython-notebook#60
  • rstudio can remove port # from URLs hexylena/docker-rstudio-notebook@a77f025
  • javascript needs a refactor, remove some of the requirejs + login code for ipython and make it unsecured.
  • Limit/Permit subsets of users to access GIEs, especially based on regex. (For "mixed" galaxy (pub + university users), cannot allow non-university people to run GIEs)
  • s/IE/GIE/g
  • need to consider providing a base IE image
    • nginx proxy, auto-kill script
  • Better handling of upstream proxy. Currently I'm writing apache confs that look like:
  • Replacement proxy
    • Current proxy requires NodeJS

    • Need to kill containers from proxy

      <Location /galaxy/ipython>
      ProxyPass http://localhost:8800/galaxy/ipython/
      ProxyPassReverse http://localhost:8800/galaxy/ipython/  
      </Location>

      I would like to be writing apache confs like:

      <Location /galaxy/proxy_ie>
      ProxyPass http://localhost:8800/galaxy/proxy_ie/
      ProxyPassReverse http://localhost:8800/galaxy/proxy_ie/  
      </Location>
  • [ ] CRIU + persist to history
  • [ ] Inform user if pulling container/provide some interaction saying "hey, we've detected the container isn't available, so we're pulling it, please be patient". xref Add BAM iobio visualisation as Interactive Environment #1131 Admin's job.

IEs with multiple images

This is more of a wishlist feature...

e.g. I'm slowly working on an Apache Zeppelin IE, it'd be great if I could re-use existing Zeppelin images and link an Apache Spark image, rather than having to bake everything into one.

This might involve shipping a docker-compose.yml in the settings folder, and applying a config variable somewhere marking this as a multi-image container. I worry about networking+picking out the correct ports and running multiple containers. Maybe we'd create a temp dir, copy in docker-compose, launch. We could do docker-compose ps and grab ports there maybe. This means config would have to either specially name the proxy image/we'd provide a self-killing proxy/the config would allow specifying the name of the main/proxy image.

IE Image selection

IEs as Tools

  • [ ] Allow running IEs as tools OR converting them into .py + tool.xml files IE Provevance #1923 It would be a nice project, but a lot of work. If someone is motivated they will discover the issue and produce something, no need to keep this issue open just for that.

IE UX

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions