This file covers documentation about the automated updating for user's disk quota and GPU access.
Users can request more disk space using this GoogleForm.
The responses are automatically collected in a GoogleSheet and we need to approve them manually by adding the date of approval to the corresponding line.
The results sheet is then automatically processed by a Jenkins job using this repo.
It basically fetches the GoogleSheet and then uses the process.py
script to request the disk quota via Galaxy's API.
For this to work the following things are needed:
- A Google Account with access to the sheet
- A Google
Oauth token
,OAuth secret
and the account's email stored in corresponding json files. The correct files are created from Jenkins secrets. - A valid Galaxy API key
- Go to https://console.cloud.google.com/apis/dashboard and create a new
project
. - Click on
activated APIs and services
and search forgoogle drive
. Activate it. - Go to
OAuth-Consent-Screen
and create a new (external) service. Add the required fields, make sure to click onadd or remove areas
and add aDrive API
ending with/auth/drive.readonly
. Make sure to also add your Google account to thetest users
section. - Now create the
OAuth client ID
underLogin data
. SelectCreate Credentials
/OAuth Client ID
then selectDesktop client
. - Now we need to finally authorize this
OAuth Client
using the gdrive tool (on your laptop). Follow the instructions in the readme. When you were successful, it should have created the 3 files under~/.config/gdrive/
. Create new secrets for them in Jenkins and change the corresponding secrets in the project. Delete the~/.config/gdrive/
directory on the Jenkins worker to ensure your credentials are copied and used.