mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-10-01 23:56:18 +00:00
Update AppImage
This commit is contained in:
47
AppImage/app/api/system-info/route.ts
Normal file
47
AppImage/app/api/system-info/route.ts
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
import { type NextRequest, NextResponse } from "next/server"
|
||||||
|
|
||||||
|
export async function GET(request: NextRequest) {
|
||||||
|
try {
|
||||||
|
console.log("[v0] API route /api/system-info called")
|
||||||
|
|
||||||
|
// Try to connect to Flask server on port 8008
|
||||||
|
const flaskUrl = "http://localhost:8008/api/system-info"
|
||||||
|
console.log("[v0] Attempting to fetch from Flask server:", flaskUrl)
|
||||||
|
|
||||||
|
const response = await fetch(flaskUrl, {
|
||||||
|
method: "GET",
|
||||||
|
headers: {
|
||||||
|
Accept: "application/json",
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
},
|
||||||
|
// Add timeout
|
||||||
|
signal: AbortSignal.timeout(5000),
|
||||||
|
})
|
||||||
|
|
||||||
|
console.log("[v0] Flask system-info response status:", response.status)
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error(`Flask server responded with status: ${response.status}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = await response.json()
|
||||||
|
console.log("[v0] Flask system-info data received:", data)
|
||||||
|
|
||||||
|
return NextResponse.json(data)
|
||||||
|
} catch (error) {
|
||||||
|
console.error("[v0] Error connecting to Flask server for system-info:", error)
|
||||||
|
|
||||||
|
// Return fallback system info if Flask server is not available
|
||||||
|
const fallbackData = {
|
||||||
|
hostname: "proxmox-01",
|
||||||
|
node_id: "pve-node-01",
|
||||||
|
pve_version: "PVE 8.1.3",
|
||||||
|
status: "online",
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
source: "fallback",
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("[v0] Returning fallback system-info data:", fallbackData)
|
||||||
|
return NextResponse.json(fallbackData)
|
||||||
|
}
|
||||||
|
}
|
53
AppImage/app/api/system/route.ts
Normal file
53
AppImage/app/api/system/route.ts
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
import { type NextRequest, NextResponse } from "next/server"
|
||||||
|
|
||||||
|
export async function GET(request: NextRequest) {
|
||||||
|
try {
|
||||||
|
console.log("[v0] API route /api/system called")
|
||||||
|
|
||||||
|
// Try to connect to Flask server on port 8008
|
||||||
|
const flaskUrl = "http://localhost:8008/api/system"
|
||||||
|
console.log("[v0] Attempting to fetch from Flask server:", flaskUrl)
|
||||||
|
|
||||||
|
const response = await fetch(flaskUrl, {
|
||||||
|
method: "GET",
|
||||||
|
headers: {
|
||||||
|
Accept: "application/json",
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
},
|
||||||
|
// Add timeout
|
||||||
|
signal: AbortSignal.timeout(5000),
|
||||||
|
})
|
||||||
|
|
||||||
|
console.log("[v0] Flask response status:", response.status)
|
||||||
|
console.log("[v0] Flask response headers:", Object.fromEntries(response.headers.entries()))
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error(`Flask server responded with status: ${response.status}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = await response.json()
|
||||||
|
console.log("[v0] Flask data received:", data)
|
||||||
|
|
||||||
|
return NextResponse.json(data)
|
||||||
|
} catch (error) {
|
||||||
|
console.error("[v0] Error connecting to Flask server:", error)
|
||||||
|
|
||||||
|
// Return fallback data if Flask server is not available
|
||||||
|
const fallbackData = {
|
||||||
|
cpu_usage: 67.3,
|
||||||
|
memory_usage: 49.4,
|
||||||
|
memory_total: 32.0,
|
||||||
|
memory_used: 15.8,
|
||||||
|
temperature: 52,
|
||||||
|
uptime: "15d 7h 23m",
|
||||||
|
load_average: [1.23, 1.45, 1.67],
|
||||||
|
hostname: "proxmox-01",
|
||||||
|
node_id: "pve-node-01",
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
source: "fallback",
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("[v0] Returning fallback data:", fallbackData)
|
||||||
|
return NextResponse.json(fallbackData)
|
||||||
|
}
|
||||||
|
}
|
86
AppImage/app/api/vms/route.ts
Normal file
86
AppImage/app/api/vms/route.ts
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
import { type NextRequest, NextResponse } from "next/server"
|
||||||
|
|
||||||
|
export async function GET(request: NextRequest) {
|
||||||
|
try {
|
||||||
|
console.log("[v0] API route /api/vms called")
|
||||||
|
|
||||||
|
// Try to connect to Flask server on port 8008
|
||||||
|
const flaskUrl = "http://localhost:8008/api/vms"
|
||||||
|
console.log("[v0] Attempting to fetch from Flask server:", flaskUrl)
|
||||||
|
|
||||||
|
const response = await fetch(flaskUrl, {
|
||||||
|
method: "GET",
|
||||||
|
headers: {
|
||||||
|
Accept: "application/json",
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
},
|
||||||
|
// Add timeout
|
||||||
|
signal: AbortSignal.timeout(5000),
|
||||||
|
})
|
||||||
|
|
||||||
|
console.log("[v0] Flask VMs response status:", response.status)
|
||||||
|
console.log("[v0] Flask VMs response headers:", Object.fromEntries(response.headers.entries()))
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error(`Flask server responded with status: ${response.status}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = await response.json()
|
||||||
|
console.log("[v0] Flask VMs data received:", data)
|
||||||
|
|
||||||
|
return NextResponse.json(data)
|
||||||
|
} catch (error) {
|
||||||
|
console.error("[v0] Error connecting to Flask server for VMs:", error)
|
||||||
|
|
||||||
|
// Return fallback VM data if Flask server is not available
|
||||||
|
const fallbackData = [
|
||||||
|
{
|
||||||
|
vmid: 100,
|
||||||
|
name: "web-server-01",
|
||||||
|
status: "running",
|
||||||
|
cpu: 0.45,
|
||||||
|
mem: 8589934592, // 8GB in bytes
|
||||||
|
maxmem: 17179869184, // 16GB in bytes
|
||||||
|
disk: 53687091200, // 50GB in bytes
|
||||||
|
maxdisk: 107374182400, // 100GB in bytes
|
||||||
|
uptime: 1324800, // seconds
|
||||||
|
},
|
||||||
|
{
|
||||||
|
vmid: 101,
|
||||||
|
name: "database-server",
|
||||||
|
status: "running",
|
||||||
|
cpu: 0.23,
|
||||||
|
mem: 4294967296, // 4GB in bytes
|
||||||
|
maxmem: 8589934592, // 8GB in bytes
|
||||||
|
disk: 26843545600, // 25GB in bytes
|
||||||
|
maxdisk: 53687091200, // 50GB in bytes
|
||||||
|
uptime: 864000, // seconds
|
||||||
|
},
|
||||||
|
{
|
||||||
|
vmid: 102,
|
||||||
|
name: "backup-server",
|
||||||
|
status: "stopped",
|
||||||
|
cpu: 0,
|
||||||
|
mem: 0,
|
||||||
|
maxmem: 4294967296, // 4GB in bytes
|
||||||
|
disk: 10737418240, // 10GB in bytes
|
||||||
|
maxdisk: 21474836480, // 20GB in bytes
|
||||||
|
uptime: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
vmid: 103,
|
||||||
|
name: "test-server",
|
||||||
|
status: "stopped",
|
||||||
|
cpu: 0,
|
||||||
|
mem: 0,
|
||||||
|
maxmem: 2147483648, // 2GB in bytes
|
||||||
|
disk: 5368709120, // 5GB in bytes
|
||||||
|
maxdisk: 10737418240, // 10GB in bytes
|
||||||
|
uptime: 0,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
console.log("[v0] Returning fallback VM data:", fallbackData)
|
||||||
|
return NextResponse.json(fallbackData)
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user