Versions in this module Expand all Collapse all v0 v0.2.0 Sep 4, 2026 Changes in this version + const AuditDeviceError + const AuditFailure + const AuditOK + const AuditRefused + const ChainKindAction + const ChainKindConclusion + const ChainKindEvent + const ChainKindEvidence + const ChainKindRemediation + const ChainKindVerification + const CutoverAborted + const CutoverDone + const CutoverFailed + const CutoverHold + const CutoverRunning + const CutoverStepApproved + const CutoverStepDone + const CutoverStepFailed + const CutoverStepGating + const CutoverStepPending + const CutoverStepRolled + const CutoverStepRunning + const CutoverStepSkipped + const EscalationTimeout + const FindingAck + const FindingActive + const FindingFalsePos + const FindingResolved + const JobAborted + const JobDone + const JobFailed + const JobOnFailAbort + const JobOnFailContinue + const JobOnFailPause + const JobPaused + const JobRunning + const JobStepFailed + const JobStepOK + const JobStepPending + const JobStepRunning + const JobStepSkipped + const LiveCmdEnd + const LiveCmdOutput + const LiveCmdRefused + const LiveCmdStart + const LiveConn + const LiveConnConnected + const LiveConnConnecting + const LiveConnIdleClosed + const LiveConnReconnect + const LiveConnStopped + const LiveTurnBegin + const ProposalApproved + const ProposalClosed + const ProposalDone + const ProposalDraft + const ProposalExecuting + const ProposalFailed + const ProposalPartial + const ProposalRejected + const ProposalWatching + const RoleAP + const RoleBastion + const RoleCloud + const RoleFirewall + const RoleIPS + const RoleRouter + const RoleServer + const RoleSourceConfig + const RoleSourceGroup + const RoleSourceKind + const RoleSourceLabel + const RoleSourceModel + const RoleSourceNeighbor + const RoleSourceNone + const RoleSourceVendor + const RoleSwitch + const RoleUnknown + const RoleVPN + const SecretKindAPIToken + const SecretKindKubeconfig + const SecretKindPassphrase + const SecretKindPassword + const SecretKindSNMPAuth + const SecretKindSNMPPriv + const SecretNamespace + const SeverityCritical + const SeverityInfo + const SeverityWarning + const SourceDiscover + const SourceLayer + const SourceLocateARP + const SourceNetprobe + const SourceNmap + const SourceTopo + const StateActorAgent + const StateActorIM + const StateActorSystem + const StateActorUser + const StateEventApprove + const StateEventCaseDelete + const StateEventCaseSave + const StateEventCloseWatch + const StateEventCutoverAbort + const StateEventCutoverBack + const StateEventCutoverDone + const StateEventCutoverGo + const StateEventCutoverHold + const StateEventCutoverStart + const StateEventDelete + const StateEventExecute + const StateEventFindAck + const StateEventFindClear + const StateEventFindDismiss + const StateEventFindFP + const StateEventFindResolve + const StateEventGolden + const StateEventImport + const StateEventJobAbort + const StateEventJobFinish + const StateEventJobFreeze + const StateEventJobPause + const StateEventJobResume + const StateEventJobStart + const StateEventLeadDismiss + const StateEventPromote + const StateEventPropose + const StateEventReject + const StateEventRestoreKeep + const StateEventRollback + const StateEventSettings + const StateEventTopo + const StateEventTplApply + const StateEventTplDelete + const StateEventTplSave + const StepCLI + const StepCertReplace + const StepFileUpload + const StepK8sApply + const StepRestoreVerify + const StepSQLMigration + const TestAuthFailed + const TestError + const TestOK + const TestUnknownHostKey + const WeakTierBasic + const WeakTierDict + var HostKeyPrompt transport.HostKeyPrompt + func AckFindingByID(id string) error + func AppendAudit(e Audit) error + func AppendInspectionRow(row InspectionJournalRow) error + func AppendPortEvent(ip string, port int, kind string) + func ApplyExtraRead(cfg *config.Config) + func AssessmentActive(nd config.NetDevConfig) error + func AuditChainHead() string + func AuditPath() string + func CancelDiscoverRuns() int + func CaseBundle(caseID string) (string, error) + func CaseReport(c *IncidentCase) string + func CasesDir() string + func CleanupSeries() + func ClearFindings() (int, error) + func CloseProposalWatch(id string) error + func CountPromotions() int + func CtxStateActor(ctx context.Context, actor string) context.Context + func DeleteCase(id string) error + func DeleteDiscoveredHost(ip string) error + func DeleteSecret(kind, name string) error + func DeleteTemplate(id string) error + func DeviceLayersPath() string + func DiffBackups(device, idA, idB string) (string, error) + func DiscoveredDir() string + func DismissFinding(id string) error + func EnsureNotifier(cfg *config.Config) + func EnsureSyslogReceiver(cfg *config.Config) + func EnsureTrapReceiver(cfg *config.Config) + func ExtendScopesCandidates(existing, candidates []string) ([]string, error) + func FalsePositiveFindingByID(id string) error + func FindingsDir() string + func FlapCount(device string, window time.Duration) int + func FlushSyslogCounts() + func GetBackupText(device, id string) (string, error) + func GetSecret(kind, name string) (string, bool, error) + func GoldenDir() string + func HumanTTYKillAll() int + func HumanTTYResize(deviceName string, cols, rows int) error + func HumanTTYStop(deviceName string) + func ImportCVEFeed(raw string) (int, error) + func ImportStageFile(content string) (string, error) + func InferDeviceRole(d config.NetDevDevice) (role, source string) + func InitAuditAnchoring(cfg *config.Config) + func JobPause(id string) error + func ListConsolePorts() []string + func LoadDeviceLayers() map[string]int + func LogAllowedRoots(d config.NetDevDevice) []string + func NeighborCommand(driverKey string) (string, bool) + func NotifyConfigured() bool + func NotifyPushText(kind, title, text string) + func OpenFindingTallies() (critical, warning, info int) + func P90IfDown(device string, window time.Duration) (int, bool) + func PauseDiscoverRun(id string) bool + func ProjectForDevices(cfg *config.Config, devices []string) string + func ProposalsDir() string + func ReadHumanTTYRecording(path string) (string, error) + func RecordDeviceLayer(device string, layer int) error + func RecordDiscovered(source string, hosts []DiscoverHostResult) error + func RecordDiscoveredHTTP(ip string, port int, fp *HTTPFingerprint) error + func RecordDiscoveredHints(source, ip, vendor, role string) error + func RecordDiscoveredPorts(source, ip, hostname string, ports []DiscoveredPort) error + func RecordDiscoveredSwept(source string, hosts []DiscoverHostResult, swept []int) error + func RecordMetricPoint(device string, p MetricPoint) error + func RecordPromotion(device, ip string) + func RecordSeries(device, metric string, v float64) + func Redact(s string) string + func RedactCounted(s string) (string, int) + func RegisterTools(reg *tool.Registry, cfg *config.Config) + func RenderAttackPaths(r *AttackPathReport) string + func ResetEscalationStateForTest() + func ResolveFindingByID(id string) error + func RoleFromName(name string) (role, source string) + func RunningConfigCommand(driverKey string) (string, bool) + func SanitizeForLive(s string) string + func SaveCase(c *IncidentCase) error + func SaveDiscoveryRun(r *DiscoveryRunState) error + func SaveFinding(f *Finding) error + func SaveLastBaseline(s BaselineSummary) + func SaveProposal(p *Proposal) error + func SaveRollingFinding(f *Finding) error + func SaveScheduleStamp(st ScheduleStamp) + func SaveTemplate(t *Template) error + func SaveTopologyDesign(d *TopologyDesign) error + func SecretHealth() (count int, lastChanged time.Time) + func SecretKey(kind, name string) (string, error) + func SeriesRead(device string, window time.Duration) map[string][]SeriesPoint + func SetAuditPath(p string) + func SetBackupsDir(p string) + func SetFindingObserver(fn func(*Finding)) + func SetGoldenFromBackup(device, versionID string) error + func SetHealthObserver(fn func(DeviceHealth)) + func SetNotifyPusher(p NotifyPusher) + func SetSecret(kind, name, value string) error + func SharedRemoteNode(cfg *config.Config) (*trustdomain.Node, error) + func SrvConfDiff(idA, idB string) (string, error) + func SrvConfText(id string) (string, error) + func StampDiscoveredLayer(layer int, ips []string) error + func StampDiscoveredVantage(vantage string, ips []string) error + func StartEscalationWatcher() + func StateEventDiff(id int) []diff.Change + func StateEventSnap(kind, entity, actor string, absPaths ...string) int + func SyslogReceiverStatus() (listening bool, port int, buffered int) + func SyslogTail(device string, tailN int, grep string) []string + func TrapReceiverStatus() (listening bool, port int, buffered int) + func TrapTail(device string, tailN int) []string + func TrustHostKey(fingerprint string) error + func ValidateRestoreFrom(id string, steps []ProposalStep) error + type AggregatedFinding struct + Count int + Devices []string + Key string + Members []*Finding + Newest time.Time + Open int + Severity string + Suppressed int + Title string + func AggregateFindings() []AggregatedFinding + type AttackPath struct + EndDevice string + EndManaged bool + EndRole string + ExposureDevice string + FindingID string + Hops int + Reason string + Score int + Steps []AttackPathStep + type AttackPathReport struct + Cuts []CutSuggestion + EdgeSources []string + Edges int + ExposurePoints []ExposurePoint + GeneratedAt string + Nodes int + Paths []AttackPath + Simulated bool + func BuildAttackPaths(g TopologyGraph, findings []*Finding) *AttackPathReport + type AttackPathStep struct + From string + To string + Via string + type Audit struct + Class string + Command string + Device string + Error string + Hash string + OutputBytes int + Status string + Time time.Time + Via []string + type AuditChainStatus struct + Chained int + FirstBroken string + OK bool + Total int + func VerifyAuditChain() AuditChainStatus + type AuditWindowStats struct + ByClass map[string]int + Entries int + Guardrail24h int + ProposalRollback int + ProposalWrites int + Read24h int + Write24h int + func AuditWindow(days int) *AuditWindowStats + type BackupVersion struct + At string + Bytes int + Device string + ID string + Lines int + func ListBackups(device string) []BackupVersion + type BannerInfo struct + Kind string + Product string + RoleHint string + VendorHint string + Version string + func ParseBanner(raw string) BannerInfo + type BaselineAggView struct + At string + Checked int + Devices int + Hits int + Rules int + func LoadLastBaseline() *BaselineAggView + type BaselineSummary struct + At string + Checked int + Devices int + Hits int + Rules int + type BaselineViolation struct + Evidence []string + Rule string + Severity string + Suggestion string + Title string + func CheckBaseline(driverKey, config string) []BaselineViolation + type CVEEntry struct + Desc string + ID string + Products []string + Severity string + type CVEMatch struct + CVEID string + Desc string + Device string + Product string + Severity string + type CaseEntry struct + Device string + Kind string + Ref string + Text string + Time time.Time + type CaseIOC struct + AddedAt time.Time + Note string + Type string + Value string + type ChainEdge struct + From string + Label string + To string + type ChainNode struct + At string + Device string + Group int + ID string + Kind string + Label string + RefID string + RefType string + Status string + type CutSuggestion struct + From string + PathsRemoved int + To string + Via string + type CutoverBoard struct + Audit []CutoverBoardAudit + Deadline string + Devices []CutoverBoardDevice + Found bool + Frozen int + HasActive bool + ID string + Jobs []CutoverBoardJob + Name string + RemainingSec int64 + Report string + RollbackNote string + RollbackReady bool + Status string + Steps []CutoverBoardStep + func BuildCutoverBoard(id string) *CutoverBoard + type CutoverBoardAudit struct + Command string + Device string + Status string + Time string + type CutoverBoardDevice struct + Device string + RollbackReady bool + Status string + type CutoverBoardJob struct + ActiveMS int64 + Commands int + ID string + MaxCommands int + MaxWallSec int + Name string + Status string + type CutoverBoardStep struct + Decision bool + Device string + EndedAt string + EstSec int + Gate bool + Label string + ProposalID string + StartedAt string + Status string + type CutoverGate struct + Command string + Device string + Expect string + SustainSec int + TimeoutSec int + type CutoverRun struct + CreatedAt time.Time + Cursor int + Deadline time.Time + EndedAt *time.Time + HoldNote string + ID string + Name string + PostSnapshot map[string]string + PreSnapshot map[string]string + Report string + StartedAt *time.Time + Status string + Steps []CutoverStep + func GetCutover(id string) (*CutoverRun, error) + func ListCutovers() ([]*CutoverRun, error) + type CutoverStep struct + Command string + DecisionPoint bool + Device string + EndedAt *time.Time + Error string + EstSec int + Gate *CutoverGate + Impact string + Label string + Output string + ProposalID string + StartedAt *time.Time + Status string + type DeviceHealth struct + CpuPct int + Device string + InOct uint64 + Interfaces []IfHealth + LastError string + MemPct int + OutOct uint64 + Reachable bool + Time time.Time + UptimeSec int64 + func (h DeviceHealth) IfDown() int + func (h DeviceHealth) IfUp() int + type DiscoverHostResult struct + IP string + Ports []DiscoverPortProbe + type DiscoverPlan struct + ArpKnown int + Steps []PlanStep + Vantage string + Warnings []string + type DiscoverPortProbe struct + Banner string + Open bool + Port int + type DiscoveredHost struct + FirstSeen time.Time + Hostname string + IP string + LastSeen time.Time + Layer int + Ports []DiscoveredPort + RoleHint string + Sources []string + Vantage string + VendorHint string + func ListDiscoveredHosts() ([]*DiscoveredHost, error) + type DiscoveredPort struct + At time.Time + Banner string + FirstSeen time.Time + HTTP *HTTPFingerprint + Parsed BannerInfo + Port int + type DiscoveryBoard struct + Fingerprinted int + Funnel []DiscoveryFunnelStep + LayerDepth int + Layers []DiscoveryLayerRow + Leads int + Managed int + MaxHops int + Pending int + PortEvents []PortEvent + Promoted int + RunStatus string + RunUpdatedAt string + RunVantage string + SubnetsDone int + SubnetsTotal int + TriSource TriSourceAgg + type DiscoveryFunnelStep struct + Count int + Key string + type DiscoveryLayerRow struct + Label string + Layer int + Note string + type DiscoveryRunState struct + Cidrs []string + DoneCidrs []string + FoundSoFar int + ID string + Ports []int + StartedAt string + Status string + UpdatedAt string + Vantage string + func LoadDiscoveryRun() (*DiscoveryRunState, error) + func (r *DiscoveryRunState) Remaining() []string + type Evidence struct + Command string + Device string + Output string + type ExecResult struct + Class string + Command string + Device string + IsError bool + Output string + Refusal string + Refused bool + type ExpectedStateView struct + Missing []DeviceHealth + NoProbe []string + Reachable int + Total int + type ExposureBoard struct + CVEBySeverity map[string]int + CVENeedsFeed bool + Critical int + Cuts []CutSuggestion + ExposurePoints []ExposurePoint + GeneratedAt string + Matrix []ExposureMatrixRow + MaxHops int + Paths []AttackPath + Simulated bool + UnmanagedEnds int + Warning int + type ExposureMatrixRow struct + Critical int + CveCritical int + CveHigh int + Device string + Info int + Managed bool + Warning int + type ExposurePoint struct + Device string + FindingID string + Paths int + Reason string + type Finding struct + CreatedAt time.Time + Detail string + Devices []string + Evidence []Evidence + ID string + Project string + ResolvedAt *time.Time + Severity string + Source string + Status string + Suggestion string + Title string + func ImportNmapForConfig(xmlText string, deviceAddrs []string) (*Finding, error) + func ImportNmapXML(xmlText string, cfg inventory) (*Finding, error) + func ListFindings() ([]*Finding, error) + type GoldenDrift struct + Device string + Extra []string + Missing []string + Note string + type GoldenInfo struct + At string + Lines int + Set bool + func GoldenInfoOf(device string) GoldenInfo + type HTTPFingerprint struct + CertCN string + CertSAN string + Server string + Title string + type HealthSnapshot struct + Devices []DeviceHealth + PollIntervalSeconds int + type HumanTTYRecording struct + At string + Bytes int64 + Device string + Path string + func ListHumanTTYRecordings() ([]HumanTTYRecording, error) + type HumanTTYState struct + Bytes int64 + Connected bool + Device string + Error string + StartedAt time.Time + func HumanTTYStatus() []HumanTTYState + type IfBriefCounts struct + Down int + Up int + func SummarizeIfBrief(output string) IfBriefCounts + type IfHealth struct + AdminUp bool + Name string + OperUp bool + type ImportDBSource struct + Host string + Name string + Port int + Type string + Via []string + type ImportDevice struct + Address string + Group string + Kind string + Name string + Vendor string + Via []string + type ImportDeviceConflict struct + Imported ImportDevice + Local ImportDevice + type ImportPreview struct + ConflictDevices []ImportDeviceConflict + DBNew []ImportDBSource + DBOverlap []string + ExportedAt string + FindingsSeen int + NewDevices []ImportDevice + Source string + type ImportTopoPreview struct + Graph TopologyGraph + Stats TopoImportStats + Warnings []string + func ImportDrawio(xmlText string, deviceNames []string, deviceAddrs map[string]string) (*ImportTopoPreview, error) + func ImportVsdx(data []byte, deviceNames []string, deviceAddrs map[string]string) (*ImportTopoPreview, error) + type IncidentCase struct + CreatedAt time.Time + Devices []string + Entries []CaseEntry + ID string + IOCs []CaseIOC + Status string + Title string + UpdatedAt time.Time + func ListCases() ([]*IncidentCase, error) + type InspectionJournalRow struct + At string + BaselineHits int + Checked int + Critical int + Devices int + IfBrief map[string]IfBriefCounts + Info int + Kind string + Warning int + func ReadInspectionRows(limit int) []InspectionJournalRow + type InvestigationChain struct + CaseID string + CaseTitle string + Counts map[string]int + Edges []ChainEdge + FindingID string + HasCase bool + Nodes []ChainNode + Timeline []TimelineEvent + Truncated bool + type Job struct + ActiveMS int64 + BreakpointOK int + Budget JobBudget + Commands int + CreatedAt time.Time + CreatedBy string + Cursor int + EndedAt *time.Time + ID string + Name string + PauseNote string + StartedAt *time.Time + Status string + StepState []JobStepState + Steps []JobStep + func GetJob(id string) (*Job, error) + func JobAbort(id string) (*Job, error) + func ListJobs() ([]*Job, error) + type JobBudget struct + FailStreak int + MaxCommands int + MaxWallSec int + type JobStep struct + Command string + Device string + Expect string + Name string + OnFail string + PauseBefore bool + Retries int + TimeoutSec int + type JobStepState struct + Attempts int + EndedAt *time.Time + Error string + Output string + StartedAt *time.Time + Status string + type LiveDeviceState struct + Connected bool + Device string + Group string + OS string + VTYCap int + VTYUse int + Vendor string + type LiveEvent struct + Bytes int + Chunk string + Class string + Command string + Device string + Kind string + MS int64 + Reason string + State string + Status string + Time int64 + VTYCap int + VTYUse int + type LiveSnapshot struct + Budget int + Devices []LiveDeviceState + Spent int + type LocateHit struct + Device string + Interface string + Line string + type LocateResult struct + BudgetStop bool + Covered int + Devices []string + Hits []LocateHit + Note string + Skipped []string + Target string + Total int + type LogFollowEvent struct + Chunk string + Device string + Done bool + Reason string + Source string + type LogSearchHit struct + Context []string + Device string + Line string + Source string + type LogSearchResult struct + BudgetStop bool + Covered int + Devices []string + HitDevice int + Hits []LogSearchHit + Note string + Pattern string + Skipped []string + Total int + type LogSourceProbe struct + Containers []string + Device string + Errors []string + Files []ProbeFile + Services []string + type Manager struct + func NewManager(cfg *config.Config) *Manager + func SharedManager(cfg *config.Config) *Manager + func (m *Manager) ApproveProposal(id string, confirm2 bool) (*Proposal, error) + func (m *Manager) BackupDiffCurrent(ctx context.Context, device, id string) (string, error) + func (m *Manager) BuildDiscoveryBoard() *DiscoveryBoard + func (m *Manager) BuildExposureBoard() *ExposureBoard + func (m *Manager) BuildInvestigationChain(caseID, findingID string, hours int) *InvestigationChain + func (m *Manager) Cfg() *config.Config + func (m *Manager) Close() + func (m *Manager) CredentialInventory() string + func (m *Manager) CutoverAbort(id string) (*CutoverRun, error) + func (m *Manager) CutoverContinue(id string) (*CutoverRun, error) + func (m *Manager) CutoverRollback(ctx context.Context, id string) (*CutoverRun, error) + func (m *Manager) CutoverStart(def *CutoverRun) (*CutoverRun, error) + func (m *Manager) DBQuery(ctx context.Context, sourceName, query string) (string, error) + func (m *Manager) DeleteProposal(id string) error + func (m *Manager) DiscoverLayer(ctx context.Context, vantage string, cidrs []string, ports []int) ([]DiscoverHostResult, error) + func (m *Manager) DiscoverPrecheck(ctx context.Context, vantage string) (*DiscoverPlan, error) + func (m *Manager) DiscoverResume(ctx context.Context) ([]DiscoverHostResult, error) + func (m *Manager) DiscoverTCP(ctx context.Context, via, cidr string, ports []int) ([]DiscoverHostResult, error) + func (m *Manager) DockerGet(ctx context.Context, deviceName, what, arg string, tailN int) (string, error) + func (m *Manager) EnsureHealthPoller() + func (m *Manager) Exec(ctx context.Context, deviceName, command string) ExecResult + func (m *Manager) ExecuteProposal(ctx context.Context, id string) (*Proposal, error) + func (m *Manager) ExpectedState() ExpectedStateView + func (m *Manager) ExportState() (string, error) + func (m *Manager) FirewallGet(ctx context.Context, deviceName, what string) (string, error) + func (m *Manager) HandoffReport(since time.Time) string + func (m *Manager) HealthSnapshot() HealthSnapshot + func (m *Manager) HumanTTYStart(deviceName string, onData func(chunk string)) (*HumanTTYState, error) + func (m *Manager) HumanTTYWrite(deviceName, input string) error + func (m *Manager) ImportApply(path string, addNames, takeOvernames []string) (int, error) + func (m *Manager) ImportPreview(path string) (*ImportPreview, error) + func (m *Manager) JobResume(id string) (*Job, error) + func (m *Manager) JobStart(def *Job) (*Job, error) + func (m *Manager) KillAllConnections() int + func (m *Manager) KubeGet(ctx context.Context, deviceName, what, namespace, name string, tailN int) (string, error) + func (m *Manager) LiveState() LiveSnapshot + func (m *Manager) Locate(ctx context.Context, target string) LocateResult + func (m *Manager) LogFollow(deviceName, source string, onEvent func(LogFollowEvent)) error + func (m *Manager) LogFollowActive(deviceName string) string + func (m *Manager) LogFollowStop(deviceName string) + func (m *Manager) LogRead(ctx context.Context, deviceName, source string, tailN int, since, grep string) ExecResult + func (m *Manager) LogSearch(ctx context.Context, pattern string, devices, sources []string, since string) LogSearchResult + func (m *Manager) MatchCVEs() ([]CVEMatch, error) + func (m *Manager) MatchCVEsToFindings() (*Finding, error) + func (m *Manager) NetconfRPC(ctx context.Context, deviceName, inner string) (string, error) + func (m *Manager) NetprobeSweep(ctx context.Context, cidr string, doICMP bool) (*NetprobeSweepResult, error) + func (m *Manager) NmapSweep(ctx context.Context, cidr string) (*NmapSweepResult, error) + func (m *Manager) PollHealthOnce(ctx context.Context) + func (m *Manager) ProbeLogSources(ctx context.Context, deviceName string) LogSourceProbe + func (m *Manager) ProposalNeedsConfirm2(p *Proposal) bool + func (m *Manager) RedfishGet(ctx context.Context, deviceName, path string) (string, error) + func (m *Manager) RejectProposal(id, reason string) (*Proposal, error) + func (m *Manager) RemoteWorkHandler() nettrans.WorkHandler + func (m *Manager) RollbackProposal(ctx context.Context, id string) (*Proposal, error) + func (m *Manager) RunBackup(ctx context.Context, device string) ([]BackupVersion, error) + func (m *Manager) RunBaseline(ctx context.Context) (*Finding, error) + func (m *Manager) RunBaselineFor(ctx context.Context, devices []string) (*Finding, error) + func (m *Manager) RunGoldenCheck(ctx context.Context, device string) ([]GoldenDrift, error) + func (m *Manager) RunInspection(ctx context.Context) (*Finding, error) + func (m *Manager) RunJobSync(ctx context.Context, def *Job) (*Job, error) + func (m *Manager) SFTPBrowse(ctx context.Context, deviceName, dirPath string) ([]string, error) + func (m *Manager) SFTPDownload(ctx context.Context, deviceName, remotePath string) ([]byte, error) + func (m *Manager) SetLiveObserver(fn func(LiveEvent)) + func (m *Manager) SnmpQuery(ctx context.Context, deviceName, oid, mode string) (string, error) + func (m *Manager) SrvConfDrift(ctx context.Context, path string, devices []string) ([]SrvConfDriftRow, error) + func (m *Manager) SrvConfSnapshot(ctx context.Context, deviceName, path string) (*SrvConfVersion, error) + func (m *Manager) TemplateApply(t *Template, userVars map[string]string) (*Proposal, error) + func (m *Manager) TemplateRender(t *Template, userVars map[string]string) ([]TemplatePreviewDevice, error) + func (m *Manager) TestConnection(ctx context.Context, deviceName string) TestResult + func (m *Manager) Timeline(device string, hours int) []TimelineEvent + func (m *Manager) TopologySnapshot(ctx context.Context) (*TopologyGraph, error) + func (m *Manager) Triage(ctx context.Context, deviceName string) TriageReport + func (m *Manager) TurnBegin() + func (m *Manager) ValidateProposal(p *Proposal) error + func (m *Manager) WeakCredCheck(ctx context.Context, deviceName, tier, dictPath string) (WeakCredResult, error) + func (m *Manager) WeeklyReport() string + type MetricPoint struct + Cpu int + IfDown int + IfUp int + InOct uint64 + Mem int + OutOct uint64 + Reachable bool + Time time.Time + UptimeSec int64 + func MetricHistory(device string, limit int) []MetricPoint + type NetDevEvent struct + Text string + Time time.Time + func SyslogEventsSince(device string, since time.Time) []NetDevEvent + func TrapEventsSince(device string, since time.Time) []NetDevEvent + type NetprobeHost struct + ICMP bool + IP string + Ports []struct{ ... } + type NetprobeSweepResult struct + Alive int + CIDR string + Command string + Duration string + ICMP bool + Results []NetprobeHost + WithPorts int + type NmapHost struct + Hostname string + IP string + Services []NmapHostService + type NmapHostService struct + Port int + Product string + Proto string + Service string + Version string + type NmapSweepResult struct + CIDR string + Command string + Duration string + Hosts int + OpenPorts int + Results []NmapHost + type NotifyPusher interface + Push func(ctx context.Context, dest, text string) error + type PlanStep struct + CIDR string + Class string + DefaultOn bool + Hosts int + type PortEvent struct + At string + IP string + Kind string + Port int + func ListPortEvents(limit int) []PortEvent + type PrecheckResult struct + ArpKnownIPs []string + At string + DirectSubnets []SubnetClass + Interfaces []string + RoutedSubnets []SubnetClass + Uncovered string + Vantage string + Vendor string + Warnings []string + type ProbeFile struct + Allowed bool + Name string + Path string + Size string + type Proposal struct + ApprovedAt time.Time + Approver string + Confirm2 bool + CreatedAt time.Time + ExecutedAt time.Time + HealthBase map[string]int + ID string + Intent string + Note string + RejectReason string + RejectedAt time.Time + RestoreFrom string + Status string + Steps []ProposalStep + WatchNote string + WatchUntil *time.Time + func GetProposal(id string) (*Proposal, error) + func ListProposals() ([]*Proposal, error) + type ProposalStep struct + Applied bool + Backup string + Checksum string + Commands []string + Dangerous bool + Device string + DownSQL string + Error string + KeyLocalPath string + KeyRemotePath string + LocalPath string + ReloadCmd string + RemotePath string + RestoreDevice string + RestoreVersion string + Rollback []string + Type string + UpSQL string + VerifyCmd string + YAML string + type Result struct + Command string + IsError bool + Output string + type SSHClient interface + NewSession func() (*ssh.Session, error) + type ScheduleStamp struct + At string + Kind string + Note string + Ok bool + Title string + func LoadScheduleStamp() *ScheduleStamp + type SeriesPoint struct + Device string + Metric string + T int64 + Value float64 + type Session struct + func OpenConsoleSession(ctx context.Context, portName string, baud int, drv driver.Driver, ...) (*Session, error) + func OpenSession(ctx context.Context, client *transport.Client, drv driver.Driver, ...) (*Session, error) + func (s *Session) Close() error + func (s *Session) Run(ctx context.Context, cmd string) (Result, error) + func (s *Session) SetOutputObserver(fn func(string)) + type SrvConfDriftRow struct + Device string + Diff string + Error string + Group string + Status string + type SrvConfVersion struct + At string + Bytes int + Device string + ID string + Lines int + Path string + func SrvConfVersions(device, path string) []SrvConfVersion + type StateEventMeta struct + Actor string + CanRedo bool + CanRestore bool + Entity string + ID int + Kind string + Live []StateLiveEntity + Paths []string + Time time.Time + func StateEventMetas() []StateEventMeta + type StateLiveEntity struct + ID string + Status string + Type string + type StateRestoreResult struct + Deleted []string + ReverseEventID int + Written []string + func StateRestore(id int, actor string) (StateRestoreResult, error) + type SubnetClass struct + CIDR string + Class string + DefaultOn bool + Hosts int + type SyslogCountRow struct + Class string + Device string + Hour string + N int + func SyslogCountTail(limit int) []SyslogCountRow + type SyslogStatusView struct + Buffered int + Listening bool + Port int + type Template struct + CreatedAt time.Time + ID string + Intent string + Name string + Steps []TemplateStep + Targets []string + Vars []string + func GetTemplate(id string) (*Template, error) + func ListTemplates() ([]*Template, error) + type TemplatePreviewDevice struct + Available bool + Device string + Reason string + Steps []TemplatePreviewStep + type TemplatePreviewStep struct + Classes []string + Commands []string + Dangerous bool + Rollback []string + type TemplateStep struct + Commands []string + Rollback []string + type TestResult struct + Detail string + Device string + Fingerprint string + Host string + KeyType string + Status string + type TimelineEvent struct + Detail string + Device string + Kind string + Time time.Time + Title string + type TopoImportStats struct + Managed int + NewNodes int + Pages int + Total int + UnresolvedRole int + UsedPage string + type TopoReconcile struct + Platforms map[string]int + Tri TriSourceAgg + func BuildTopoReconcile(cfg *config.Config) *TopoReconcile + type TopologyDesign struct + Graph TopologyGraph + ImportedAt string + SourceFile string + func LoadTopologyDesign() (*TopologyDesign, error) + type TopologyEdge struct + LocalDevice string + LocalPort string + Platform string + RemoteDevice string + RemoteIP string + RemotePort string + Source string + type TopologyGraph struct + At string + Edges []TopologyEdge + Nodes []TopologyNode + func InferTopology(cfg *config.Config) TopologyGraph + func TopologyFused(cfg *config.Config) TopologyGraph + type TopologyNode struct + DeviceIP string + Managed bool + Name string + Role string + RoleSource string + Subnet string + Tier int + type TriSourceAgg struct + Design int + Matched int + OnlyDesign int + OnlyPlan int + Plan int + type TriageReport struct + Anomalies []string + CreatedAt time.Time + Device string + Sections []TriageSection + Summary string + Vendor string + type TriageSection struct + Command string + Lines []string + Name string + Ok bool + Refused string + type WeakCredResult struct + Attempts int + Budget int + Detail string + Device string + Tier string + Weak bool