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 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
Click to show internal directories.
Click to hide internal directories.