JupyterHub lacks an extension to interact with Kubernetes Job or CronJob objects. This task is for an Outreachy intern to develop that extension for PAWS, in particular, based on T124972
Requirements:
- Allow users to run notebooks on a schedule, like Cron
- Allow users to run arbitrary terminal commands that can be run from PAWS' terminals on a schedule
- Allow access to delete or edit scheduled CronJobs
- Only allow users access to their own CronJobs
- Do so securely (don't leak k8s credentials, don't give full access k8s cluster, etc)
Skills required:
- Python and ideally Jupyter notebooks
- Some Javascript/HTML
- Kubernetes concepts and usage
- nginx configuration
- Docker familiarity
Mentors: @Bstorm, @Chicocvenancio, @aborrero
Microtasks: