rules

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2026 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrRuleNotFound    = errors.New("rule not found")
	ErrDecodeFailed    = errors.New("failed to decode input JSON")
	ErrEvaluationError = errors.New("failed to evaluate rego rule")
	ErrCompileError    = errors.New("failed to compile rego rule")
	ErrInvalidRegoRule = errors.New("invalid rego rule")
	ErrPackageName     = errors.New("rego rule must be in package 'upswake'")
)

Functions

func IsValidRego

func IsValidRego(filename, input string) error

func NewPreparedRepository

func NewPreparedRepository(fs afero.Fs) (repository.RuleRepository, error)

NewPreparedRepository reads every .rego file from fs, validates it, and compiles it into a PreparedEvalQuery. Returns an error if any rule fails validation or compilation.

Types

type PreparedRepository

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

PreparedRepository loads and pre-compiles all Rego rules from the filesystem at construction time. Evaluate() only runs the prepared query against new input, skipping parsing and compilation entirely.

func (*PreparedRepository) Evaluate

func (r *PreparedRepository) Evaluate(ruleName, inputJSON string) (bool, error)

func (*PreparedRepository) RuleNames

func (r *PreparedRepository) RuleNames() []string

Jump to

Keyboard shortcuts

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