From d6e889979e5bf1cfe209fafe4345c0d5a7fb8ea6 Mon Sep 17 00:00:00 2001 From: Aneurin Barker Snook Date: Sat, 8 Feb 2025 12:23:06 +0000 Subject: [PATCH 01/32] feat: begin adding gpu views --- src/components/MobileNavigation.vue | 5 ++ src/components/SideNavigation.vue | 5 ++ src/modules/gpu/components/GPUSelect.vue | 93 ++++++++++++++++++++++++ src/modules/gpu/views/GPUDeploy.vue | 24 ++++++ src/modules/gpu/views/GPUList.vue | 83 +++++++++++++++++++++ src/router/index.js | 10 +++ 6 files changed, 220 insertions(+) create mode 100644 src/modules/gpu/components/GPUSelect.vue create mode 100644 src/modules/gpu/views/GPUDeploy.vue create mode 100644 src/modules/gpu/views/GPUList.vue diff --git a/src/components/MobileNavigation.vue b/src/components/MobileNavigation.vue index 819f4ed9..ac6cde43 100644 --- a/src/components/MobileNavigation.vue +++ b/src/components/MobileNavigation.vue @@ -51,6 +51,11 @@ export default { link: '/servers', text: 'Servers' }, + { + _key: 'gpu', + link: '/gpus', + text: 'GPUs' + }, { _key: 'dns', link: '/domains', diff --git a/src/components/SideNavigation.vue b/src/components/SideNavigation.vue index 3777863f..c9112d74 100644 --- a/src/components/SideNavigation.vue +++ b/src/components/SideNavigation.vue @@ -34,6 +34,11 @@ export default { link: '/servers', text: 'Servers' }, + { + _key: 'gpu', + link: '/gpus', + text: 'GPUs' + }, { _key: 'dns', link: '/domains', diff --git a/src/modules/gpu/components/GPUSelect.vue b/src/modules/gpu/components/GPUSelect.vue new file mode 100644 index 00000000..09759f65 --- /dev/null +++ b/src/modules/gpu/components/GPUSelect.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/modules/gpu/views/GPUDeploy.vue b/src/modules/gpu/views/GPUDeploy.vue new file mode 100644 index 00000000..335614e0 --- /dev/null +++ b/src/modules/gpu/views/GPUDeploy.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/modules/gpu/views/GPUList.vue b/src/modules/gpu/views/GPUList.vue new file mode 100644 index 00000000..73f8e9dd --- /dev/null +++ b/src/modules/gpu/views/GPUList.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/src/router/index.js b/src/router/index.js index bc93f410..d8aa012c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -138,6 +138,16 @@ const routes = [ name: 'Getting Started', component: GettingStarted }, + { + path: 'gpus', + name: 'GPUs', + component: () => import('../modules/gpu/views/GPUList.vue') + }, + { + path: 'gpus/deploy', + name: 'Deploy GPU', + component: () => import('../modules/gpu/views/GPUDeploy.vue') + }, { path: 'notifications', name: 'Notifications', From f4ccd1c6f2dc74ea71442d8ce3ee6ee6c91e85be Mon Sep 17 00:00:00 2001 From: Aneurin Barker Snook Date: Sat, 8 Feb 2025 12:29:02 +0000 Subject: [PATCH 02/32] chore: copy EditableTitle, Slider from vpn branch --- src/layout/EditableTitle.vue | 98 ++++++++++++++++++++++++++++++++++++ src/layout/Slider.vue | 60 ++++++++++++++++++++++ 2 files changed, 158 insertions(+) create mode 100644 src/layout/EditableTitle.vue create mode 100644 src/layout/Slider.vue diff --git a/src/layout/EditableTitle.vue b/src/layout/EditableTitle.vue new file mode 100644 index 00000000..a33c6b40 --- /dev/null +++ b/src/layout/EditableTitle.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/src/layout/Slider.vue b/src/layout/Slider.vue new file mode 100644 index 00000000..68871cb9 --- /dev/null +++ b/src/layout/Slider.vue @@ -0,0 +1,60 @@ + + + + + From 11b596649f1389e5fc8b144f038e7a2c93a41c83 Mon Sep 17 00:00:00 2001 From: Aneurin Barker Snook Date: Sat, 8 Feb 2025 14:45:35 +0000 Subject: [PATCH 03/32] feat: add sliders to gpu deploy --- src/modules/gpu/components/GPUSelect.vue | 10 +++-- src/modules/gpu/views/GPUDeploy.vue | 53 +++++++++++++++++++++++- 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/src/modules/gpu/components/GPUSelect.vue b/src/modules/gpu/components/GPUSelect.vue index 09759f65..f796bcbd 100644 --- a/src/modules/gpu/components/GPUSelect.vue +++ b/src/modules/gpu/components/GPUSelect.vue @@ -6,13 +6,15 @@ const model = defineModel() const gpus = [ { - id: 'nvidia-a100-pcie', + _key: 'a100', + cudoId: 'nvidia-a100-pcie', vendorName: 'nvidia', modelName: 'A100 PCI-E', memoryGib: 80 }, { - id: 'nvidia-h100-nvl-pcie', + _key: 'h100', + cudoId: 'nvidia-h100-nvl-pcie', vendorName: 'nvidia', modelName: 'H100 NVL PCI-E', memoryGib: 96 @@ -30,8 +32,8 @@ const gpus = [ v-slot="{ active, checked, disabled }" as="template" :disabled="disabled" - :key="gpu.id" - :value="gpu.id" + :key="gpu._key" + :value="gpu._key" >
import GPUSelect from '../components/GPUSelect.vue' +import Slider from '../../../layout/Slider.vue' import { reactive } from 'vue' import { required } from '@vuelidate/validators' import useVuelidate from '@vuelidate/core' const formState = reactive({ - gpu: '' + gpu: '', + disk: 10, + gpus: 1, + ram: 2, + vcpus: 1 }) const v$ = useVuelidate({ - gpu: [required] + gpu: [required], + disk: [], + gpus: [], + ram: [], + vcpus: [] }, formState) @@ -19,6 +28,46 @@ const v$ = useVuelidate({
+ +
+ + + + + + + +
From bfc76bf9f6b60d36a0748ae2051730bd2658e57d Mon Sep 17 00:00:00 2001 From: Aneurin Barker Snook Date: Mon, 17 Feb 2025 13:37:19 +0000 Subject: [PATCH 04/32] feat: complete deploy form --- src/modules/gpu/components/GPUSelect.vue | 5 +- src/modules/gpu/views/GPUDeploy.vue | 178 +++++++++++++++++------ 2 files changed, 137 insertions(+), 46 deletions(-) diff --git a/src/modules/gpu/components/GPUSelect.vue b/src/modules/gpu/components/GPUSelect.vue index f796bcbd..be536cf9 100644 --- a/src/modules/gpu/components/GPUSelect.vue +++ b/src/modules/gpu/components/GPUSelect.vue @@ -1,8 +1,11 @@ From ebbf3302d7e93aa20cb22d99b0073f201e28d900 Mon Sep 17 00:00:00 2001 From: Aneurin Barker Snook Date: Mon, 24 Feb 2025 10:30:43 +0000 Subject: [PATCH 05/32] feat: begin to integrate gpu endpoints --- src/modules/gpu/components/GPUSelect.vue | 70 ++++++++++++----- src/modules/gpu/views/GPUDeploy.vue | 99 +++++++++++++++++------- src/modules/gpu/views/GPUDetail.vue | 69 +++++++++++++++++ src/router/index.js | 5 ++ 4 files changed, 199 insertions(+), 44 deletions(-) create mode 100644 src/modules/gpu/views/GPUDetail.vue diff --git a/src/modules/gpu/components/GPUSelect.vue b/src/modules/gpu/components/GPUSelect.vue index be536cf9..0975d722 100644 --- a/src/modules/gpu/components/GPUSelect.vue +++ b/src/modules/gpu/components/GPUSelect.vue @@ -1,28 +1,62 @@