duty

package module
v1.0.115 Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2023 License: Apache-2.0 Imports: 25 Imported by: 19

README

duty

Duty (Database Utility) is a home for common database tools, models and helpers.

Documentation

Index

Constants

View Source
const DefaultDepth = 5

Variables

View Source
var DefaultQueryTimeout = 30 * time.Second
View Source
var (
	ErrNotFound = errors.New("NOT_FOUND")
)

Functions

func DefaultGormConfig added in v1.0.6

func DefaultGormConfig() *gorm.Config

func FindConnection added in v1.0.45

func FindConnection(ctx context.Context, db *gorm.DB, connectionType, name string) (*models.Connection, error)

FindConnection returns the connection with the given type and name

func FindConnectionByURL added in v1.0.75

func FindConnectionByURL(ctx context.Context, db *gorm.DB, connectionString string) (*models.Connection, error)

FindConnectionByURL retrieves a connection from the given connection string. The connection string is expected to be of the form: connection://<type>/<name>

func GetComponent added in v1.0.45

func GetComponent(ctx context.Context, db *gorm.DB, id string) (*models.Component, error)

func GetConfigMapFromCache added in v1.0.45

func GetConfigMapFromCache(c kubernetes.Interface, namespace, name, key string) (string, error)

func GetConnection added in v1.0.45

func GetConnection(ctx context.Context, client kubernetes.Interface, db *gorm.DB, connectionType string, name string, namespace string) (*models.Connection, error)

func GetEnvStringFromCache added in v1.0.45

func GetEnvStringFromCache(c kubernetes.Interface, env string, namespace string) (string, error)

func GetEnvValueFromCache added in v1.0.45

func GetEnvValueFromCache(c kubernetes.Interface, input types.EnvVar, namespace string) (string, error)

func GetSecretFromCache added in v1.0.45

func GetSecretFromCache(c kubernetes.Interface, namespace, name, key string) (string, error)

func HydrateConnection added in v1.0.48

func HydrateConnection(ctx context.Context, client kubernetes.Interface, db *gorm.DB, connection *models.Connection, namespace string) (*models.Connection, error)

Create a cache with a default expiration time of 5 minutes, and which purges expired items every 10 minutes var connectionCache = cache.New(5*time.Minute, 10*time.Minute)

func HydratedConnectionByURL added in v1.0.75

func HydratedConnectionByURL(ctx context.Context, db *gorm.DB, k8sClient kubernetes.Interface, namespace, connectionString string) (*models.Connection, error)

HydratedConnectionByURL retrieves a connection from the given connection string. The connection string is expected to be of the form: connection://<type>/<name>

func Migrate added in v1.0.10

func Migrate(connection string, opts *migrate.MigrateOptions) error

func NewDB

func NewDB(connection string) (*sql.DB, error)

func NewGorm

func NewGorm(connection string, config *gorm.Config) (*gorm.DB, error)

creates a new Gorm DB connection using the global pgx connection pool, must be called after NewPgxPool

func NewPgxPool

func NewPgxPool(connection string) (*pgxpool.Pool, error)

func QueryCheckSummary added in v1.0.34

func QueryCheckSummary(ctx context.Context, dbpool *pgxpool.Pool) (models.Checks, error)

func RefreshCheckStatusSummary added in v1.0.34

func RefreshCheckStatusSummary(dbpool *pgxpool.Pool) error

Types

type Tags added in v1.0.71

type Tags map[string][]string

Map of tag keys to the list of available values

type TopologyOptions added in v1.0.11

type TopologyOptions struct {
	ID      string
	Owner   string
	Labels  map[string]string
	AgentID string
	Flatten bool
	Depth   int
	// TODO: Filter status and types in DB Query
	Types  []string
	Status []string
}

func (TopologyOptions) String added in v1.0.11

func (opt TopologyOptions) String() string

type TopologyResponse added in v1.0.71

type TopologyResponse struct {
	Components     models.Components `json:"components"`
	HealthStatuses []string          `json:"healthStatuses"`
	Teams          []string          `json:"teams"`
	Tags           Tags              `json:"tags"`
	Types          []string          `json:"types"`
}

func QueryTopology added in v1.0.24

func QueryTopology(ctx context.Context, dbpool *pgxpool.Pool, params TopologyOptions) (*TopologyResponse, error)

Directories

Path Synopsis
fixtures
hack
migrate Module

Jump to

Keyboard shortcuts

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