This is a POC with two purposes: refactoring a cluster package from labfunctions and allowing the creation and self registering of a jupyter instance.
This work was inpired by Let Deep Learning VMs and Jupyter notebooks burn the midnight oil for you
Right now only works for Google Cloud but should be easy to expand to other providers.
For examples, see examples
See infra_[cpu|gpu].py
and lab_[cpu|gpu].py
infra_*
files are raw implementacion of the cluster library.
Lab files are abstractions built over this library for jupyter lab provisioning.
- VM creation (Google)
- Jupyter on docker
- SSL certificates (ZeroSSL & Caddy)
- Volumes managments (Creation, Resizing, deletion, formating, etc)
- DNS A record creation (Google, Cloudflare)
- Automatic shutdown by inactivity (by Jupyter)
- GPU Provisioning (nvidia-smi installation, docker configuration, etc)
- Linux image creation (Packer)
- Entities types for autocompletion
- Logging into cloud provider log service