Files
NexaDash/plugins/proxmox-ve/plugin.manifest.json
T
nessi d694c8b8e3 Add project scaffolding and documentation
Add .env.example with configuration for database, Redis, security, SMTP, workers, and plugins. Add .gitignore for Python, Node.js, Next.js, Docker volumes, and IDE files. Add MIT License. Update README.md with feature overview, quick start guide, architecture description, plugin system documentation, security details, backup/restore instructions, and developer setup. Add Alembic configuration files and placeholder directories for API, web, worker, and plugin components
2026-06-21 09:31:47 +02:00

80 lines
1.9 KiB
JSON

{
"id": "proxmox-ve",
"name": "Proxmox VE",
"version": "1.0.0",
"nexadashPluginApi": "1.0",
"description": "Shows Proxmox nodes, VMs, LXCs, storage and cluster health.",
"author": "NexaDash",
"category": "Infrastructure",
"permissions": ["network:outbound", "secrets:read"],
"settingsSchema": {
"type": "object",
"properties": {},
"required": []
},
"credentialsSchema": {
"type": "object",
"properties": {
"api_token": {
"type": "string",
"title": "API Token",
"format": "password",
"description": "Proxmox API token in format user@realm!tokenid=uuid"
}
},
"required": ["api_token"]
},
"widgets": [
{
"id": "cluster-overview",
"name": "Cluster Overview",
"description": "Cluster status and nodes summary",
"defaultWidth": 3,
"defaultHeight": 2
},
{
"id": "node-card",
"name": "Node Card",
"description": "CPU/RAM/Disk for a single node",
"defaultWidth": 2,
"defaultHeight": 2,
"settingsSchema": {
"type": "object",
"properties": {
"node": {
"type": "string",
"title": "Node name"
}
},
"required": ["node"]
}
},
{
"id": "vm-lxc-list",
"name": "VM/LXC List",
"description": "List of virtual machines and containers",
"defaultWidth": 3,
"defaultHeight": 3
},
{
"id": "storage-usage",
"name": "Storage Usage",
"description": "Storage utilization across the cluster",
"defaultWidth": 2,
"defaultHeight": 2
},
{
"id": "resource-graph",
"name": "Resource Graph",
"description": "CPU and memory usage chart",
"defaultWidth": 3,
"defaultHeight": 2
}
],
"healthcheck": {
"method": "GET",
"intervalSeconds": 60,
"timeoutSeconds": 30
}
}