feat: Veeam VSPC backup integration - sync, compliance, UI

- Database: 7 Veeam tables + backup_type_udf column on configuration_items
- API Client: VSPC REST API v3 client with pagination, rate limiting, Bearer auth
- Sync Service: full/incremental sync for orgs, servers, repos, jobs, agent jobs, workloads
- Scheduler: veeam-incremental (30min) and veeam-full (daily 2AM) schedules
- Compliance Engine: cross-references Autotask config items vs Veeam workloads
- API Endpoints: backup-status, companies, workloads, jobs, repos, compliance, sync
- UI: Backup Status page with Overview + Contract Compliance tabs
- Navigation: added Backup Status link with HardDrive icon
- Docker: added VEEAM_VSPC_URL and VEEAM_VSPC_API_KEY env vars to compose
This commit is contained in:
lorentz 2026-02-11 21:04:28 -05:00
parent a1e0e7c7c0
commit 5dc7a7e66b
27 changed files with 3408 additions and 7 deletions

View file

@ -12,7 +12,8 @@ import {
Database,
RefreshCw,
ChevronDown,
Activity
Activity,
HardDrive
} from 'lucide-react';
import {
NavigationMenu,
@ -47,6 +48,12 @@ const navigationItems: NavItem[] = [
icon: Server,
description: 'Manage IT assets and devices'
},
{
title: 'Backup Status',
href: '/backup-status',
icon: HardDrive,
description: 'Veeam backup health and compliance'
},
{
title: 'Admin',
icon: Activity,