Many self-hosted machines have no management API, so add an SSH-based adapter (using ssh2) that connects with password or key auth and probes hostname/disk/mem/load via a single shell command, surfacing health status like the other integrations. Also fixes routes/integrations.ts's hardcoded type enum, which was out of sync with the IntegrationType union and rejected the new 'ssh' type. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BbJV5nm8KPVH1oNJYKpnoF
20 lines
555 B
TypeScript
20 lines
555 B
TypeScript
import type { IntegrationAdapter, IntegrationType } from './types.js'
|
|
import { uptimeKuma } from './uptimeKuma.js'
|
|
import { docker } from './docker.js'
|
|
import { proxmox } from './proxmox.js'
|
|
import { netbird } from './netbird.js'
|
|
import { cloudflare } from './cloudflare.js'
|
|
import { weather } from './weather.js'
|
|
import { aws } from './aws.js'
|
|
import { ssh } from './ssh.js'
|
|
|
|
export const adapterRegistry: Record<IntegrationType, IntegrationAdapter> = {
|
|
uptime_kuma: uptimeKuma,
|
|
docker,
|
|
proxmox,
|
|
netbird,
|
|
cloudflare,
|
|
aws,
|
|
weather,
|
|
ssh,
|
|
}
|