Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlertStore ¶
type AlertStore interface {
// ListAllUsers returns all users with alertmanager configuration.
ListAllUsers(ctx context.Context) ([]string, error)
// GetAlertConfigs loads and returns the alertmanager configuration for given users.
// If any of the provided users has no configuration, then this function does not return an
// error but the returned configs will not include the missing users.
GetAlertConfigs(ctx context.Context, userIDs []string) (map[string]alertspb.AlertConfigDesc, error)
// GetAlertConfig loads and returns the alertmanager configuration for the given user.
GetAlertConfig(ctx context.Context, user string) (alertspb.AlertConfigDesc, error)
// SetAlertConfig stores the alertmanager configuration for an user.
SetAlertConfig(ctx context.Context, cfg alertspb.AlertConfigDesc) error
// DeleteAlertConfig deletes the alertmanager configuration for an user.
// If configuration for the user doesn't exist, no error is reported.
DeleteAlertConfig(ctx context.Context, user string) error
// ListUsersWithFullState returns the list of users which have had state written.
ListUsersWithFullState(ctx context.Context) ([]string, error)
// GetFullState loads and returns the alertmanager state for the given user.
GetFullState(ctx context.Context, user string) (alertspb.FullStateDesc, error)
// SetFullState stores the alertmanager state for the given user.
SetFullState(ctx context.Context, user string, fs alertspb.FullStateDesc) error
// DeleteFullState deletes the alertmanager state for an user.
// If state for the user doesn't exist, no error is reported.
DeleteFullState(ctx context.Context, user string) error
}
AlertStore stores and configures users rule configs
func NewAlertStore ¶
func NewAlertStore(ctx context.Context, cfg Config, cfgProvider bucket.TenantConfigProvider, logger log.Logger, reg prometheus.Registerer) (AlertStore, error)
NewAlertStore returns a alertmanager store backend client based on the provided cfg.
func NewLegacyAlertStore ¶
func NewLegacyAlertStore(cfg LegacyConfig, logger log.Logger) (AlertStore, error)
NewLegacyAlertStore returns a new alertmanager storage backend poller and store
type Config ¶
type Config struct {
bucket.Config `yaml:",inline"`
ConfigDB client.Config `yaml:"configdb"`
Local local.StoreConfig `yaml:"local"`
}
Config configures a the alertmanager storage backend.
func (*Config) IsFullStateSupported ¶ added in v1.10.0
IsFullStateSupported returns if the given configuration supports access to FullState objects.
func (*Config) RegisterFlags ¶
RegisterFlags registers the backend storage config.
type LegacyConfig ¶
type LegacyConfig struct {
Type string `yaml:"type"`
ConfigDB client.Config `yaml:"configdb"`
// Object Storage Configs
Azure azure.BlobStorageConfig `yaml:"azure"`
GCS gcp.GCSConfig `yaml:"gcs"`
S3 aws.S3Config `yaml:"s3"`
Local local.StoreConfig `yaml:"local"`
}
LegacyConfig configures the alertmanager storage backend using the legacy storage clients. TODO remove this legacy config in Cortex 1.11.
func (*LegacyConfig) IsDefaults ¶
func (cfg *LegacyConfig) IsDefaults() bool
IsDefaults returns true if the storage options have not been set.
func (*LegacyConfig) RegisterFlags ¶
func (cfg *LegacyConfig) RegisterFlags(f *flag.FlagSet)
RegisterFlags registers flags.
func (*LegacyConfig) Validate ¶
func (cfg *LegacyConfig) Validate() error
Validate config and returns error on failure