.. _pre-reqs: ============== Pre-requisites ============== Smoothly working with the JupyterHubs maintained in this repository has a number of pre-requisite skills you must possess. The rest of the documentation assumes you have at least a basic level of these skills, and know how to get help related to these technologies when necessary. Basic ===== These skills let you interact with the repository in a basic manner. This lets you do most 'self-service' tasks - such as adding admin users, libraries, making changes to resource allocation, etc. This doesn't give you any skills to debug things when they break, however. #. Basic `git `_ & `GitHub `_ skills. The `Git Book `_ & `GitHub Help `_ are good resources for this. #. Familiarity with `YAML `_ syntax. #. Understanding of how packages are installed in the languages we support. #. Rights to merge changes into this repository on GitHub. Full ==== In addition to the basic skills, you'll need the following skills to 'fully' work with this repository. Primarily, you need this to **debug issues when things break** - since we strive to never have things break in the same way more than twice. #. Knowledge of our tech stack: #. `Kubernetes `_ #. `Google Cloud `_ #. `Helm `_ #. `Docker `_ #. `repo2docker `_ #. `Jupyter `_ #. Languages we support: `Python `_ & `R `_ #. Understanding of our JupyterHub distribution, `Zero to JupyterHub `_. #. Full access to the various cloud providers we use.