diff --git a/doc/user/clusters/applications.md b/doc/user/clusters/applications.md index 97abe99fe62..b520c4fb579 100644 --- a/doc/user/clusters/applications.md +++ b/doc/user/clusters/applications.md @@ -140,8 +140,8 @@ that installs additional useful packages on top of the base Jupyter. You will also see ready-to-use DevOps Runbooks built with Nurtch's [Rubix library](https://github.com/amit1rrr/rubix). More information on -creating executable runbooks can be found in [our Nurtch -documentation](../project/clusters/runbooks/index.md#nurtch-executable-runbooks). Note that +creating executable runbooks can be found in [our Runbooks +documentation](../project/clusters/runbooks/index.md#executable-runbooks). Note that Ingress must be installed and have an IP address assigned before JupyterHub can be installed. @@ -152,6 +152,33 @@ chart is used to install this application with a [`values.yaml`](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/vendor/jupyter/values.yaml) file. +#### Jupyter Git Integration + +> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/28783) in GitLab 12 for project-level clusters. + +When installing JupyterHub onto your Kubernetes cluster, [JupyterLab's Git extension](https://github.com/jupyterlab/jupyterlab-git) +is automatically provisioned and configured using the authenticated user's: + +- Name +- Email +- Newly created access token + +JupyterLab's Git extension enables full version control of your notebooks as well as issuance of Git commands within Jupyter. +Git commands can be issued via the **Git** tab on the left panel or via Jupyter's command line prompt. + +NOTE: **Note:** +JupyterLab's Git extension stores the user token in the JupyterHub DB in encrypted format +and in the single user Jupyter instance as plain text. This is because [Git requires storing +credentials as plain text](https://git-scm.com/docs/git-credential-store). Potentially, if +a nefarious user finds a way to read from the file system in the single user Jupyter instance +they could retrieve the token. + +![Jupyter's Git Extension](img/jupyter-git-extension.gif) + +You can clone repositories from the files tab in Jupyter: + +![Jupyter clone repository](img/jupyter-gitclone.png) + ### Knative > Available for project-level clusters since GitLab 11.5. diff --git a/doc/user/clusters/img/jupyter-git-extension.gif b/doc/user/clusters/img/jupyter-git-extension.gif new file mode 100644 index 00000000000..13a88d97425 Binary files /dev/null and b/doc/user/clusters/img/jupyter-git-extension.gif differ diff --git a/doc/user/clusters/img/jupyter-gitclone.png b/doc/user/clusters/img/jupyter-gitclone.png new file mode 100644 index 00000000000..41d467f806a Binary files /dev/null and b/doc/user/clusters/img/jupyter-gitclone.png differ diff --git a/doc/user/project/clusters/runbooks/index.md b/doc/user/project/clusters/runbooks/index.md index 6360a01a0ad..c67b12fb91a 100644 --- a/doc/user/project/clusters/runbooks/index.md +++ b/doc/user/project/clusters/runbooks/index.md @@ -17,13 +17,15 @@ Modern implementations have introduced the concept of an "executable runbooks", where, along with a well-defined process, operators can execute pre-written code blocks or database queries against a given environment. -## Nurtch Executable Runbooks +## Executable Runbooks > [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/45912) in GitLab 11.4. The JupyterHub app offered via GitLab’s Kubernetes integration now ships with Nurtch’s Rubix library, providing a simple way to create DevOps -runbooks. A sample runbook is provided, showcasing common operations. +runbooks. A sample runbook is provided, showcasing common operations. While Rubix makes it +simple to create common Kubernetes and AWS workflows, you can also create them manually without +Rubix. ** Watch this [video](https://www.youtube.com/watch?v=Q_OqHIIUPjE)