Extending remote host types


I am looking at developing one/a few plugins to help development and debugging on HPC nodes. Specifically:

  1. Loading `LuaModules` to get environment variables for Terminal, Build/Debug, and other configurations
  2. Offload to Job scheduler like `slurm`: i.e. request a node/resources, then proxy the commands through e.g. `srun` or request a `tty` terminal

I am still new to this, so I don't know the appropriate services to extend for these, especially to get the timing when these are loaded with respect to other runners, e.g. 2) has to be done before 1) and that before any execution.

For 1) I was considering extending LocalTerminalCustomizer, but wouldn't that effect only local environments? And how to impose some kind of ordering? Ideally it would not be creating a new Toolchain environment, just extending it like the `Add Environment` in CLion.

I suspect some cloud plugin can help with 2), but are there any good ones to reference? This could be similar to the Docker type toolchains also.

评论操作 固定链接

Sort of. I am the author of that of course. The issue there is more specific on the exposing some regions of the code for plugin development. This is also about integration with slurm which is independent of `Add Environment`. I.e. how can we make a plugin to redirect to a different host similar to the ssh and docker workflow.