prune

package
v3.10.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2018 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildByBuildConfigIndexFunc

func BuildByBuildConfigIndexFunc(obj interface{}) ([]string, error)

BuildByBuildConfigIndexFunc indexes Build items by their associated BuildConfig, if none, index with key "orphan"

Types

type DataSet

type DataSet interface {
	GetBuildConfig(build *buildapi.Build) (*buildapi.BuildConfig, bool, error)
	ListBuildConfigs() ([]*buildapi.BuildConfig, error)
	ListBuilds() ([]*buildapi.Build, error)
	ListBuildsByBuildConfig(buildConfig *buildapi.BuildConfig) ([]*buildapi.Build, error)
}

DataSet provides functions for working with build data

func NewDataSet

func NewDataSet(buildConfigs []*buildapi.BuildConfig, builds []*buildapi.Build) DataSet

NewDataSet returns a DataSet over the specified items

type Filter

type Filter interface {
	Filter(builds []*buildapi.Build) []*buildapi.Build
}

Filter filters the set of objects

type FilterPredicate

type FilterPredicate func(build *buildapi.Build) bool

FilterPredicate is a function that returns true if the object should be included in the filtered set

func NewFilterBeforePredicate

func NewFilterBeforePredicate(d time.Duration) FilterPredicate

NewFilterBeforePredicate is a function that returns true if the build was created before the current time minus specified duration

type Pruner

type Pruner interface {
	// Prune is responsible for actual removal of builds identified as candidates
	// for pruning based on pruning algorithm.
	Prune(deleter buildclient.BuildDeleter) error
}

func NewPruner

func NewPruner(options PrunerOptions) Pruner

NewPruner returns a Pruner over specified data using specified options.

type PrunerOptions

type PrunerOptions struct {
	// KeepYoungerThan indicates the minimum age a BuildConfig must be to be a
	// candidate for pruning.
	KeepYoungerThan time.Duration
	// Orphans if true will include inactive orphan builds in candidate prune set
	Orphans bool
	// KeepComplete is per BuildConfig how many of the most recent builds should be preserved
	KeepComplete int
	// KeepFailed is per BuildConfig how many of the most recent failed builds should be preserved
	KeepFailed int
	// BuildConfigs is the entire list of buildconfigs across all namespaces in the cluster.
	BuildConfigs []*buildapi.BuildConfig
	// Builds is the entire list of builds across all namespaces in the cluster.
	Builds []*buildapi.Build
}

PrunerOptions contains the fields used to initialize a new Pruner.

type Resolver

type Resolver interface {
	Resolve() ([]*buildapi.Build, error)
}

Resolver knows how to resolve the set of candidate objects to prune

func NewOrphanBuildResolver

func NewOrphanBuildResolver(dataSet DataSet, BuildPhaseFilter []buildapi.BuildPhase) Resolver

NewOrphanBuildResolver returns a Resolver that matches Build objects with no associated BuildConfig and has a BuildPhase in filter

func NewPerBuildConfigResolver

func NewPerBuildConfigResolver(dataSet DataSet, keepComplete int, keepFailed int) Resolver

NewPerBuildConfigResolver returns a Resolver that selects Builds to prune per BuildConfig

Jump to

Keyboard shortcuts

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