From 3e59c20dba543634a6a79359f83c13fa81e7ccf3 Mon Sep 17 00:00:00 2001 From: oussama Dahmaz Date: Tue, 2 Sep 2025 20:29:18 +0200 Subject: [PATCH] feat(kubernetes): add Talos providers (#3979) Co-authored-by: oussama Dahmaz --- .../api/src/router/kubernetes/router/cluster.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/api/src/router/kubernetes/router/cluster.ts b/packages/api/src/router/kubernetes/router/cluster.ts index 0d7a77da1..e262ab8fa 100644 --- a/packages/api/src/router/kubernetes/router/cluster.ts +++ b/packages/api/src/router/kubernetes/router/cluster.ts @@ -184,12 +184,23 @@ function getProviders(versionInfo: VersionInfo, nodes: V1NodeList) { if (versionInfo.gitVersion.includes("aks")) providers.add("AKS"); nodes.items.forEach((node) => { - const nodeProviderLabel = - node.metadata?.labels?.["node.kubernetes.io/instance-type"] ?? node.metadata?.labels?.provider ?? ""; + const labels = node.metadata?.labels ?? {}; + const nodeProviderLabel = labels["node.kubernetes.io/instance-type"] ?? labels.provider ?? ""; + if (nodeProviderLabel.includes("aws")) providers.add("EKS"); if (nodeProviderLabel.includes("azure")) providers.add("AKS"); if (nodeProviderLabel.includes("gce")) providers.add("GKE"); if (nodeProviderLabel.includes("k3s")) providers.add("k3s"); + + const nodeInfo = node.status?.nodeInfo; + if (nodeInfo) { + const osImage = nodeInfo.osImage.toLowerCase(); + const kernelVersion = nodeInfo.kernelVersion.toLowerCase(); + + if (osImage.includes("talos") || kernelVersion.includes("talos")) { + providers.add("Talos"); + } + } }); return Array.from(providers).join(", ");