From 86d9a3d014d7e80da3c59139646ea40a67485094 Mon Sep 17 00:00:00 2001 From: Slawomir Koszewski Date: Mon, 20 Apr 2026 23:20:44 +0200 Subject: [PATCH] feat: add filtering for VM SKUs based on location and remove family field from VmSkuRow --- app/backend/src/azure-service.ts | 3 ++- app/build.sh | 18 ++++++++++++++++++ app/frontend/src/tools/VmSkuChooserTool.tsx | 9 --------- 3 files changed, 20 insertions(+), 10 deletions(-) create mode 100755 app/build.sh diff --git a/app/backend/src/azure-service.ts b/app/backend/src/azure-service.ts index fc9bff3..235b751 100644 --- a/app/backend/src/azure-service.ts +++ b/app/backend/src/azure-service.ts @@ -124,9 +124,10 @@ export class AzureImageService { } const targetLocation = location.toLowerCase(); + const filter = `location eq '${location}'`; const vmSkus: VmSkuOption[] = []; - for await (const sku of this.computeClient.resourceSkus.list()) { + for await (const sku of this.computeClient.resourceSkus.list({ filter })) { if ((sku.resourceType ?? "").toLowerCase() !== "virtualmachines") { continue; } diff --git a/app/build.sh b/app/build.sh new file mode 100755 index 0000000..4bc45d4 --- /dev/null +++ b/app/build.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +REGISTRY="registry.koszewscy.waw.pl" +IMAGE_NAME="azure-image-chooser-node" + +if command -v container >/dev/null; then + container build \ + -t $REGISTRY/$IMAGE_NAME:latest \ + --arch arm64 \ + --arch amd64 \ + . && \ + container image push \ + --arch amd64 \ + $REGISTRY/$IMAGE_NAME:latest +else + echo "No compatible container builder found." >&2 + exit 1 +fi diff --git a/app/frontend/src/tools/VmSkuChooserTool.tsx b/app/frontend/src/tools/VmSkuChooserTool.tsx index bdc9045..501a75e 100644 --- a/app/frontend/src/tools/VmSkuChooserTool.tsx +++ b/app/frontend/src/tools/VmSkuChooserTool.tsx @@ -24,7 +24,6 @@ const HEADER_CLASS_NAME = "vm-sku-grid-header"; type VmSkuRow = { id: string; name: string; - family: string; vcpus: number; memoryGb: number; maxDataDiskCount: number; @@ -109,7 +108,6 @@ const VmSkuChooserTool = () => { filteredSkus.map((sku) => ({ id: sku.name || `${sku.size || "sku"}-${sku.family || "unknown"}`, name: sku.name || "-", - family: sku.family || sku.size || sku.tier || "-", vcpus: sku.vcpus, memoryGb: sku.memoryGb, maxDataDiskCount: sku.maxDataDiskCount @@ -126,13 +124,6 @@ const VmSkuChooserTool = () => { flex: 1.4, headerClassName: HEADER_CLASS_NAME }, - { - field: "family", - headerName: "Family", - minWidth: 140, - flex: 0.9, - headerClassName: HEADER_CLASS_NAME - }, { field: "vcpus", headerName: "vCPUs",