diff --git a/app/extras/pseudographic.py b/app/extras/pseudographic.py index eed93b4..d479fe9 100644 --- a/app/extras/pseudographic.py +++ b/app/extras/pseudographic.py @@ -44,12 +44,22 @@ def display_virtual_machines(): console.print(table) +def kib_to_gib(kib_value): + """ + Convert memory from Ki (kibibytes) to GiB (gibibytes). + """ + try: + kib = int(kib_value[:-2]) + gib = kib / 1024 / 1024 + return f"{gib:.2f} GiB" + except ValueError: + return kib_value # Return original if conversion fails + def display_kubernetes_nodes(): console = Console() config.load_incluster_config() v1 = client.CoreV1Api() - # Nodes table table = Table(title="Kubernetes Nodes") table.add_column("Node Name") table.add_column("CPU", justify="right") @@ -61,12 +71,12 @@ def display_kubernetes_nodes(): table.add_row( node.metadata.name, node.status.capacity.get("cpu"), - node.status.capacity.get("memory"), + kib_to_gib(node.status.capacity.get("memory")), node.status.allocatable.get("pods") ) + console.print(table) - # Namespaces console.print("\n[bold]Namespaces:[/bold]") namespaces = [ns.metadata.name for ns in v1.list_namespace().items] console.print(", ".join(namespaces))