From 1099e938e761fec6e15faea2cd3a7c2bff515951 Mon Sep 17 00:00:00 2001 From: nv-edwli <144396897+nv-edwli@users.noreply.github.com> Date: Wed, 20 Aug 2025 14:25:35 -0700 Subject: [PATCH 01/14] Add files via upload --- .project/configpacks | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .project/configpacks diff --git a/.project/configpacks b/.project/configpacks new file mode 100644 index 0000000..59df09f --- /dev/null +++ b/.project/configpacks @@ -0,0 +1,12 @@ +*defaults.ContainerUser +*bash.PreBuild +*defaults.CA +*defaults.EnvVars +*defaults.Readme +*defaults.Entrypoint +*apt.PackageManager +*bash.PreLanguage +*python.PipPackageManager +*bash.PostBuild +*jupyterlab.JupyterLab +*vs_code.VSCode \ No newline at end of file From 37381bdd4e93e43eeb6b70780da4fef0cca489f6 Mon Sep 17 00:00:00 2001 From: nv-edwli <144396897+nv-edwli@users.noreply.github.com> Date: Wed, 20 Aug 2025 16:35:04 -0500 Subject: [PATCH 02/14] Delete .project/configpacks --- .project/configpacks | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 .project/configpacks diff --git a/.project/configpacks b/.project/configpacks deleted file mode 100644 index 59df09f..0000000 --- a/.project/configpacks +++ /dev/null @@ -1,12 +0,0 @@ -*defaults.ContainerUser -*bash.PreBuild -*defaults.CA -*defaults.EnvVars -*defaults.Readme -*defaults.Entrypoint -*apt.PackageManager -*bash.PreLanguage -*python.PipPackageManager -*bash.PostBuild -*jupyterlab.JupyterLab -*vs_code.VSCode \ No newline at end of file From b61f8970877ca21b242b002132910ba41c85269b Mon Sep 17 00:00:00 2001 From: nv-edwli <144396897+nv-edwli@users.noreply.github.com> Date: Wed, 20 Aug 2025 16:35:32 -0500 Subject: [PATCH 03/14] Update spec.yaml --- .project/spec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.project/spec.yaml b/.project/spec.yaml index 1aea507..23a5127 100644 --- a/.project/spec.yaml +++ b/.project/spec.yaml @@ -22,7 +22,7 @@ environment: name: RAPIDS with CUDA supported_architectures: [] cuda_version: "" - description: "" + description: A RAPIDS base with CUDA entrypoint_script: /home/rapids/entrypoint.sh labels: [] apps: @@ -104,6 +104,6 @@ execution: description: NGC Personal Key from https://org.ngc.nvidia.com/setup/personal-keys mounts: - type: project - target: /project + target: /project/ description: Project directory options: rw From 5fe9bf236238e329cea9cfc504670c3cf7946ac0 Mon Sep 17 00:00:00 2001 From: nv-edwli <144396897+nv-edwli@users.noreply.github.com> Date: Wed, 20 Aug 2025 16:46:06 -0500 Subject: [PATCH 04/14] Update spec.yaml --- .project/spec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.project/spec.yaml b/.project/spec.yaml index 23a5127..fe06b5a 100644 --- a/.project/spec.yaml +++ b/.project/spec.yaml @@ -17,7 +17,7 @@ layout: environment: base: registry: nvcr.io - image: nvidia/rapidsai/notebooks:25.04-cuda12.8-py3.12 + image: nvidia/rapidsai/notebooks:25.06-cuda12.8-py3.11 build_timestamp: "" name: RAPIDS with CUDA supported_architectures: [] From 0f7cd692d11346524747106e636283f0530e9c45 Mon Sep 17 00:00:00 2001 From: nv-edwli <144396897+nv-edwli@users.noreply.github.com> Date: Wed, 20 Aug 2025 16:55:22 -0500 Subject: [PATCH 05/14] Update spec.yaml --- .project/spec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.project/spec.yaml b/.project/spec.yaml index fe06b5a..23a5127 100644 --- a/.project/spec.yaml +++ b/.project/spec.yaml @@ -17,7 +17,7 @@ layout: environment: base: registry: nvcr.io - image: nvidia/rapidsai/notebooks:25.06-cuda12.8-py3.11 + image: nvidia/rapidsai/notebooks:25.04-cuda12.8-py3.12 build_timestamp: "" name: RAPIDS with CUDA supported_architectures: [] From 0fd8207a5c5235601e4562271cfd3ae3febaf284 Mon Sep 17 00:00:00 2001 From: nv-edwli <144396897+nv-edwli@users.noreply.github.com> Date: Wed, 20 Aug 2025 16:58:33 -0500 Subject: [PATCH 06/14] Update spec.yaml --- .project/spec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.project/spec.yaml b/.project/spec.yaml index 23a5127..7eb930d 100644 --- a/.project/spec.yaml +++ b/.project/spec.yaml @@ -51,8 +51,8 @@ environment: os_distro_release: "24.04" schema_version: "" user_info: - uid: "1000" - gid: "1001" + uid: "1001" + gid: "1000" username: rapids package_managers: - name: apt From a6a72524f03a4b41abb4783ef868214583ae6375 Mon Sep 17 00:00:00 2001 From: nv-edwli Date: Wed, 20 Aug 2025 22:26:32 +0000 Subject: [PATCH 07/14] Changed env w/ pip. Project Spec Modified & more... - Added pip packages: jupyterlab>3.0 - Removed pip packages: jupyterlab>=4.4.3 - Deleted app 'devx-lab' - Created mount '/nvwb-shared-volume/' - Deleted layout 'assets/' - Added files: .project/configpacks - Modified files: .gitignore, requirements.txt --- .gitignore | 15 +++++++++++++++ .project/configpacks | 10 ++++++++++ .project/spec.yaml | 27 ++++++--------------------- requirements.txt | 2 +- 4 files changed, 32 insertions(+), 22 deletions(-) create mode 100644 .project/configpacks diff --git a/.gitignore b/.gitignore index b9d937c..5895201 100644 --- a/.gitignore +++ b/.gitignore @@ -181,3 +181,18 @@ cython_debug/ # Operating System files **/.Trash* secrets.env + +# Ignore generated or temporary files managed by the Workbench +!.project/configpacks + +# General ignores +.DS_Store + +# Temp directories, notebooks created by jupyterlab +.Trash-*/ +.jupyter/ +.local/ + +# Python distribution / packaging + +# Workbench Project Layout \ No newline at end of file diff --git a/.project/configpacks b/.project/configpacks new file mode 100644 index 0000000..f7247e3 --- /dev/null +++ b/.project/configpacks @@ -0,0 +1,10 @@ +*defaults.ContainerUser +*bash.PreBuild +*defaults.EnvVars +*defaults.Readme +*defaults.Entrypoint +*apt.PackageManager +*bash.PreLanguage +*python.PipPackageManager +*bash.PostBuild +*jupyterlab.JupyterLab \ No newline at end of file diff --git a/.project/spec.yaml b/.project/spec.yaml index 7eb930d..5c1fb9f 100644 --- a/.project/spec.yaml +++ b/.project/spec.yaml @@ -11,9 +11,6 @@ layout: - path: code/ type: code storage: git - - path: assets/ - type: code - storage: gitlfs environment: base: registry: nvcr.io @@ -26,7 +23,7 @@ environment: entrypoint_script: /home/rapids/entrypoint.sh labels: [] apps: - - name: jupyterlab + - name: devx-lab type: jupyterlab class: webapp start_command: jupyter lab --allow-root --port 8888 --ip 0.0.0.0 --no-browser --NotebookApp.base_url=$PROXY_PREFIX --NotebookApp.default_url=/lab --NotebookApp.allow_origin='*' @@ -78,23 +75,7 @@ environment: target: /opt/conda compose_file_path: "" execution: - apps: - - name: devx-lab - type: jupyterlab - class: webapp - start_command: jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --ServerApp.token='' --ServerApp.password_required=False --expose-app-in-browser --NotebookApp.allow_origin='*' --NotebookApp.base_url=$PROXY_PREFIX --NotebookApp.default_url=/lab --allow-root - health_check_command: curl -f http://localhost:8888/api || exit 1 - stop_command: jupyter lab stop 8888 - user_msg: "" - logfile_path: "" - timeout_seconds: 60 - icon_url: "" - webapp_options: - autolaunch: true - port: "8888" - proxy: - trim_prefix: false - url: http://localhost:8888/lab + apps: [] resources: gpu: requested: 0 @@ -107,3 +88,7 @@ execution: target: /project/ description: Project directory options: rw + - type: volume + target: /nvwb-shared-volume/ + description: "" + options: volumeName=nvwb-shared-volume diff --git a/requirements.txt b/requirements.txt index 6b86f88..31b2fe5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -jupyterlab>=4.4.3 +jupyterlab>3.0 jupyterlab-git>=0.44.0 jupyter-app-launcher>=0.1.0 dotenv~=0.9.9 From fcbf759900f43f928a816c831f3abe783164b783 Mon Sep 17 00:00:00 2001 From: nv-edwli Date: Wed, 20 Aug 2025 22:27:46 +0000 Subject: [PATCH 08/14] Project Spec Modified - Deleted secret 'NGC_API_KEY' --- .project/spec.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.project/spec.yaml b/.project/spec.yaml index 5c1fb9f..b0631f1 100644 --- a/.project/spec.yaml +++ b/.project/spec.yaml @@ -80,9 +80,7 @@ execution: gpu: requested: 0 sharedMemoryMB: 0 - secrets: - - variable: NGC_API_KEY - description: NGC Personal Key from https://org.ngc.nvidia.com/setup/personal-keys + secrets: [] mounts: - type: project target: /project/ From 4000ae47684c2e8161732b590cd6b3ae30b1bf12 Mon Sep 17 00:00:00 2001 From: nv-edwli Date: Wed, 20 Aug 2025 23:30:11 +0000 Subject: [PATCH 09/14] Project Spec Modified - Created layout 'assets/' --- .project/spec.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.project/spec.yaml b/.project/spec.yaml index b0631f1..6939a46 100644 --- a/.project/spec.yaml +++ b/.project/spec.yaml @@ -11,6 +11,9 @@ layout: - path: code/ type: code storage: git + - path: assets/ + type: code + storage: git environment: base: registry: nvcr.io @@ -26,7 +29,7 @@ environment: - name: devx-lab type: jupyterlab class: webapp - start_command: jupyter lab --allow-root --port 8888 --ip 0.0.0.0 --no-browser --NotebookApp.base_url=$PROXY_PREFIX --NotebookApp.default_url=/lab --NotebookApp.allow_origin='*' + start_command: jupyter lab --allow-root --port 8888 --ip 0.0.0.0 --no-browser --NotebookApp.base_url=$PROXY_PREFIX --NotebookApp.default_url=/lab --NotebookApp.allow_origin='*' --expose-app-in-browser health_check_command: '[ \$(echo url=\$(jupyter lab list | head -n 2 | tail -n 1 | cut -f1 -d'' '' | grep -v ''Currently'' | sed "s@/?@/lab?@g") | curl -o /dev/null -s -w ''%{http_code}'' --config -) == ''200'' ]' stop_command: jupyter lab stop 8888 user_msg: "" From 3adea7c3b6bb5d59baa5e4848c4bfa8de43271ee Mon Sep 17 00:00:00 2001 From: nv-edwli Date: Wed, 20 Aug 2025 23:32:37 +0000 Subject: [PATCH 10/14] Added assets/.gitkeep - Added files: assets/.gitkeep --- assets/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/.gitkeep diff --git a/assets/.gitkeep b/assets/.gitkeep new file mode 100644 index 0000000..e69de29 From d418e7081d113bd7cf8c4537cadcdffd567602fc Mon Sep 17 00:00:00 2001 From: nv-edwli Date: Wed, 20 Aug 2025 23:37:48 +0000 Subject: [PATCH 11/14] Project Spec Modified - Updated storage in layout 'assets/' --- .project/spec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.project/spec.yaml b/.project/spec.yaml index 6939a46..b77ced1 100644 --- a/.project/spec.yaml +++ b/.project/spec.yaml @@ -13,7 +13,7 @@ layout: storage: git - path: assets/ type: code - storage: git + storage: gitlfs environment: base: registry: nvcr.io @@ -26,7 +26,7 @@ environment: entrypoint_script: /home/rapids/entrypoint.sh labels: [] apps: - - name: devx-lab + - name: DevX-Lab type: jupyterlab class: webapp start_command: jupyter lab --allow-root --port 8888 --ip 0.0.0.0 --no-browser --NotebookApp.base_url=$PROXY_PREFIX --NotebookApp.default_url=/lab --NotebookApp.allow_origin='*' --expose-app-in-browser From 6b4fe2ea82a829c731f36fdf3c09e3defb79320b Mon Sep 17 00:00:00 2001 From: nv-edwli <144396897+nv-edwli@users.noreply.github.com> Date: Wed, 3 Sep 2025 13:30:57 -0500 Subject: [PATCH 12/14] Update spec.yaml --- .project/spec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.project/spec.yaml b/.project/spec.yaml index b77ced1..dcc1b21 100644 --- a/.project/spec.yaml +++ b/.project/spec.yaml @@ -17,7 +17,7 @@ layout: environment: base: registry: nvcr.io - image: nvidia/rapidsai/notebooks:25.04-cuda12.8-py3.12 + image: nvidia/rapidsai/notebooks:24.08-cuda12.2-py3.11 build_timestamp: "" name: RAPIDS with CUDA supported_architectures: [] From bca0f43bb931fbe8c10e7130ecf6f3fffee11588 Mon Sep 17 00:00:00 2001 From: nv-edwli <144396897+nv-edwli@users.noreply.github.com> Date: Wed, 3 Sep 2025 15:15:16 -0500 Subject: [PATCH 13/14] Update preBuild.bash --- preBuild.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/preBuild.bash b/preBuild.bash index fe374f5..99d7460 100644 --- a/preBuild.bash +++ b/preBuild.bash @@ -1,2 +1,2 @@ # join the rapids group for access to python env -sudo usermod -aG 1001 $(whoami) +# sudo usermod -aG 1001 $(whoami) From 349e85d75ffcacb3ab2bd3d8891033dc517f6ea9 Mon Sep 17 00:00:00 2001 From: nv-edwli <144396897+nv-edwli@users.noreply.github.com> Date: Thu, 4 Sep 2025 10:24:44 -0700 Subject: [PATCH 14/14] Add files via upload --- .project/brev.nvwb-startup.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .project/brev.nvwb-startup.sh diff --git a/.project/brev.nvwb-startup.sh b/.project/brev.nvwb-startup.sh new file mode 100644 index 0000000..f0e3962 --- /dev/null +++ b/.project/brev.nvwb-startup.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +sudo -i -u ubuntu bash << 'EOF' +# Download NVIDIA AI Workbench +mkdir -p $HOME/.nvwb/bin +curl -L https://workbench.download.nvidia.com/stable/workbench-cli/$(curl -L -s https://workbench.download.nvidia.com/stable/workbench-cli/LATEST)/nvwb-cli-$(uname)-$(uname -m) --output $HOME/.nvwb/bin/nvwb-cli +chmod +x $HOME/.nvwb/bin/nvwb-cli +ln -sf $HOME/.nvwb/bin/nvwb-cli $HOME/.nvwb/bin/nvwb + +# Install NVIDIA AI Workbench +sudo $HOME/.nvwb/bin/nvwb-cli install --noninteractive --accept --docker --drivers --uid 1000 --gid 1000 +export PATH="$HOME/.nvwb/bin:$PATH" + +# Clone and build workshop +nvwb activate local +nvwb clone project https://github.com/nv-edwli/workshop-build-an-agent --context local +EOF \ No newline at end of file