feat: rebuild Monitor page for Proxmox cluster architecture + activate WP monitoring

- Rewrite Monitor.tsx with hierarchical cluster view (host + 4 VMs grid)
- Add ProgressBar inverted prop for container health (100% = green)
- Add per-site WordPress updates breakdown in WP Updates section
- Fix wpMonitorSchema validation to accept plugin data (passthrough, flexible types)
- All 8 WordPress sites now sending monitoring data via descomplicar-monitor plugin
This commit is contained in:
2026-02-23 14:55:00 +00:00
parent 3283d338ce
commit 1c941785e1

View File

@@ -63,20 +63,22 @@ export const wpMonitorSchema = {
site_url: z.string().url('Invalid site_url format'), site_url: z.string().url('Invalid site_url format'),
site_name: z.string().optional(), site_name: z.string().optional(),
health: z.object({ health: z.object({
status: z.enum(['good', 'recommended', 'critical']).optional() status: z.string().optional()
}).optional(), }).passthrough().optional(),
updates: z.object({ updates: z.object({
counts: z.object({ counts: z.object({
total: z.number().int().nonnegative() total: z.number().int().nonnegative()
}).optional(), }).passthrough().optional(),
core: z.array(z.any()).optional() core: z.any().optional(),
}).optional(), plugins: z.any().optional(),
themes: z.any().optional()
}).passthrough().optional(),
system: z.object({ system: z.object({
debug_mode: z.boolean().optional() debug_mode: z.boolean().optional()
}).optional(), }).passthrough().optional(),
database: z.object({ database: z.object({
size_mb: z.number().nonnegative().optional() size_mb: z.number().nonnegative().optional()
}).optional() }).passthrough().optional()
}).passthrough() // Permite campos adicionais }).passthrough() // Permite campos adicionais
} }