Documentation
¶
Index ¶
- type Engine
- func (e *Engine) EvaluateWorkflow(workflow *platform.Workflow) ([]Finding, error)
- func (e *Engine) GetPolicies() map[string]*Policy
- func (e *Engine) GetPolicy(id string) (*Policy, bool)
- func (e *Engine) LoadPolicy(policy *Policy, regoCode string) error
- func (e *Engine) LoadPolicyFromFile(policyFile string) error
- func (e *Engine) RemovePolicy(id string)
- type Finding
- type Policy
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine represents the OPA-based rule engine
func (*Engine) EvaluateWorkflow ¶
EvaluateWorkflow evaluates a workflow against all loaded policies
func (*Engine) GetPolicies ¶
GetPolicies returns all loaded policies
func (*Engine) LoadPolicy ¶
LoadPolicy loads a policy from Rego code
func (*Engine) LoadPolicyFromFile ¶
LoadPolicyFromFile loads a policy from a file
func (*Engine) RemovePolicy ¶
RemovePolicy removes a policy
type Finding ¶
type Finding struct {
RuleID string `json:"rule_id"`
RuleName string `json:"rule_name"`
Description string `json:"description"`
Severity rules.Severity `json:"severity"`
Category rules.Category `json:"category"`
FilePath string `json:"file_path"`
LineNumber int `json:"line_number"`
Evidence string `json:"evidence"`
Context string `json:"context"`
JobID string `json:"job_id"`
StepID string `json:"step_id"`
Platform string `json:"platform"`
Metadata map[string]interface{} `json:"metadata"`
}
Finding represents a security finding from OPA evaluation
func (Finding) ToRulesFinding ¶
ConvertToRulesFinding converts OPA Finding to rules.Finding
type Policy ¶
type Policy struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Severity rules.Severity `json:"severity"`
Category rules.Category `json:"category"`
Module string `json:"module"`
Query string `json:"query"`
Metadata map[string]interface{} `json:"metadata"`
}
Policy represents an OPA policy with metadata
Click to show internal directories.
Click to hide internal directories.