Phase 1 implementation from the client-lifecycle plan.
- Migration 012: provisioning_steps table, context_version, context_files,
enrolled_at column, slug+type index for machine entities
- API endpoints (openapi.yaml + generated code):
POST /clients/enroll — age key issuance, Infisical identity, state transition
GET /clients/{slug}/context — agent file delta polling (replaces git pull)
GET /clients/{slug}/secrets — scoped secret listing
POST /entities/provision — compute entity creation with constraint validation
GET /entities/{slug}/provision/status — step-by-step provisioning progress
- Handlers in impl.go: enrollment with state validation and age key generation,
provisioning with execution tracking and relationship creation,
context endpoint with since-based delta queries
- Server struct extended with secretsBackend interface for key storage
- All tests pass, build clean
370 lines
7.2 KiB
Go
370 lines
7.2 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.29.0
|
|
|
|
package sqlcgen
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type AgentActivity struct {
|
|
ID int64
|
|
Ts time.Time
|
|
AgentID uuid.UUID
|
|
SessionID *string
|
|
ActivityType string
|
|
ToolName *string
|
|
EntityID *uuid.UUID
|
|
InputSummary *string
|
|
OutputSummary *string
|
|
DurationMs *int32
|
|
TokenCount *int32
|
|
Success *bool
|
|
CorrelationID *string
|
|
}
|
|
|
|
type Approval struct {
|
|
EntityID uuid.UUID
|
|
SubjectEntityID *uuid.UUID
|
|
Action string
|
|
RiskClass string
|
|
Kind string
|
|
Payload []byte
|
|
Status string
|
|
TokenHash *string
|
|
ExpiresAt time.Time
|
|
DecidedAt *time.Time
|
|
DecidedBy *uuid.UUID
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type ApprovalRule struct {
|
|
ID uuid.UUID
|
|
EntityType *string
|
|
Action string
|
|
RiskClass string
|
|
AutonomyLevel string
|
|
ScopeEntity *uuid.UUID
|
|
Version int32
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type AuditLog struct {
|
|
ID int64
|
|
Ts time.Time
|
|
ActorType string
|
|
ActorID *uuid.UUID
|
|
Action string
|
|
EntityID *uuid.UUID
|
|
Method *string
|
|
Path *string
|
|
StatusCode *int32
|
|
Detail []byte
|
|
SourceIp *string
|
|
CorrelationID *string
|
|
}
|
|
|
|
type AutonomySetting struct {
|
|
Key string
|
|
Value string
|
|
Version int32
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type CheckDef struct {
|
|
EntityID uuid.UUID
|
|
TargetID *uuid.UUID
|
|
TargetType *string
|
|
Kind string
|
|
Config []byte
|
|
IntervalS int32
|
|
TimeoutS int32
|
|
Zone *string
|
|
Enabled bool
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type Classification struct {
|
|
EntityID uuid.UUID
|
|
SignalEntityID *uuid.UUID
|
|
TargetEntityID *uuid.UUID
|
|
Action string
|
|
RecommendedAction []byte
|
|
RiskClass string
|
|
Route string
|
|
BlastRadius []uuid.UUID
|
|
PatternConfidence *float32
|
|
SkillID *uuid.UUID
|
|
AutonomyCheck *string
|
|
Reasoning []byte
|
|
CorrelationID string
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type ContextFile struct {
|
|
Path string
|
|
Hash string
|
|
LastChanged time.Time
|
|
}
|
|
|
|
type ContextVersion struct {
|
|
Singleton bool
|
|
Version int64
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type Entity struct {
|
|
ID uuid.UUID
|
|
Slug string
|
|
Type string
|
|
Name string
|
|
State *string
|
|
Attributes []byte
|
|
MaintenanceUntil *time.Time
|
|
Version int32
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
EnrolledAt *time.Time
|
|
EnrolledBy *uuid.UUID
|
|
}
|
|
|
|
type EntityStatus struct {
|
|
EntityID uuid.UUID
|
|
Health string
|
|
LastCheckAt *time.Time
|
|
Details []byte
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type EntityType struct {
|
|
Name string
|
|
ParentType *string
|
|
IsAbstract bool
|
|
Domain string
|
|
Layer string
|
|
Description *string
|
|
LifecycleID *string
|
|
AttributeSchema []byte
|
|
SchemaVersion int32
|
|
Status string
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type Event struct {
|
|
ID int64
|
|
Ts time.Time
|
|
Type string
|
|
EntityID *uuid.UUID
|
|
Severity string
|
|
Source string
|
|
Data []byte
|
|
CorrelationID *string
|
|
}
|
|
|
|
type Execution struct {
|
|
EntityID uuid.UUID
|
|
ClassificationID *uuid.UUID
|
|
SignalEntityID *uuid.UUID
|
|
TargetEntityID *uuid.UUID
|
|
Action string
|
|
RiskClass string
|
|
ApprovalID *uuid.UUID
|
|
AgentID *uuid.UUID
|
|
SkillID *uuid.UUID
|
|
SkillVersion *int32
|
|
Status string
|
|
Result []byte
|
|
DurationMs *int32
|
|
Verified bool
|
|
CorrelationID string
|
|
StartedAt *time.Time
|
|
CompletedAt *time.Time
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type Feedback struct {
|
|
EntityID uuid.UUID
|
|
ExecutionID uuid.UUID
|
|
Outcome string
|
|
Observation *string
|
|
Lesson *string
|
|
UnexpectedSideEffects []string
|
|
Tags []string
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type IdempotencyKey struct {
|
|
Key string
|
|
Actor string
|
|
RequestHash string
|
|
ResponseCode *int32
|
|
ResponseBody []byte
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type KnowledgeEntity struct {
|
|
EntityID uuid.UUID
|
|
Title string
|
|
Content string
|
|
Source *string
|
|
Tags []string
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
ContentHash *string
|
|
Search interface{}
|
|
}
|
|
|
|
type Ledger struct {
|
|
Ts time.Time
|
|
ExecutionID uuid.UUID
|
|
TargetEntityID *uuid.UUID
|
|
Action string
|
|
RiskClass string
|
|
Status string
|
|
Verified bool
|
|
Route *string
|
|
Reasoning []byte
|
|
ApprovalStatus *string
|
|
DecidedBy *uuid.UUID
|
|
AgentID *uuid.UUID
|
|
CorrelationID string
|
|
}
|
|
|
|
type LifecycleDef struct {
|
|
ID string
|
|
States []string
|
|
DefaultState string
|
|
TerminalStates []string
|
|
Transitions []byte
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type MetricRollups1d struct {
|
|
Bucket interface{}
|
|
EntityID uuid.UUID
|
|
Metric string
|
|
AvgValue float64
|
|
MinValue interface{}
|
|
MaxValue interface{}
|
|
SampleCount int64
|
|
}
|
|
|
|
type MetricRollups1h struct {
|
|
Bucket interface{}
|
|
EntityID uuid.UUID
|
|
Metric string
|
|
AvgValue float64
|
|
MinValue interface{}
|
|
MaxValue interface{}
|
|
SampleCount int64
|
|
}
|
|
|
|
type MetricSample struct {
|
|
Ts time.Time
|
|
EntityID uuid.UUID
|
|
Metric string
|
|
Value float64
|
|
Tags []byte
|
|
}
|
|
|
|
type Pattern struct {
|
|
EntityID uuid.UUID
|
|
AppliesType string
|
|
Action string
|
|
Pattern string
|
|
Confidence float32
|
|
EvidenceCount int32
|
|
SuccessCount int32
|
|
FailureCount int32
|
|
Status string
|
|
Quarantined bool
|
|
Version int32
|
|
LastValidatedAt *time.Time
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type ProvisioningStep struct {
|
|
ID uuid.UUID
|
|
EntityID uuid.UUID
|
|
ExecutionID uuid.UUID
|
|
StepOrder int32
|
|
StepName string
|
|
Status string
|
|
StartedAt *time.Time
|
|
FinishedAt *time.Time
|
|
ErrorMessage *string
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type Relationship struct {
|
|
SourceID uuid.UUID
|
|
TargetID uuid.UUID
|
|
Type string
|
|
Attributes []byte
|
|
ValidFrom time.Time
|
|
ValidTo *time.Time
|
|
}
|
|
|
|
type RelationshipType struct {
|
|
Name string
|
|
Inverse *string
|
|
SourceType string
|
|
TargetType string
|
|
Cardinality string
|
|
Description *string
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type RiskClass struct {
|
|
Name string
|
|
Description *string
|
|
ApprovalRequired string
|
|
AutonomyAllowed bool
|
|
}
|
|
|
|
type SeedVersion struct {
|
|
File string
|
|
ContentHash string
|
|
AppliedAt time.Time
|
|
}
|
|
|
|
type Signal struct {
|
|
EntityID uuid.UUID
|
|
Kind string
|
|
Severity string
|
|
TargetEntityID *uuid.UUID
|
|
CheckID *uuid.UUID
|
|
Evidence *string
|
|
LikelyCause *string
|
|
State string
|
|
OccurrenceCount int32
|
|
FirstSeenAt time.Time
|
|
LastSeenAt time.Time
|
|
FlapCount int32
|
|
HoldDownUntil *time.Time
|
|
MuteUntil *time.Time
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type Skill struct {
|
|
EntityID uuid.UUID
|
|
Version int32
|
|
Name string
|
|
Procedure []byte
|
|
AppliesType *string
|
|
Action string
|
|
PatternIds []uuid.UUID
|
|
Status string
|
|
SuccessRate *float32
|
|
ChangedBy *uuid.UUID
|
|
ChangeReason *string
|
|
LastUsedAt *time.Time
|
|
CreatedAt time.Time
|
|
}
|