{ "cells": [ { "cell_type": "markdown", "id": "73a892dc-fbe5-41e7-a11f-fabbe0a27fe8", "metadata": {}, "source": [ "# CIFS\n", "## Instructions to mount CIFS on your MAIA Workspace" ] }, { "cell_type": "code", "execution_count": null, "id": "54bcb515-bb42-4440-873c-44c951156ba0", "metadata": { "scrolled": true }, "outputs": [], "source": [ "!pip install kubernetes maia-toolkit git+https://github.com/globocom/argocd-client.git" ] }, { "cell_type": "markdown", "id": "d2113405-258f-4dcc-af5f-2e2743715d69", "metadata": {}, "source": [ "## Read Environment Variables" ] }, { "cell_type": "code", "execution_count": null, "id": "f6c8c830-26c7-44ed-9ab6-bf763f63dd98", "metadata": {}, "outputs": [], "source": [ "from IPython.display import Markdown\n", "from IPython.core.magic import register_cell_magic\n", "import os\n", "from dotenv import load_dotenv\n", "\n", "load_dotenv()\n", "\n", "#JUPYTERHUB_POD_NAME = os.getenv(\"JUPYTERHUB_POD_NAME\", \"N/A\")\n", "#MINIO_CONSOLE_URL = os.environ.get(\"MINIO_CONSOLE_URL\", \"N/A\")\n", "HOSTNAME = os.environ.get(\"HOSTNAME\", \"N/A\")\n", "JUPYTERHUB_USER = os.environ.get(\"JUPYTERHUB_USER\", \"N/A\")\n", "JUPYTERHUB_USER_TRUNCATED=JUPYTERHUB_USER.split(\"@\")[0]\n", "JUPYTERHUB_BASE_URL = os.environ.get(\"JUPYTERHUB_BASE_URL\", \"\")\n", "SSH_USERNAME = JUPYTERHUB_USER.replace(\"@\",\"__at__\")\n", "SSH_PORT = os.environ.get(f\"SSH_PORT_{SSH_USERNAME}\", \"N/A\")\n", "\n", "with open(\"/var/run/secrets/kubernetes.io/serviceaccount/namespace\", \"r\") as f:\n", " namespace = f.readline().strip()\n", " \n", "@register_cell_magic\n", "def markdown(line, cell):\n", " return Markdown(cell.format(**globals()))" ] }, { "cell_type": "code", "execution_count": null, "id": "03fc1967-40cf-479e-a7d5-9efb6da3e18b", "metadata": {}, "outputs": [], "source": [ "from kubernetes import config\n", "\n", "config.load_incluster_config()" ] }, { "cell_type": "code", "execution_count": null, "id": "3f607263-2ee2-4b52-86bf-c314abd95e77", "metadata": {}, "outputs": [], "source": [ "from MAIA.kubernetes_utils import create_cifs_secret_from_context\n", "from MAIA.maia_fn import convert_username_to_jupyterhub_username" ] }, { "cell_type": "code", "execution_count": null, "id": "372a7024-4b0e-4091-ae9e-aa886d9c8183", "metadata": {}, "outputs": [], "source": [ "cifs_username = \"YOUR_CIFS_USERNAME\"\n", "cifs_password = \"YOUR_CIFS_PASSWORD\"\n", "\n", "# cifs_subfolder = \"\"\n", "# cifs_folder = \"\"" ] }, { "cell_type": "code", "execution_count": null, "id": "a1903402-e5a6-4222-a70e-e629d265bf2a", "metadata": {}, "outputs": [], "source": [ "%%markdown\n", "\n", "`Before mounting CIFS into MAIA, verify that you have a folder named {JUPYTERHUB_USER_TRUNCATED} in your CIFS folder`" ] }, { "cell_type": "code", "execution_count": null, "id": "f45f04a1-68ca-4522-858f-638c3d15512f", "metadata": {}, "outputs": [], "source": [ "create_cifs_secret_from_context(\n", " user_id=convert_username_to_jupyterhub_username(JUPYTERHUB_USER),\n", " namespace = namespace,\n", " username=cifs_username,\n", " password=cifs_password,\n", " public_key=\"/opt/cifs-encryption-key/public-key.pem\",\n", ")" ] }, { "cell_type": "markdown", "id": "866cb249-dcae-4429-8786-a43f790b8c70", "metadata": {}, "source": [ "Now you can restart your workspace and select the CIFS option from the list of available images. This will mount the CIFS share to `/home/maia-user/cifs` in your workspace." ] }, { "cell_type": "markdown", "id": "e09e7349", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }