compliance

package
v0.0.0-...-17e6b21 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Attestation

type Attestation struct {
	SignerID    string
	Timestamp   time.Time
	Signature   []byte
	Certificate []byte
}

type ComplianceReporter

type ComplianceReporter struct {
	// contains filtered or unexported fields
}

func NewComplianceReporter

func NewComplianceReporter(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	store ReportStore,
) *ComplianceReporter

func (*ComplianceReporter) GenerateReport

func (cr *ComplianceReporter) GenerateReport(
	ctx context.Context,
	config ReportConfig,
) (*Report, error)

type Finding

type Finding struct {
	ID          string
	RuleID      string
	Severity    string
	Description string
	Evidence    map[string]interface{}
	Remediation string
	Status      string
}

type Report

type Report struct {
	ID           string
	Type         string
	Status       string
	Score        float64
	Findings     []Finding
	Metadata     map[string]interface{}
	GeneratedAt  time.Time
	ExpiresAt    time.Time
	Attestations []Attestation
}

type ReportConfig

type ReportConfig struct {
	Type      string
	Scope     string
	Format    string
	TimeRange TimeRange
	Filters   map[string]interface{}
	Options   map[string]interface{}
}

type ReportFilter

type ReportFilter struct {
	Types     []string
	TimeRange TimeRange
	Status    []string
	MinScore  float64
}

type ReportGenerator

type ReportGenerator interface {
	GenerateReport(ctx context.Context, config ReportConfig) (*Report, error)
	GetSupportedFormats() []string
}

type ReportStore

type ReportStore interface {
	SaveReport(ctx context.Context, report *Report) error
	GetReport(ctx context.Context, id string) (*Report, error)
	ListReports(ctx context.Context, filter ReportFilter) ([]*Report, error)
}

type TimeRange

type TimeRange struct {
	Start time.Time
	End   time.Time
}

Jump to

Keyboard shortcuts

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