Documentation
¶
Overview ¶
Package gitmdm defines shared data structures for gitMDM.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsValidCheckName ¶
IsValidCheckName validates that a check name contains only safe characters.
Types ¶
type Check ¶
type Check struct { Timestamp time.Time `json:"-"` // Not stored in JSON, set from file mtime Outputs []CommandOutput `json:"outputs"` // All command outputs for this check Status string `json:"status"` // "pass", "fail", or "n/a" Reason string `json:"reason"` // Human-readable explanation of the status Remediation []string `json:"remediation,omitempty"` // Steps to fix if failed }
Check represents a compliance check result, potentially with multiple command outputs.
type CommandOutput ¶
type CommandOutput struct { Command string `json:"command,omitempty"` // Command that was executed File string `json:"file,omitempty"` // File that was read Stdout string `json:"stdout,omitempty"` // Command stdout or file contents Stderr string `json:"stderr,omitempty"` // Command stderr FailReason string `json:"fail_reason,omitempty"` // Why this specific check failed Remediation []string `json:"remediation,omitempty"` // Remediation steps for this failure ExitCode int `json:"exit_code,omitempty"` // Command exit code FileMissing bool `json:"file_missing,omitempty"` // True if file doesn't exist Skipped bool `json:"skipped,omitempty"` // True if command was skipped (not found) Failed bool `json:"failed,omitempty"` // True if this specific check failed }
CommandOutput represents the output from a single command or file check.
type Device ¶
type Device struct { LastSeen time.Time `json:"last_seen"` LastIP string `json:"last_ip"` Checks map[string]Check `json:"checks"` HardwareID string `json:"hardware_id"` Hostname string `json:"hostname"` User string `json:"user"` // In-memory only fields (not persisted to git) OS string `json:"-"` Architecture string `json:"-"` Version string `json:"-"` SystemUptime string `json:"-"` CPULoad string `json:"-"` LoggedInUsers string `json:"-"` }
Device represents a monitored device with its compliance status.
type DeviceReport ¶
type DeviceReport struct { Timestamp time.Time `json:"timestamp"` Checks map[string]Check `json:"checks"` HardwareID string `json:"hardware_id"` Hostname string `json:"hostname"` User string `json:"user"` OS string `json:"os,omitempty"` Architecture string `json:"architecture,omitempty"` Version string `json:"version,omitempty"` SystemUptime string `json:"system_uptime,omitempty"` CPULoad string `json:"cpu_load,omitempty"` LoggedInUsers string `json:"logged_in_users,omitempty"` }
DeviceReport represents a compliance report sent by an agent.
Click to show internal directories.
Click to hide internal directories.