schema

package
v0.0.0-...-11a52be Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
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

func GenerateConfigSchemas(configStruct any) error

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

type SensitiveField struct {
	Key        string
	Path       string
	SecretName string
}

SensitiveField represents a sensitive configuration field

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL