rulefmt

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Error

type Error struct {
	Group    string
	Rule     int
	RuleName string
	Err      error
}

Error represents semantic errors on parsing rule groups.

func (*Error) Error

func (err *Error) Error() string

type Rule

type Rule struct {
	Record      string            `yaml:"record"`
	Alert       string            `yaml:"alert"`
	Expr        string            `yaml:"expr"`
	For         model.Duration    `yaml:"for"`
	Labels      map[string]string `yaml:"labels"`
	Annotations map[string]string `yaml:"annotations"`
}

Rule describes an alerting or recording rule.

func (*Rule) Validate

func (r *Rule) Validate() (errs []error)

Validate the rule and return a list of encountered errors.

type RuleGroup

type RuleGroup struct {
	Name     string         `yaml:"name"`
	Interval model.Duration `yaml:"interval"`
	Rules    []Rule         `yaml:"rules"`
}

RuleGroup is a list of sequentially evaluated recording and alerting rules.

type RuleGroups

type RuleGroups struct {
	Groups []RuleGroup `yaml:"groups"`
}

RuleGroups is a set of rule groups that are typically exposed in a file.

func Parse

func Parse(content []byte) (*RuleGroups, []error)

Parse parses and validates a set of rules.

func ParseFile

func ParseFile(file string) (*RuleGroups, []error)

ParseFile reads and parses rules from a file.

func (*RuleGroups) Validate

func (g *RuleGroups) Validate() (errs []error)

Validate validates all rules in the rule groups.

Jump to

Keyboard shortcuts

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