This chapter is dedicated for catalog item and component developers.
A new workspace (aka Virtual Machine) can be made by choosing a catalog item. A catalog item consists out of a list of components and other configuration.
To register new catalog items in SURF Research cloud you need to appoint a developer.
The generic steps to make your own catalog item are documented here.
On Components page create a eWatercycle component with following specialization:
- Component script
- Component script type: Ansible playbook
- Repository URL: https://github.com/eWaterCycle/infra.git
- Path: research-cloud-plugin.yml
- Tag: main
- Name & description
- Name: eWaterCycle dache or samba
- Subtitle: eWaterCycle teaching platform in a box
- Description: Welcome page + JupyterHub + nbgitpuller + nbgrader + eWaterCycle Python packages + dcache or samba
- Logo: Organization avatar/logo from https://github.com/eWaterCycle/ewatercycle
- Parameters, all configured parameters should be source type is fixed, required and overwitable unless otherwise stated
- shared_data_source:
- description: Source of shared data. Set to
dcache
orsamba
. - initial value: dcache
- description: Source of shared data. Set to
- samba_password:
- source_type: Co-Secret
- overwritable: false
- initial value: {"key": "samba_password"}
- dcache_ro_token: parameter for dcache read-only token aka macaroon.
The token can be found in the eWaterCycle password manager.
This token has an expiration date, so it needs to be updated every now and then.
- source_type: Co-Secret
- description: Macaroon with read permission for dcache.
- initial value: {"key": "dcache_ro_token"}
- overwritable: false
- rclone_cache_dir:
- description: Path where rclone cache is stored. Set to
/data/<storage item name for rclone cache>
. - initial value: /data/volume_3
- description: Path where rclone cache is stored. Set to
- alt_home_location:
- description: Path where home directories are stored. Set to
/data/<storage item name for homes>
. - initial value: /data/volume_2
- description: Path where home directories are stored. Set to
- grader_user:
- description: User who will be grading. User should be created on sram. This user will also be responsible for setting up the course and assignments.
- initial value: ubuntu
- required: false
- students:
- description: List of student user name and passwords. Format ':,:'. Use empty string for no students. Use strong passwords as anyone on the internet can access the machine.
- required: false
- course_repo:
- description: Git repository url with the course source material.
- initial value: https://github.com/eWaterCycle/teaching.git
- course_version
- description: The version, branch or tag of the course repository to use.
- initial value: nbgrader-quickstart
- shared_data_source:
- Owner & support
- Owner: ewatercycle-tudelft
- Documentation URL: https://github.com/eWaterCycle/infra
- Access
- Allow every org to use this component.
On Catalog items page create an eWatercycle catalog item with following specialization:
- Components, select the following components (use live version for all of them):
- SRC-OS
- SRC-CO
- SRC-Nginx
- SRC-External plugin
- eWaterCycle dache or samba
- Name & description
- Name: eWaterCycle dcache
- Subtitle: eWaterCycle teaching platform in a box
- Description: Welcome page + JupyterHub + nbgitpuller + nbgrader + eWaterCycle Python packages + dcache as shared data source
- Logo: Organization avatar/logo from https://github.com/eWaterCycle
- Owner & support
- Owner: ewatercycle-tudelft
- Documentation URL: https://github.com/eWaterCycle/infra
- Access, Select the organizations (CO) that are allowed to use the catalog item.
- Allowed Collaborative Organisations: Select all organizations with eWaterCycle in the name
- Cloud settings
- Add
SURF HPC Cloud
as cloud provider- Operating Systems: Ubuntu 22.04
- Sizes: all non-gpu and non-disabled sizes
- Add
- Parameters, keep all values as is except
- Set
co_irods
tofalse
as we do not use irods - Set
co_research_drive
tofalse
as we do not use research drive - Set
shared_data_source
todcache
- As interactive parameters expose following:
- rclone_cache_dir:
- label: Rclone cache directory
- alt_home_location:
- label: Homes path
- grader_user:
- label: Username of grader
- students
- label: Students
- course_repo
- label: Course repository
- course_version
- label: Course version
- rclone_cache_dir:
- Set
- Workspace settings
- Set boot disk size to 50Gb, as default size will be mostly used by the conda environment and will trigger out of space warnings.
- Set workspace acces button behavior to
Webinterface (https:)
, so clicking onACCESS
button will open up the eWatercycle experiment explorer web interface
On Catalog items page create an eWatercycle catalog item with following specialization:
- Find
eWaterCycle dcache
component item - Click on Actions -> Clone
- Then re-configure the following
- Name & description
- Name: eWaterCycle samba
- Description: Welcome page + JupyterHub + nbgitpuller + nbgrader + eWaterCycle Python packages + samba as shared data source
- Parameters
- rclone_cache_dir:
- action: keep value
- shared_data_source:
- action: overwrite
- initial value: samba
- rclone_cache_dir: