diff --git a/src/app/settings/cluster-info/nodeInfo.tsx b/src/app/settings/cluster-info/nodeInfo.tsx
deleted file mode 100644
index 01592c9..0000000
--- a/src/app/settings/cluster-info/nodeInfo.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-'use client'
-
-import { getAuthUserSession } from "@/server/utils/action-wrapper.utils";
-import {
- Breadcrumb,
- BreadcrumbItem,
- BreadcrumbLink,
- BreadcrumbList,
-} from "@/components/ui/breadcrumb"
-import PageTitle from "@/components/custom/page-title";
-import userService from "@/server/services/user.service";
-import clusterService from "@/server/services/node.service";
-import { NodeInfoModel } from "@/model/node-info.model";
-import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card";
-
-export default async function NodeInfo({ nodeInfos }: { nodeInfos: NodeInfoModel[] }) {
-
- return (
-
-
- Cluster Info
- Overview of all nodes and capacities in the cluster.
-
-
-
- {nodeInfos.map((nodeInfo, index) => (
-
-
Node {index + 1}
- ({nodeInfo.status ? 'online' : 'offline'})
-
-
-
- Name: {nodeInfo.name}
-
-
- IP: {nodeInfo.ip}
-
-
- CPU Cores: {nodeInfo.cpuCapacity}
-
-
- Memory: {nodeInfo.ramCapacity}
-
-
- OS: {nodeInfo.os}
-
-
- Architektur: {nodeInfo.architecture}
-
-
-
- ))}
-
-
- )
-}
diff --git a/src/app/settings/cluster/nodeInfo.tsx b/src/app/settings/cluster/nodeInfo.tsx
new file mode 100644
index 0000000..6edec6a
--- /dev/null
+++ b/src/app/settings/cluster/nodeInfo.tsx
@@ -0,0 +1,59 @@
+'use client'
+
+import { NodeInfoModel } from "@/model/node-info.model";
+import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
+import { Code } from "@/components/custom/code";
+
+export default async function NodeInfo({ nodeInfos }: { nodeInfos: NodeInfoModel[] }) {
+
+ return (
+
+
+
+ Nodes
+ Overview of all Nodes in your CLuster
+
+
+
+
+ {nodeInfos.map((nodeInfo, index) => (
+
+
+ Node {index + 1}
+
+
+
+ Name: {nodeInfo.name}
+
+
+ IP: {nodeInfo.ip}
+
+
+ CPU Cores: {nodeInfo.cpuCapacity}
+
+
+ Memory: {nodeInfo.ramCapacity}
+
+
+ OS: {nodeInfo.os} | {nodeInfo.architecture}
+
+
+
+
+
+
+
+
+ Kernel Version: {nodeInfo.kernelVersion}
+ Container Runtime Version: {nodeInfo.containerRuntimeVersion}
+ Kube Proxy Version: {nodeInfo.kubeProxyVersion}
+ Kubelet Version: {nodeInfo.kubeletVersion}
+
+
+
+ ))}
+
+
+
+ )
+}
diff --git a/src/app/settings/cluster-info/page.tsx b/src/app/settings/cluster/page.tsx
similarity index 76%
rename from src/app/settings/cluster-info/page.tsx
rename to src/app/settings/cluster/page.tsx
index 9ef85ba..3d4ae52 100644
--- a/src/app/settings/cluster-info/page.tsx
+++ b/src/app/settings/cluster/page.tsx
@@ -11,6 +11,10 @@ export default async function ClusterInfoPage() {
const nodeInfo = await clusterService.getNodeInfo();
return (
)
diff --git a/src/app/settings/settings-nav.tsx b/src/app/settings/settings-nav.tsx
index de641f0..0aeded5 100644
--- a/src/app/settings/settings-nav.tsx
+++ b/src/app/settings/settings-nav.tsx
@@ -38,7 +38,7 @@ export default function SettingsNav() {
-
+
);
diff --git a/src/model/node-info.model.ts b/src/model/node-info.model.ts
index bd1f5e7..eb141d1 100644
--- a/src/model/node-info.model.ts
+++ b/src/model/node-info.model.ts
@@ -9,7 +9,10 @@ export const nodeInfoZodModel = z.object({
cpuCapacity: z.string(),
ramCapacity: z.string(),
ip: z.string(),
- diskCapacity: z.string(),
+ containerRuntimeVersion: z.string(),
+ kernelVersion: z.string(),
+ kubeProxyVersion: z.string(),
+ kubeletVersion: z.string(),
})
export type NodeInfoModel = z.infer;
\ No newline at end of file
diff --git a/src/server/services/node.service.ts b/src/server/services/node.service.ts
index d119035..444ca92 100644
--- a/src/server/services/node.service.ts
+++ b/src/server/services/node.service.ts
@@ -14,7 +14,10 @@ class ClusterService {
cpuCapacity: node.status?.capacity?.cpu!,
ramCapacity: node.status?.capacity?.memory!,
ip: node.status?.addresses?.filter((address) => address.type === 'InternalIP')[0].address!,
- diskCapacity: node.status?.capacity?.ephemeralStorage!,
+ kernelVersion: node.status?.nodeInfo?.kernelVersion!,
+ containerRuntimeVersion: node.status?.nodeInfo?.containerRuntimeVersion!,
+ kubeProxyVersion: node.status?.nodeInfo?.kubeProxyVersion!,
+ kubeletVersion: node.status?.nodeInfo?.kubeletVersion!,
}
});
}