Documentation
¶
Overview ¶
Package schema provides standardized data structures for compliance check results
Package schema provides data structures and utilities for agent configuration and compliance result schemas. It contains both runtime compliance result structures and build-time configuration schema generators.
Index ¶
- Variables
- func GenerateComplianceResultSchema() (*jsonschema.Schema, error)
- func GenerateConfigSchemas(configStruct any) error
- func MarshalComplianceResult(result *ComplianceCheckResult) ([]byte, error)
- func ValidateComplianceResult(result *ComplianceCheckResult) error
- type ComplianceCheckResult
- type SensitiveField
Constants ¶
This section is empty.
Variables ¶
var ( // ErrCheckNameRequired is returned when checkName is required but missing ErrCheckNameRequired = errors.New("checkName is required") // ErrStandardRequired is returned when standard is required but missing ErrStandardRequired = errors.New("standard is required") // ErrControlRefRequired is returned when controlRef is required but missing ErrControlRefRequired = errors.New("controlRef is required") // ErrStatusRequired is returned when status is required but missing ErrStatusRequired = errors.New("status is required") // ErrInvalidFindings is returned when findings format is invalid ErrInvalidFindings = errors.New("invalid findings format") // ErrStartedAtRequired is returned when startedAt is required but missing ErrStartedAtRequired = errors.New("startedAt is required") // ErrFinishedAtRequired is returned when finishedAt is required but missing ErrFinishedAtRequired = errors.New("finishedAt is required") // ErrInvalidStatus is returned when status value is invalid ErrInvalidStatus = errors.New("status must be one of: SUCCESS, FAILED, CANCELED, PENDING") )
Functions ¶
func GenerateComplianceResultSchema ¶
func GenerateComplianceResultSchema() (*jsonschema.Schema, error)
GenerateComplianceResultSchema generates a JSON Schema for the simplified ComplianceCheckResult
func GenerateConfigSchemas ¶
GenerateConfigSchemas generates all configuration schema files
func MarshalComplianceResult ¶
func MarshalComplianceResult(result *ComplianceCheckResult) ([]byte, error)
MarshalComplianceResult marshals a ComplianceCheckResult to JSON with proper formatting
func ValidateComplianceResult ¶
func ValidateComplianceResult(result *ComplianceCheckResult) error
ValidateComplianceResult validates a ComplianceCheckResult struct fields
Types ¶
type ComplianceCheckResult ¶
type ComplianceCheckResult struct {
// CheckName is the name of the compliance check that produced this result
CheckName string `json:"checkName" jsonschema:"required,description=Name of the compliance check"`
// StartedAt is the time at which check execution began
StartedAt time.Time `json:"startedAt" jsonschema:"required,description=When the check execution started"`
// FinishedAt is the time at which check execution completed
FinishedAt time.Time `json:"finishedAt" jsonschema:"required,description=When the check execution finished"`
// Standard is the compliance standard identifier (e.g. soc2, nist80053v5)
Standard string `json:"standard" jsonschema:"required,description=Compliance standard identifier,example=soc2"`
// ControlRef is the control reference code within the standard (e.g. CC6.1)
ControlRef string `json:"controlRef" jsonschema:"required,description=Control reference code,example=CC6.1"`
// Status is the execution status of the check
Status enums.JobExecutionStatus `json:"status" jsonschema:"required,description=Execution status"`
// ExitCode is the process exit code; nil when not applicable
ExitCode *int `json:"exitCode,omitempty" jsonschema:"description=Process exit code (null if not applicable),minimum=0"`
// Log contains captured check output and log lines
Log string `json:"log,omitempty" jsonschema:"description=Check output and logs"`
// Error holds the error message when the check failed
Error string `json:"error,omitempty" jsonschema:"description=Error message if check failed"`
// Metadata holds additional key-value data attached to the result
Metadata map[string]any `json:"metadata,omitempty" jsonschema:"description=Additional metadata"`
}
ComplianceCheckResult represents a normalized compliance check result payload
func UnmarshalComplianceResult ¶
func UnmarshalComplianceResult(data []byte) (*ComplianceCheckResult, error)
UnmarshalComplianceResult unmarshals JSON to a ComplianceCheckResult
type SensitiveField ¶
SensitiveField represents a sensitive configuration field