Merge branch 'feature/discovered-services'
CI / test (push) Successful in 1m19s

This commit is contained in:
Veillax committed 2026-10-27 17:07:49 -06:00
commit 75d530e8eb
1 file changed
+13
+13
View File
@@ -412,6 +412,18 @@ type ContainerPort struct {
Type string `json:"type"` Type string `json:"type"`
} }
// DiscoveredService is a listening service an agent found on its own network (local sockets or an
// opt-in scan of configured subnets). Hammerhead offers these as suggested targets; nothing is
// proxied until an administrator picks one.
type DiscoveredService struct {
Host string `json:"host"` // address to dial, as seen from the agent
Port int `json:"port"`
Proto string `json:"proto"` // "tcp"
Service string `json:"service,omitempty"` // best guess: http, https, ssh, smtp, ftp, mysql, ... (empty = unknown)
Detail string `json:"detail,omitempty"` // banner or Server header, trimmed
Source string `json:"source"` // "local" (listening socket on the agent's host) or "scan"
}
// EdgeReport is what blacktip posts back. // EdgeReport is what blacktip posts back.
type EdgeReport struct { type EdgeReport struct {
IPs []string `json:"ips"` IPs []string `json:"ips"`
@@ -459,6 +471,7 @@ type SiteReport struct {
MailEgress map[string]string `json:"mailEgress"` // egress ID -> "" (listening) or an error MailEgress map[string]string `json:"mailEgress"` // egress ID -> "" (listening) or an error
Connected []string `json:"connected"` Connected []string `json:"connected"`
Containers []Container `json:"containers"` Containers []Container `json:"containers"`
Discovered []DiscoveredService `json:"discovered,omitempty"`
Version string `json:"version,omitempty"` Version string `json:"version,omitempty"`
AutoUpdate bool `json:"autoUpdate,omitempty"` AutoUpdate bool `json:"autoUpdate,omitempty"`
UpdateMsg string `json:"updateMsg,omitempty"` UpdateMsg string `json:"updateMsg,omitempty"`