opa

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

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 NewEngine

func NewEngine() *Engine

NewEngine creates a new OPA engine

func (*Engine) EvaluateWorkflow

func (e *Engine) EvaluateWorkflow(workflow *platform.Workflow) ([]Finding, error)

EvaluateWorkflow evaluates a workflow against all loaded policies

func (*Engine) GetPolicies

func (e *Engine) GetPolicies() map[string]*Policy

GetPolicies returns all loaded policies

func (*Engine) GetPolicy

func (e *Engine) GetPolicy(id string) (*Policy, bool)

GetPolicy returns a specific policy

func (*Engine) LoadPolicy

func (e *Engine) LoadPolicy(policy *Policy, regoCode string) error

LoadPolicy loads a policy from Rego code

func (*Engine) LoadPolicyFromFile

func (e *Engine) LoadPolicyFromFile(policyFile string) error

LoadPolicyFromFile loads a policy from a file

func (*Engine) RemovePolicy

func (e *Engine) RemovePolicy(id string)

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

func (f Finding) ToRulesFinding() rules.Finding

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

Jump to

Keyboard shortcuts

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