feat: Phase 7 — MeshCentral Remote Desktop Integration
Backend:
- MeshCentralOptions + MeshCentralService: Node-Lookup via Hostname, Remote-Desktop-URL-Generierung
- RemoteDesktopController: GET /api/v1/agents/{id}/remote-session mit 3 Status-Zuständen (nicht konfiguriert / Agent fehlt / bereit)
- Program.cs: HttpClient + MeshCentralService registriert, appsettings.json mit Konfigurationsblock
Go Agent:
- config.go: MeshCentralUrl + MeshEnabled Felder
- internal/meshagent/installer.go: MeshAgent Download + Installation (Windows Service / Linux systemd)
- main.go: Automatische MeshAgent-Installation nach Enrollment wenn aktiviert
Frontend:
- RemoteDesktopButton: Modales Dialog mit 3 Zustandsanzeigen (Setup nötig / Agent installieren / Remote Desktop öffnen)
- AgentDetailPage: RemoteDesktopButton im Header integriert
- api/types.ts + api/client.ts: RemoteSessionInfo Typ + remoteDesktopApi
docker-compose.yml: MeshCentral Service (ghcr.io/ylianst/meshcentral:latest, Ports 4430/4431)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,7 @@ import type {
|
||||
CreateSoftwarePackageRequest,
|
||||
DeployRequest,
|
||||
DeployResponse,
|
||||
RemoteSessionInfo,
|
||||
} from './types'
|
||||
|
||||
const BASE_URL = '/api/v1'
|
||||
@@ -97,3 +98,9 @@ export const deployApi = {
|
||||
deploy: (data: DeployRequest) =>
|
||||
request<DeployResponse>('/deploy', { method: 'POST', body: JSON.stringify(data) }),
|
||||
}
|
||||
|
||||
// Remote Desktop
|
||||
export const remoteDesktopApi = {
|
||||
getSession: (agentId: string) =>
|
||||
request<RemoteSessionInfo>(`/agents/${agentId}/remote-session`),
|
||||
}
|
||||
|
||||
@@ -173,3 +173,14 @@ export interface DeployResponse {
|
||||
packageName: string
|
||||
version: string
|
||||
}
|
||||
|
||||
export interface RemoteSessionInfo {
|
||||
configured: boolean
|
||||
agentInstalled?: boolean
|
||||
message?: string
|
||||
setupUrl?: string
|
||||
meshAgentDownloadUrl?: string
|
||||
meshNodeId?: string
|
||||
sessionUrl?: string
|
||||
meshCentralBaseUrl?: string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user