Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Collector ¶
type Collector interface {
// Run runs the garbage collector until all eligible Promotion resources have
// been deleted -- or until an unrecoverable error occurs.
Run(context.Context) error
}
Collector is an interface for the garbage collector.
func NewCollector ¶
func NewCollector(kubeClient client.Client, cfg CollectorConfig) Collector
NewCollector initializes and returns an implementation of the Collector interface.
type CollectorConfig ¶
type CollectorConfig struct {
// NumWorkers specifies the number of concurrent workers working on garbage
// collection. Tuning this too low will result in slow garbage collection.
// Tuning this too high will result in too many API calls and may result in
// throttling.
NumWorkers int `envconfig:"NUM_WORKERS" default:"3"`
// MaxRetainedPromotions specifies the ideal maximum number of Promotions
// OLDER than the oldest in a non-terminal state (associated with each Stage)
// that may be spared by the garbage collector. The ACTUAL number of
// Promotions spared may exceed this ideal if some Promotions that would
// otherwise be deleted do not meet the minimum age criterion.
MaxRetainedPromotions int `envconfig:"MAX_RETAINED_PROMOTIONS" default:"20"`
// MinPromotionDeletionAge specifies the minimum age Promotions must be before
// considered eligible for garbage collection.
MinPromotionDeletionAge time.Duration `envconfig:"MIN_PROMOTION_DELETION_AGE" default:"336h"` // 2 weeks
// MaxRetainedFreight specifies the ideal maximum number of Freight OLDER than
// the oldest still in use (from each Warehouse) that may be spared by the
// garbage collector. The ACTUAL number of older Freight spared may exceed
// this ideal if some Freight that would otherwise be deleted do not meet the
// minimum age criterion.
MaxRetainedFreight int `envconfig:"MAX_RETAINED_FREIGHT" default:"20"`
// MinFreightDeletionAge specifies the minimum age Freight must be before
// considered eligible for garbage collection.
MinFreightDeletionAge time.Duration `envconfig:"MIN_FREIGHT_DELETION_AGE" default:"336h"` // 2 weeks
}
CollectorConfig is configuration for the garbage collector.
func CollectorConfigFromEnv ¶
func CollectorConfigFromEnv() CollectorConfig
CollectorConfigFromEnv returns a CollectorConfig populated from environment variables.
Click to show internal directories.
Click to hide internal directories.