sqldb

package
v3.4.0 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2022 License: Apache-2.0 Imports: 25 Imported by: 20

Documentation

Index

Constants

View Source
const (
	MySQL    dbType = "mysql"
	Postgres dbType = "postgres"
)
View Source
const OffloadNodeStatusDisabled = "Workflow has offloaded nodes, but offloading has been disabled"

Variables

This section is empty.

Functions

func CreateDBSession

func CreateDBSession(kubectlConfig kubernetes.Interface, namespace string, persistConfig *config.PersistConfig) (sqlbuilder.Database, string, error)

CreateDBSession creates the dB session

func CreateMySQLDBSession

func CreateMySQLDBSession(kubectlConfig kubernetes.Interface, namespace string, cfg *config.MySQLConfig, persistPool *config.ConnectionPool) (sqlbuilder.Database, string, error)

CreateMySQLDBSession creates Mysql DB session

func CreatePostGresDBSession

func CreatePostGresDBSession(kubectlConfig kubernetes.Interface, namespace string, cfg *config.PostgreSQLConfig, persistPool *config.ConnectionPool) (sqlbuilder.Database, string, error)

CreatePostGresDBSession creates postgresDB session

Types

type Migrate

type Migrate interface {
	Exec(ctx context.Context) error
}

func NewMigrate

func NewMigrate(session sqlbuilder.Database, clusterName string, tableName string) Migrate

type OffloadNodeStatusRepo

type OffloadNodeStatusRepo interface {
	Save(uid, namespace string, nodes wfv1.Nodes) (string, error)
	Get(uid, version string) (wfv1.Nodes, error)
	List(namespace string) (map[UUIDVersion]wfv1.Nodes, error)
	ListOldOffloads(namespace string) (map[string][]string, error)
	Delete(uid, version string) error
	IsEnabled() bool
}
var (
	ExplosiveOffloadNodeStatusRepo OffloadNodeStatusRepo = &explosiveOffloadNodeStatusRepo{}
	OffloadNotSupportedError                             = fmt.Errorf("offload node status is not supported")
)

func NewOffloadNodeStatusRepo

func NewOffloadNodeStatusRepo(session sqlbuilder.Database, clusterName, tableName string) (OffloadNodeStatusRepo, error)

type UUIDVersion

type UUIDVersion struct {
	UID     string `db:"uid"`
	Version string `db:"version"`
}

type WorkflowArchive

type WorkflowArchive interface {
	ArchiveWorkflow(wf *wfv1.Workflow) error
	// list workflows, with the most recently started workflows at the beginning (i.e. index 0 is the most recent)
	ListWorkflows(namespace string, name string, namePrefix string, minStartAt, maxStartAt time.Time, labelRequirements labels.Requirements, limit, offset int) (wfv1.Workflows, error)
	CountWorkflows(namespace string, name string, namePrefix string, minStartAt, maxStartAt time.Time, labelRequirements labels.Requirements) (int64, error)
	GetWorkflow(uid string) (*wfv1.Workflow, error)
	DeleteWorkflow(uid string) error
	DeleteExpiredWorkflows(ttl time.Duration) error
	IsEnabled() bool
	ListWorkflowsLabelKeys() (*wfv1.LabelKeys, error)
	ListWorkflowsLabelValues(key string) (*wfv1.LabelValues, error)
}
var NullWorkflowArchive WorkflowArchive = &nullWorkflowArchive{}

func NewWorkflowArchive

func NewWorkflowArchive(session sqlbuilder.Database, clusterName, managedNamespace string, instanceIDService instanceid.Service) WorkflowArchive

NewWorkflowArchive returns a new workflowArchive

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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