RedFlag/agent/internal/integrations/integrations.go
Fimeg 67e26be2d9 projection: begin the exact-path public epoch
The public tree and its history contain only the listed paths. Earlier projection history remains preserved internally.

Source-Sha: 913fde029b935671833254797f0f20f1eb9fabba

Policy-Sha: 913fde029b935671833254797f0f20f1eb9fabba

Tree-Digest: 180ae530c1058a2a5c89837bdce2d323ae83e669e38590ca72e75b8d92b7262f
2026-09-08 21:59:33 -04:00

23 lines
1 KiB
Go

// Package integrations detects third-party software the agent can observe on its
// own host (Sunshine, etc.) and folds a compact report into the agent's regular
// system-info payload under metadata["integrations"].
//
// Architecture: observe-only. Detection inspects the local host and reports what
// it finds. It never starts, stops, configures, or otherwise commands the software
// it observes — that boundary is what keeps a remote-desktop integration from
// becoming a remote-control backdoor. The dashboard renders what the agent reports;
// it does not reach into the host.
package integrations
// Detect returns the integrations block for metadata["integrations"]. primaryIP is
// the agent's primary address, used to construct local management URLs (e.g. the
// Sunshine web UI). An empty map means nothing was detected — callers may omit it.
func Detect(primaryIP string) map[string]interface{} {
out := make(map[string]interface{})
if s := detectSunshine(primaryIP); s != nil {
out["sunshine"] = s
}
return out
}