rules

package
v0.5.4-rc3 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2022 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloneRuleGroup

func CloneRuleGroup(g rulefmt.RuleGroup) rulefmt.RuleGroup

func CloneRuleGroupList

func CloneRuleGroupList(list []rulefmt.RuleGroup) []rulefmt.RuleGroup

func NewUpdateNotifier

func NewUpdateNotifier(finder RuleFinder) *updateNotifier

Types

type FilesystemRuleFinder added in v0.5.4

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

func NewFilesystemRuleFinder added in v0.5.4

func NewFilesystemRuleFinder(config *v1beta1.FilesystemRulesSpec, opts ...FilesystemRuleFinderOption) *FilesystemRuleFinder

func (*FilesystemRuleFinder) FindGroups

type FilesystemRuleFinderOption added in v0.5.4

type FilesystemRuleFinderOption func(*staticRuleFinderOptions)

func WithFS added in v0.5.4

func WithFS(fs fs.FS) FilesystemRuleFinderOption

type PrometheusRuleFinder

type PrometheusRuleFinder struct {
	PrometheusRuleFinderOptions
	// contains filtered or unexported fields
}

PrometheusRuleFinder can find rules defined in PrometheusRule CRDs.

func NewPrometheusRuleFinder

func NewPrometheusRuleFinder(k8sClient client.Client, opts ...PrometheusRuleFinderOption) *PrometheusRuleFinder

func (*PrometheusRuleFinder) FindGroups

func (f *PrometheusRuleFinder) FindGroups(ctx context.Context) ([]rulefmt.RuleGroup, error)

type PrometheusRuleFinderOption

type PrometheusRuleFinderOption func(*PrometheusRuleFinderOptions)

func WithNamespaces

func WithNamespaces(namespaces ...string) PrometheusRuleFinderOption

type PrometheusRuleFinderOptions

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

type RuleFinder

type RuleFinder interface {
	FindGroups(ctx context.Context) ([]rulefmt.RuleGroup, error)
}

type UpdateNotifier

type UpdateNotifier interface {
	// Returns a channel that will receive a list of rule groups whenever
	// any rules are added, removed, or updated. The channel has a small buffer
	// and will initially contain the latest rule group list.
	//
	// If the context is canceled, the channel will be closed. Additionally, if
	// the channel's buffer is full, any updates will be dropped.
	NotifyC(ctx context.Context) <-chan []rulefmt.RuleGroup
}

func NewPeriodicUpdateNotifier

func NewPeriodicUpdateNotifier(ctx context.Context, finder RuleFinder, interval time.Duration) UpdateNotifier

Jump to

Keyboard shortcuts

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