feat: machine binding and version enforcement

migration 017 adds machine_id to agents table
middleware validates X-Machine-ID header on authed routes
agent client sends machine ID with requests
MIN_AGENT_VERSION config defaults 0.1.22
version utils added for comparison

blocks config copying attacks via hardware fingerprint
old agents get 426 upgrade required
breaking: <0.1.22 agents rejected
This commit is contained in:
Fimeg
2025-11-02 09:30:04 -05:00
parent 99480f3fe3
commit ec3ba88459
48 changed files with 3811 additions and 122 deletions

View File

@@ -1,17 +1,8 @@
import React, { useState } from 'react';
import { useState } from 'react';
import { useQuery } from '@tanstack/react-query';
import {
HardDrive,
RefreshCw,
Database,
Search,
Activity,
Monitor,
AlertTriangle,
CheckCircle,
Info,
TrendingUp,
Server,
MemoryStick,
} from 'lucide-react';
import { formatBytes, formatRelativeTime } from '@/lib/utils';
@@ -116,15 +107,7 @@ export function AgentStorage({ agentId }: AgentStorageProps) {
}));
};
const getDiskTypeIcon = (diskType: string) => {
switch (diskType.toLowerCase()) {
case 'nvme': return <Database className="h-4 w-4 text-purple-500" />;
case 'ssd': return <Server className="h-4 w-4 text-blue-500" />;
case 'hdd': return <HardDrive className="h-4 w-4 text-gray-500" />;
default: return <Monitor className="h-4 w-4 text-gray-400" />;
}
};
if (!agentData) {
return (
<div className="space-y-6">