Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
URI string `yaml:"uri"`
MigrationsDir string `yaml:"migrations_dir"`
PasswordFile string `yaml:"password_file"`
// Allow injection of mock DBs for unit testing.
Mock DB `yaml:"-"`
}
Config configures the database.
func (*Config) RegisterFlags ¶
func (cfg *Config) RegisterFlags(f *flag.FlagSet)
RegisterFlags adds the flags required to configure this to the given FlagSet.
type DB ¶
type DB interface {
// GetRulesConfig gets the user's ruler config
GetRulesConfig(ctx context.Context, userID string) (userconfig.VersionedRulesConfig, error)
// SetRulesConfig does a compare-and-swap (CAS) on the user's rules config.
// `oldConfig` must precisely match the current config in order to change the config to `newConfig`.
// Will return `true` if the config was updated, `false` otherwise.
SetRulesConfig(ctx context.Context, userID string, oldConfig, newConfig userconfig.RulesConfig) (bool, error)
// GetAllRulesConfigs gets all of the ruler configs
GetAllRulesConfigs(ctx context.Context) (map[string]userconfig.VersionedRulesConfig, error)
// GetRulesConfigs gets all of the configs that have been added or have
// changed since the provided config.
GetRulesConfigs(ctx context.Context, since userconfig.ID) (map[string]userconfig.VersionedRulesConfig, error)
GetConfig(ctx context.Context, userID string) (userconfig.View, error)
SetConfig(ctx context.Context, userID string, cfg userconfig.Config) error
GetAllConfigs(ctx context.Context) (map[string]userconfig.View, error)
GetConfigs(ctx context.Context, since userconfig.ID) (map[string]userconfig.View, error)
DeactivateConfig(ctx context.Context, userID string) error
RestoreConfig(ctx context.Context, userID string) error
Close() error
}
DB is the interface for the database.
Click to show internal directories.
Click to hide internal directories.