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 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 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 buildinternalclient.Interface Out io.Writer }
PruneBuildsOptions holds all the required options for pruning builds.
func (*PruneBuildsOptions) Complete ¶
func (o *PruneBuildsOptions) Complete(f kcmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer) error
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 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 ¶
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