Documentation
¶
Index ¶
- type RuleLoader
- type RuleParser
- type YAMLParser
- func (p *YAMLParser) ParseRule(ctx context.Context, reader io.Reader) (*models.SecurityRule, error)
- func (p *YAMLParser) ParseRuleFromFile(ctx context.Context, filePath string) (*models.SecurityRule, error)
- func (p *YAMLParser) ParseRules(ctx context.Context, reader io.Reader) ([]*models.SecurityRule, error)
- func (p *YAMLParser) ParseRulesFromDirectory(ctx context.Context, dirPath string) ([]*models.SecurityRule, error)
- func (p *YAMLParser) ParseRulesFromFS(ctx context.Context, fsys fs.FS, dirPath string) ([]*models.SecurityRule, error)
- func (p *YAMLParser) ValidateRule(ctx context.Context, rule *models.SecurityRule) error
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
Click to show internal directories.
Click to hide internal directories.