Documentation
¶
Index ¶
Constants ¶
const PruneBuildsRecommendedName = "builds"
Variables ¶
This section is empty.
Functions ¶
func BuildByBuildConfigIndexFunc ¶
BuildByBuildConfigIndexFunc indexes Build items by their associated BuildConfig, if none, index with key "orphan"
func NewCmdPruneBuilds ¶
func NewCmdPruneBuilds(f kcmdutil.Factory, parentName, name string, streams genericclioptions.IOStreams) *cobra.Command
NewCmdPruneBuilds implements the OpenShift cli prune builds command.
Types ¶
type BuildDeleter ¶
func NewBuildDeleter ¶
func NewBuildDeleter(client buildv1client.BuildsGetter) BuildDeleter
NewBuildDeleter creates a new buildDeleter.
type DataSet ¶
type DataSet interface {
GetBuildConfig(build *buildv1.Build) (*buildv1.BuildConfig, bool, error)
ListBuildConfigs() ([]*buildv1.BuildConfig, error)
ListBuilds() ([]*buildv1.Build, error)
ListBuildsByBuildConfig(buildConfig *buildv1.BuildConfig) ([]*buildv1.Build, error)
}
DataSet provides functions for working with build data
func NewDataSet ¶
func NewDataSet(buildConfigs []*buildv1.BuildConfig, builds []*buildv1.Build) DataSet
NewDataSet returns a DataSet over the specified items
type FilterPredicate ¶
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 PruneBuildsOptions ¶
type PruneBuildsOptions struct {
Confirm bool
Orphans bool
KeepYoungerThan time.Duration
KeepComplete int
KeepFailed int
Namespace string
BuildClient buildv1client.BuildV1Interface
genericclioptions.IOStreams
}
PruneBuildsOptions holds all the required options for pruning builds.
func NewPruneBuildsOptions ¶
func NewPruneBuildsOptions(streams genericclioptions.IOStreams) *PruneBuildsOptions
func (*PruneBuildsOptions) Complete ¶
Complete turns a partially defined PruneBuildsOptions into a solvent structure which can be validated and used for pruning builds.
func (PruneBuildsOptions) Run ¶
func (o PruneBuildsOptions) Run() error
Run contains all the necessary functionality for the OpenShift cli prune builds command.
func (PruneBuildsOptions) Validate ¶
func (o PruneBuildsOptions) Validate() error
Validate ensures that a PruneBuildsOptions is valid and can be used to execute pruning.
type Pruner ¶
type Pruner interface {
// Prune is responsible for actual removal of builds identified as candidates
// for pruning based on pruning algorithm.
Prune(deleter 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 []*buildv1.BuildConfig
// Builds is the entire list of builds across all namespaces in the cluster.
Builds []*buildv1.Build
}
PrunerOptions contains the fields used to initialize a new Pruner.
type Resolver ¶
Resolver knows how to resolve the set of candidate objects to prune
func NewOrphanBuildResolver ¶
func NewOrphanBuildResolver(dataSet DataSet, BuildPhaseFilter []buildv1.BuildPhase) Resolver
NewOrphanBuildResolver returns a Resolver that matches Build objects with no associated BuildConfig and has a BuildPhase in filter