For the March release, Brain Simulation and Neuromorphic get in touch with us in order to know how they can programatically create a Collab. @andrew_davison presented the feature as being able to create a collab from a template while Felix Schürmann and @courcol were more thinking about cloning a current collab.
Both idea have strength and weakness that can be discussed here but for the next release, we agreed to found a solution about a scripted way to create a collab with application instantiation as we already have the necessary tool to do so. One of the remaining question is how to do it at the cheapest cost for maximum effectiveness.
After discussion with @brukau, we see three possible ways that needs to be discussed further:
- extends the collab template mechanism already present in the collab service (python)
- provides python examples (in a notebook) on how to script collab creation and let anyone interested add this code to their backend
The solution about having python example is almost similar (3), but it might easier to integrate for other teams in their own server.
The collab server is probably cleaner from an architecture standpoint but is hard to test for implementer (python 2.6, nginx for auth, …) and needs to be reviewed by the collab service maintainers as it impact the central code. Another way would be to create a new dedicated backend for this.