2026-03-31 14:52:50 -03:00
|
|
|
package facts
|
|
|
|
|
|
|
|
|
|
// ClassFacts captures driftable state collected by metis-sentinel.
|
|
|
|
|
type ClassFacts struct {
|
|
|
|
|
ClassName string `json:"class_name"`
|
|
|
|
|
Kernel string `json:"kernel,omitempty"`
|
|
|
|
|
K3sVersion string `json:"k3s_version,omitempty"`
|
|
|
|
|
Containerd string `json:"containerd,omitempty"`
|
2026-04-11 00:17:10 -03:00
|
|
|
Packages map[string]string `json:"packages,omitempty"` // name -> version
|
|
|
|
|
DropIns map[string]string `json:"dropins,omitempty"` // path -> content
|
|
|
|
|
Sysctl map[string]string `json:"sysctl,omitempty"` // key -> value
|
|
|
|
|
CGroupConfig map[string]string `json:"cgroup_config,omitempty"` // key -> value
|
2026-03-31 14:52:50 -03:00
|
|
|
Notes string `json:"notes,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// NodeFacts captures per-node data (e.g., disk UUIDs) to verify drift.
|
|
|
|
|
type NodeFacts struct {
|
|
|
|
|
Hostname string `json:"hostname"`
|
|
|
|
|
Disks map[string]string `json:"disks,omitempty"` // mount -> UUID
|
|
|
|
|
Notes string `json:"notes,omitempty"`
|
|
|
|
|
}
|