UtrechtUniversity / yoda

A system for reliable, long-term storing and archiving large amounts of research data during all stages of a study.
https://utrechtuniversity.github.io/yoda/
GNU General Public License v3.0
46 stars 27 forks source link

[FEATURE] sandbox yoda #297

Closed Danny-dK closed 1 year ago

Danny-dK commented 1 year ago

Is your feature request related to a problem? Please describe.

I myself want to test things in Yoda (for example iCommands), or I want users to test things in Yoda. Especially vaulting and publishing. But I want these tests to not have an impact on actual Vaults or DOIs or have to worry about accidentally ruining users' data as rodsadmin.

Describe the solution you'd like

A testing environment that is standard available without the need for SURF or any institution to make a test environment separately available, much like https://sandbox.zenodo.org/. A 'sandbox' Yoda to which the rods admins of all consortium partners are added. Let's call it sandbox.yoda.nl (or sandbox.yoda.uu.nl). These consortium partners can then use this sandbox to add local users for testing/workshops to showcase vaulting, publishing, or any other functionality. Any users (besides rods admin) and their uploaded data would be automatically deleted from the sandbox after x hours (for example 48 hours) to limit impact on the sandbox.

Describe alternatives you've considered

The acceptance environments could be used for this, but as I understand these are not standard available for all, may have some differences in versions, and are separately created next to running instances.

stsnel commented 1 year ago

Thanks for the proposal 👍 We will discuss this topic in our department, and expect to be able to respond in a few weeks (because of holidays)

peer35 commented 1 year ago

Interesting idea. It is possible to spin up a Yoda dev environment on Research Cloud which is great for more technical testing. We already asked SURF to add a catalog item for a server with the current production version, but this is still very different from the real environment.

A sandbox which is almost the same as the real production, with configured SRAM, connection to the DataCite test api and tape storage, would be very useful.

stsnel commented 1 year ago

We have discussed this topic in our department. Although we understand how a sandbox environment will be useful for testing and training, we unfortunately don't have enough capacity in our team to create, maintain and support such an environment in the near future.

We suggest to explore if this request can be addressed at the consortium level.

We also have a Docker setup available that can be used to quickly set up a local Yoda environment on your laptop for testing and development purposes. This environment works with a mock Datacite service, and could be adapted to also use a Mock SRAM service. Perhaps the Docker environment can serve as an alternative for a sandbox environment in some situations.

Danny-dK commented 1 year ago

Thanks, understandable, I'll ask in the consortium. Thanks for considering. (and also ask for more money from your boss :) )