Skip to content

Commit

Permalink
Improve docs
Browse files Browse the repository at this point in the history
  • Loading branch information
sverhoeven committed Sep 11, 2024
1 parent 609c3c6 commit 0732e8d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@ These instructions assume you have some basic knowledge of [vagrant](https://vag

The hardware environment used by the eWaterCycle platform development team is the [SURF Research Cloud](https://servicedesk.surfsara.nl/wiki/display/WIKI/Research+Cloud+Documentation). Starting a machine on the Surf Research Cloud requires that you have research budget with SURF, for more info see the website of [SURF](https://www.surf.nl/en/research-it/apply-for-access-to-compute-services). Once running, access to the machine can be shared to anyone.

The setup instructions in this repo will create an eWaterCycle application(a sort-of VM template) that when started will create a machine with:****
The setup instructions in this repo will create an eWaterCycle application(a sort-of VM template) that when started will create a machine with:

- Explorer: web visualization of available models / parameter sets combinations and a way to generate Jupyter notebooks
- Jupyter Hub: to interactivly generate forcings and perform experiments on hydrological models using the [eWatercycle Python package](https://ewatercycle.readthedocs.io/)
- [nbgrader](https://nbgrader.readthedocs.io/en/stable/) for grading
- [nbgitpuller](https://jupyterhub.github.io/nbgitpuller/) to open a cloned git repository in Jupyter Lab from an [URL](https://nbgitpuller.readthedocs.io/en/latest/link.html)
- ERA5 and ERA-Interim global climate data, which can be used to generate forcings
- Installed models and their example parameter sets

Expand Down Expand Up @@ -99,7 +100,7 @@ For eWatercycle component following specialization was done
- Use Ansible playbook as component script type
- Use `https://github.com/eWaterCycle/infra.git` as repository URL
- Use `research-cloud-plugin.yml` as script path
- Use `grader` as tag
- Use `dcache-or-samba` as tag
- Select cloud providers:
- SURF HPC Cloud, with all non-gpu sizes selected
- SURF HPC Cloud cluster, with all non-gpu sizes selected
Expand All @@ -123,7 +124,7 @@ For eWatercycle component following specialization was done
(==USERNAME== which will be replaced by the actual username of the user creating the workspace)
- students:
- default: []
- description: List of student user name and passwords. Format '<username1>:<password1>,<username2>:<password2>'. Use '' for no students. Use secure passwords as anyone on the internet can access the machine.
- description: List of student user name and passwords. Format '<username1>:<password1>,<username2>:<password2>'. Use '' for no students. Use strong passwords as anyone on the internet can access the machine.
- course_repo:
- default: https://github.com/eWaterCycle/teaching.git
- description: Git repository url with the course source material.
Expand Down Expand Up @@ -220,7 +221,11 @@ See [User guide](USER.md) to see what users have to do to login or use GitHub re
### Students

During creation you can set the `students` parameter to create local posix accounts for students.
The value for the `students` parameter is a list of [student, password] values. You can use the python script [create_student_passwords.py](create_student_passwords.py) to generate passwords. To use it, create a file "usernames.txt" with one username on each line. Then call the script to generate passwords. They will be stored in a new file called `students.txt`. See docs in script for more details. The passwords generated by the script should be distributed to the students.
The format of the parameter value is `<username1>:<password1>,<username2>:<password2>`.
Use emtpy string for no students.
Make sure to use strong passwords as anyone on the internet can access the machine.

You can use the python script [create_student_passwords.py](create_student_passwords.py) to generate passwords. To use it, create a file "usernames.txt" with one username on each line. Then call the script to generate passwords. They will be stored in a new file called `students.txt`. See docs in script for more details. The passwords generated by the script should be distributed to the students.

### Example notebooks

Expand Down
2 changes: 2 additions & 0 deletions create_student_passwords.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
python3 create_student_passwords.py < usernames.txt > students.txt
```
Copy contents of students.txt to the Surf Research Cloud workspace wizard.
"""

from secrets import token_urlsafe
Expand Down

0 comments on commit 0732e8d

Please sign in to comment.