db

package
v0.0.0-...-90d47c1 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2018 License: Apache-2.0 Imports: 11 Imported by: 0

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
	MigrationsDir string
}

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 {
	RulesDB

	GetConfig(userID string) (configs.View, error)
	SetConfig(userID string, cfg configs.Config) error

	GetAllConfigs() (map[string]configs.View, error)
	GetConfigs(since configs.ID) (map[string]configs.View, error)

	DeactivateConfig(userID string) error
	RestoreConfig(userID string) error

	Close() error
}

DB is the interface for the database.

func New

func New(cfg Config) (DB, error)

New creates a new database.

type RulesDB

type RulesDB interface {
	// GetRulesConfig gets the user's ruler config
	GetRulesConfig(userID string) (configs.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(userID string, oldConfig, newConfig configs.RulesConfig) (bool, error)

	// GetAllRulesConfigs gets all of the ruler configs
	GetAllRulesConfigs() (map[string]configs.VersionedRulesConfig, error)
	// GetRulesConfigs gets all of the configs that have been added or have
	// changed since the provided config.
	GetRulesConfigs(since configs.ID) (map[string]configs.VersionedRulesConfig, error)
}

RulesDB has ruler-specific DB interfaces.

func NewRulesDB

func NewRulesDB(cfg Config) (RulesDB, error)

NewRulesDB creates a new rules config database.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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