Documentation
¶
Overview ¶
Package diagnostics collects content-free evidence about a HAPTIC fleet.
Index ¶
- func WriteBundle(path string, report *Report) (result error)
- func WriteJSON(writer io.Writer, report *Report) error
- func WriteText(writer io.Writer, report *Report) error
- type Agent
- type Collector
- type Condition
- type Configuration
- type Container
- type Controller
- type Failure
- type Finding
- type Identity
- type Options
- type Phase
- type Pod
- type PodAccess
- type PodDeployment
- type Report
- type Resource
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WriteBundle ¶
WriteBundle creates a private, exclusive archive from the same allowlisted report.
Types ¶
type Agent ¶
type Agent struct {
Pod
Observed bool `json:"observed"`
ProtocolVersion int `json:"protocol_version"`
PlanSchemaVersion int `json:"plan_schema_version"`
AgentVersion string `json:"agent_version,omitempty"`
HAProxyVersion string `json:"haproxy_version,omitempty"`
WorkerRunning bool `json:"worker_running"`
WorkerPID int `json:"worker_pid"`
WorkerStartTimeUnixMicros int64 `json:"worker_start_time_unix_micros"`
WorkerGeneration uint64 `json:"worker_generation"`
AppliedPlanID string `json:"applied_plan_id,omitempty"`
RunningPlanID string `json:"running_plan_id,omitempty"`
WorkerOpsPlanID string `json:"worker_ops_plan_id,omitempty"`
ConfigFileDigest string `json:"config_file_digest,omitempty"`
FileCount int `json:"file_count"`
ReloadFallback bool `json:"reload_fallback"`
LastApplyFailed bool `json:"last_apply_failed"`
InvariantFailed bool `json:"invariant_failed"`
}
type Configuration ¶
type Configuration struct {
Resource
ValidationStatus string `json:"validation_status,omitempty"`
ValidationErrors int `json:"validation_error_count"`
ObservedGeneration int64 `json:"observed_generation,omitempty"`
DesiredChecksum string `json:"desired_checksum,omitempty"`
Deployments []PodDeployment `json:"deployments,omitempty"`
}
type Controller ¶
type PodDeployment ¶
type PodDeployment struct {
Pod string `json:"pod"`
UID string `json:"uid,omitempty"`
Checksum string `json:"checksum,omitempty"`
AppliedPlanID string `json:"applied_plan_id,omitempty"`
RunningPlanID string `json:"running_plan_id,omitempty"`
ConsecutiveErrors int `json:"consecutive_errors"`
HasError bool `json:"has_error"`
}
type Report ¶
type Report struct {
SchemaVersion int `json:"schema_version"`
CollectedAt time.Time `json:"collected_at"`
Namespace string `json:"namespace"`
Release string `json:"release"`
Complete bool `json:"complete"`
Healthy bool `json:"healthy"`
Configurations []Configuration `json:"configurations"`
Controllers []Controller `json:"controllers"`
Agents []Agent `json:"agents"`
Resources []Resource `json:"resources"`
Findings []Finding `json:"findings"`
}
Report deliberately has no arbitrary payload fields; see CLAUDE.md.
Click to show internal directories.
Click to hide internal directories.