rules

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: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthRules = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowRules   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	// ErrGroupNotFound is returned if a rule group does not exist
	ErrGroupNotFound = errors.New("group does not exist")
	// ErrGroupNamespaceNotFound is returned if a namespace does not exist
	ErrGroupNamespaceNotFound = errors.New("group namespace does not exist")
	// ErrUserNotFound is returned if the user does not currently exist
	ErrUserNotFound = errors.New("no rule groups found for user")
)

Functions

func FromProto

func FromProto(rg *RuleGroupDesc) legacy_rulefmt.RuleGroup

FromProto generates a rulefmt RuleGroup

Types

type ConfigRuleStore

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

ConfigRuleStore is a concrete implementation of RuleStore that sources rules from the config service

func NewConfigRuleStore

func NewConfigRuleStore(c client.Client) *ConfigRuleStore

NewConfigRuleStore constructs a ConfigRuleStore

func (*ConfigRuleStore) DeleteRuleGroup added in v1.0.0

func (c *ConfigRuleStore) DeleteRuleGroup(ctx context.Context, userID, namespace string, group string) error

DeleteRuleGroup is not implemented

func (*ConfigRuleStore) GetRuleGroup added in v1.0.0

func (c *ConfigRuleStore) GetRuleGroup(ctx context.Context, userID, namespace, group string) (*RuleGroupDesc, error)

GetRuleGroup is not implemented

func (*ConfigRuleStore) ListAllRuleGroups

func (c *ConfigRuleStore) ListAllRuleGroups(ctx context.Context) (map[string]RuleGroupList, error)

ListAllRuleGroups implements RuleStore

func (*ConfigRuleStore) ListRuleGroups added in v1.0.0

func (c *ConfigRuleStore) ListRuleGroups(ctx context.Context, userID string, namespace string) (RuleGroupList, error)

ListRuleGroups is not implemented

func (*ConfigRuleStore) SetRuleGroup added in v1.0.0

func (c *ConfigRuleStore) SetRuleGroup(ctx context.Context, userID, namespace string, group *RuleGroupDesc) error

SetRuleGroup is not implemented

type RuleDesc

type RuleDesc struct {
	Expr        string                                                             `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"`
	Record      string                                                             `protobuf:"bytes,2,opt,name=record,proto3" json:"record,omitempty"`
	Alert       string                                                             `protobuf:"bytes,3,opt,name=alert,proto3" json:"alert,omitempty"`
	For         time.Duration                                                      `protobuf:"bytes,4,opt,name=for,proto3,stdduration" json:"for"`
	Labels      []github_com_cortexproject_cortex_pkg_ingester_client.LabelAdapter `` /* 131-byte string literal not displayed */
	Annotations []github_com_cortexproject_cortex_pkg_ingester_client.LabelAdapter `` /* 141-byte string literal not displayed */
}

RuleDesc is a proto representation of a Prometheus Rule

func (*RuleDesc) Descriptor

func (*RuleDesc) Descriptor() ([]byte, []int)

func (*RuleDesc) Equal

func (this *RuleDesc) Equal(that interface{}) bool

func (*RuleDesc) GetAlert

func (m *RuleDesc) GetAlert() string

func (*RuleDesc) GetExpr

func (m *RuleDesc) GetExpr() string

func (*RuleDesc) GetFor

func (m *RuleDesc) GetFor() time.Duration

func (*RuleDesc) GetRecord

func (m *RuleDesc) GetRecord() string

func (*RuleDesc) GoString

func (this *RuleDesc) GoString() string

func (*RuleDesc) Marshal

func (m *RuleDesc) Marshal() (dAtA []byte, err error)

func (*RuleDesc) MarshalTo

func (m *RuleDesc) MarshalTo(dAtA []byte) (int, error)

func (*RuleDesc) MarshalToSizedBuffer added in v0.7.0

func (m *RuleDesc) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*RuleDesc) ProtoMessage

func (*RuleDesc) ProtoMessage()

func (*RuleDesc) Reset

func (m *RuleDesc) Reset()

func (*RuleDesc) Size

func (m *RuleDesc) Size() (n int)

func (*RuleDesc) String

func (this *RuleDesc) String() string

func (*RuleDesc) Unmarshal

func (m *RuleDesc) Unmarshal(dAtA []byte) error

func (*RuleDesc) XXX_DiscardUnknown

func (m *RuleDesc) XXX_DiscardUnknown()

func (*RuleDesc) XXX_Marshal

func (m *RuleDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RuleDesc) XXX_Merge

func (m *RuleDesc) XXX_Merge(src proto.Message)

func (*RuleDesc) XXX_Size

func (m *RuleDesc) XXX_Size() int

func (*RuleDesc) XXX_Unmarshal

func (m *RuleDesc) XXX_Unmarshal(b []byte) error

type RuleGroupDesc

type RuleGroupDesc struct {
	Name      string        `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Namespace string        `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	Interval  time.Duration `protobuf:"bytes,3,opt,name=interval,proto3,stdduration" json:"interval"`
	Rules     []*RuleDesc   `protobuf:"bytes,4,rep,name=rules,proto3" json:"rules,omitempty"`
	User      string        `protobuf:"bytes,6,opt,name=user,proto3" json:"user,omitempty"`
}

RuleGroupDesc is a proto representation of a cortex rule group

func ToProto

func ToProto(user string, namespace string, rl legacy_rulefmt.RuleGroup) *RuleGroupDesc

ToProto transforms a formatted prometheus rulegroup to a rule group protobuf

func (*RuleGroupDesc) Descriptor

func (*RuleGroupDesc) Descriptor() ([]byte, []int)

func (*RuleGroupDesc) Equal

func (this *RuleGroupDesc) Equal(that interface{}) bool

func (*RuleGroupDesc) GetInterval

func (m *RuleGroupDesc) GetInterval() time.Duration

func (*RuleGroupDesc) GetName

func (m *RuleGroupDesc) GetName() string

func (*RuleGroupDesc) GetNamespace

func (m *RuleGroupDesc) GetNamespace() string

func (*RuleGroupDesc) GetRules

func (m *RuleGroupDesc) GetRules() []*RuleDesc

func (*RuleGroupDesc) GetUser

func (m *RuleGroupDesc) GetUser() string

func (*RuleGroupDesc) GoString

func (this *RuleGroupDesc) GoString() string

func (*RuleGroupDesc) Marshal

func (m *RuleGroupDesc) Marshal() (dAtA []byte, err error)

func (*RuleGroupDesc) MarshalTo

func (m *RuleGroupDesc) MarshalTo(dAtA []byte) (int, error)

func (*RuleGroupDesc) MarshalToSizedBuffer added in v0.7.0

func (m *RuleGroupDesc) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*RuleGroupDesc) ProtoMessage

func (*RuleGroupDesc) ProtoMessage()

func (*RuleGroupDesc) Reset

func (m *RuleGroupDesc) Reset()

func (*RuleGroupDesc) Size

func (m *RuleGroupDesc) Size() (n int)

func (*RuleGroupDesc) String

func (this *RuleGroupDesc) String() string

func (*RuleGroupDesc) Unmarshal

func (m *RuleGroupDesc) Unmarshal(dAtA []byte) error

func (*RuleGroupDesc) XXX_DiscardUnknown

func (m *RuleGroupDesc) XXX_DiscardUnknown()

func (*RuleGroupDesc) XXX_Marshal

func (m *RuleGroupDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RuleGroupDesc) XXX_Merge

func (m *RuleGroupDesc) XXX_Merge(src proto.Message)

func (*RuleGroupDesc) XXX_Size

func (m *RuleGroupDesc) XXX_Size() int

func (*RuleGroupDesc) XXX_Unmarshal

func (m *RuleGroupDesc) XXX_Unmarshal(b []byte) error

type RuleGroupList

type RuleGroupList []*RuleGroupDesc

RuleGroupList contains a set of rule groups

func (RuleGroupList) Formatted

func (l RuleGroupList) Formatted() map[string][]legacy_rulefmt.RuleGroup

Formatted returns the rule group list as a set of formatted rule groups mapped by namespace

type RuleStore

type RuleStore interface {
	ListAllRuleGroups(ctx context.Context) (map[string]RuleGroupList, error)
	ListRuleGroups(ctx context.Context, userID string, namespace string) (RuleGroupList, error)
	GetRuleGroup(ctx context.Context, userID, namespace, group string) (*RuleGroupDesc, error)
	SetRuleGroup(ctx context.Context, userID, namespace string, group *RuleGroupDesc) error
	DeleteRuleGroup(ctx context.Context, userID, namespace string, group string) error
}

RuleStore is used to store and retrieve rules

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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