Documentation
¶
Overview ¶
Package filter provides filtering functionality for modules based on glob patterns and segment values.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseSegmentFilters ¶
ParseSegmentFilters parses "key=value" strings into a segment filter map.
Types ¶
type CompositeFilter ¶
type CompositeFilter struct {
// contains filtered or unexported fields
}
CompositeFilter combines multiple filters with AND logic.
func NewCompositeFilter ¶
func NewCompositeFilter(filters ...ModuleFilter) *CompositeFilter
NewCompositeFilter creates a composite filter.
func (*CompositeFilter) FilterModules ¶
func (f *CompositeFilter) FilterModules(modules []*discovery.Module) []*discovery.Module
FilterModules applies the composite filter to a list of modules.
type GlobFilter ¶
GlobFilter filters modules based on include/exclude glob patterns.
func NewGlobFilter ¶
func NewGlobFilter(exclude, include []string) *GlobFilter
NewGlobFilter creates a new filter with the given patterns.
func (*GlobFilter) FilterModuleIDs ¶
func (f *GlobFilter) FilterModuleIDs(moduleIDs []string) []string
FilterModuleIDs returns module IDs that match the filter criteria.
func (*GlobFilter) FilterModules ¶
func (f *GlobFilter) FilterModules(modules []*discovery.Module) []*discovery.Module
FilterModules returns modules that match the filter criteria.
func (*GlobFilter) Match ¶
func (f *GlobFilter) Match(moduleID string) bool
Match checks if a module ID matches the filter criteria.
func (*GlobFilter) MatchModule ¶
func (f *GlobFilter) MatchModule(module *discovery.Module) bool
MatchModule implements ModuleFilter.
type ModuleFilter ¶
ModuleFilter is an interface for module filters.
type Options ¶
type Options struct {
Excludes []string // glob patterns to exclude
Includes []string // glob patterns to include (empty = all)
Segments map[string][]string // segment name → allowed values (e.g. "service" → ["platform"])
}
Options contains all filter parameters.
type SegmentFilter ¶
type SegmentFilter struct {
Segment string // segment name (e.g. "service", "environment", "region")
Values []string // allowed values
}
SegmentFilter filters modules by a named segment value.