parser

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RuleLoader

type RuleLoader interface {
	// LoadFromFile loads rules from a file
	LoadFromFile(ctx context.Context, filePath string) ([]*models.SecurityRule, error)

	// LoadFromDirectory loads rules from a directory recursively
	LoadFromDirectory(ctx context.Context, dirPath string) ([]*models.SecurityRule, error)

	// LoadFromURL loads rules from a remote URL
	LoadFromURL(ctx context.Context, url string) ([]*models.SecurityRule, error)

	// LoadFromGit loads rules from a Git repository
	LoadFromGit(ctx context.Context, repoURL, branch, path string) ([]*models.SecurityRule, error)
}

RuleLoader defines the interface for loading rules from various sources

type RuleParser

type RuleParser interface {
	// ParseRule parses a single security rule from a reader
	ParseRule(ctx context.Context, reader io.Reader) (*models.SecurityRule, error)

	// ParseRules parses multiple security rules from a reader
	ParseRules(ctx context.Context, reader io.Reader) ([]*models.SecurityRule, error)

	// ParseRuleFromFile parses a security rule from a file path
	ParseRuleFromFile(ctx context.Context, filePath string) (*models.SecurityRule, error)

	// ParseRulesFromDirectory parses all security rules from a directory
	ParseRulesFromDirectory(ctx context.Context, dirPath string) ([]*models.SecurityRule, error)

	// ValidateRule validates a security rule against the schema
	ValidateRule(ctx context.Context, rule *models.SecurityRule) error
}

RuleParser defines the interface for parsing security rules

type YAMLParser

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

YAMLParser implements RuleParser for YAML files

func NewYAMLParser

func NewYAMLParser(validateSchema bool) *YAMLParser

NewYAMLParser creates a new YAML parser

func (*YAMLParser) ParseRule

func (p *YAMLParser) ParseRule(ctx context.Context, reader io.Reader) (*models.SecurityRule, error)

ParseRule parses a single security rule from a reader

func (*YAMLParser) ParseRuleFromFile

func (p *YAMLParser) ParseRuleFromFile(ctx context.Context, filePath string) (*models.SecurityRule, error)

ParseRuleFromFile parses a security rule from a file path

func (*YAMLParser) ParseRules

func (p *YAMLParser) ParseRules(ctx context.Context, reader io.Reader) ([]*models.SecurityRule, error)

ParseRules parses multiple security rules from a reader (YAML documents separated by ---)

func (*YAMLParser) ParseRulesFromDirectory

func (p *YAMLParser) ParseRulesFromDirectory(ctx context.Context, dirPath string) ([]*models.SecurityRule, error)

ParseRulesFromDirectory parses all security rules from a directory

func (*YAMLParser) ParseRulesFromFS

func (p *YAMLParser) ParseRulesFromFS(ctx context.Context, fsys fs.FS, dirPath string) ([]*models.SecurityRule, error)

ParseRulesFromFS parses all security rules from an embedded filesystem

func (*YAMLParser) ValidateRule

func (p *YAMLParser) ValidateRule(ctx context.Context, rule *models.SecurityRule) error

ValidateRule validates a security rule against the schema

Jump to

Keyboard shortcuts

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