Documentation
¶
Index ¶
Constants ¶
View Source
const ( TaskQueued = "queued" TaskLeased = "leased" TaskFinished = "finished" TaskFailed = "failed" ApprovalPending = "pending" ApprovalApproved = "approved" ApprovalRejected = "rejected" ApprovalApplied = "applied" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Approval ¶
type Approval struct {
ID string `json:"id"`
NodeID string `json:"node_id"`
Plugin string `json:"plugin"`
Action string `json:"action"`
Plan string `json:"plan"`
Status string `json:"status"`
ActorID string `json:"actor_id"`
ApprovedBy string `json:"approved_by,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type AuditEvent ¶
type AuditEvent struct {
ID string `json:"id"`
At time.Time `json:"at"`
ActorID string `json:"actor_id"`
TokenID string `json:"token_id"`
NodeID string `json:"node_id"`
Action string `json:"action"`
Scope string `json:"scope"`
Decision string `json:"decision"`
Reason string `json:"reason"`
CorrelationID string `json:"correlation_id"`
Metadata map[string]string `json:"metadata,omitempty"`
}
type Metrics ¶
type Metrics struct {
CPUPercent float64 `json:"cpu_percent"`
Load1 float64 `json:"load1"`
MemoryUsed uint64 `json:"memory_used"`
MemoryTotal uint64 `json:"memory_total"`
DiskUsed uint64 `json:"disk_used"`
DiskTotal uint64 `json:"disk_total"`
NetRxBytes uint64 `json:"net_rx_bytes"`
NetTxBytes uint64 `json:"net_tx_bytes"`
UptimeSeconds uint64 `json:"uptime_seconds"`
CollectedAt time.Time `json:"collected_at"`
}
type Node ¶
type Node struct {
ID string `json:"id"`
Name string `json:"name"`
TokenHash string `json:"token_hash"`
Tags []string `json:"tags"`
Role string `json:"role"`
WireGuardIP string `json:"wireguard_ip"`
PublicIP string `json:"public_ip"`
AgentVersion string `json:"agent_version"`
Online bool `json:"online"`
LastSeen time.Time `json:"last_seen"`
Metrics Metrics `json:"metrics"`
CreatedAt time.Time `json:"created_at"`
}
type StaticObject ¶
type Task ¶
type Task struct {
ID string `json:"id"`
ActorID string `json:"actor_id"`
TokenID string `json:"token_id"`
Targets []string `json:"targets"`
Interpreter string `json:"interpreter"`
Script string `json:"script"`
TimeoutSec int `json:"timeout_sec"`
OutputLimit int `json:"output_limit"`
Status string `json:"status"`
LeasedBy string `json:"leased_by,omitempty"`
CreatedAt time.Time `json:"created_at"`
StartedAt time.Time `json:"started_at,omitempty"`
FinishedAt time.Time `json:"finished_at,omitempty"`
}
type TaskResult ¶
type Token ¶
type Token struct {
ID string `json:"id"`
Name string `json:"name"`
TokenHash string `json:"token_hash"`
ActorID string `json:"actor_id"`
Scopes []string `json:"scopes"`
ServerAllowlist []string `json:"server_allowlist"`
RevokedAt time.Time `json:"revoked_at,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
Click to show internal directories.
Click to hide internal directories.