Documentation
¶
Index ¶
Constants ¶
View Source
const ( BreachStatusManager = "BreachStatusManager" BreachDetectedReason = "BreachDetected" NoBreachDetectedReason = "NoBreachDetected" BreachDetectedMessage = "A breach has been detected" NoBreachDetectedMessage = "No breach detected for the current recommendation" )
View Source
const ( TRIGGER_HANDLER_K8S = "K8sTriggerHandler" RecoQueuedStatusManager = "RecoQueuedStatusManager" RecoTaskQueued = "RecoTaskQueued" RecoTaskQueuedMessage = "Workload Queued for Fresh HPA Recommendation" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Handler ¶
type Handler interface { QueueForExecution(workloadName string) // contains filtered or unexported methods }
type K8sTriggerHandler ¶
type K8sTriggerHandler struct {
// contains filtered or unexported fields
}
func NewK8sTriggerHandler ¶
func NewK8sTriggerHandler(k8sClient client.Client, logger logr.Logger) *K8sTriggerHandler
func (*K8sTriggerHandler) QueueAllForExecution ¶
func (h *K8sTriggerHandler) QueueAllForExecution()
TODO: @neerajb Handle passing error back to the controllers, so that the reconcile can be run again.
func (*K8sTriggerHandler) QueueForExecution ¶
func (h *K8sTriggerHandler) QueueForExecution(recommendation types.NamespacedName)
func (*K8sTriggerHandler) Start ¶
func (h *K8sTriggerHandler) Start()
type Monitor ¶
type Monitor struct {
// contains filtered or unexported fields
}
func NewMonitor ¶
func NewMonitor(k8sClient client.Client, recorder record.EventRecorder, namespace string, workload types.NamespacedName, workloadType string, metricScraper metrics.Scraper, cpuRedLine float64, metricStep time.Duration, periodicRequeueFrequency time.Duration, breachCheckFrequency time.Duration, concurrencyControlSemaphore *semaphore.Weighted, handlerFunc func(workload types.NamespacedName), logger logr.Logger) *Monitor
type MonitorManager ¶
type MonitorManager interface { RegisterMonitor(workloadType string, workload types.NamespacedName) *Monitor DeregisterMonitor(workload types.NamespacedName) Shutdown() }
type PolicyRecommendationMonitorManager ¶
type PolicyRecommendationMonitorManager struct {
// contains filtered or unexported fields
}
func NewPolicyRecommendationMonitorManager ¶
func NewPolicyRecommendationMonitorManager(k8sClient client.Client, recorder record.EventRecorder, metricScraper metrics.Scraper, periodicRequeueFrequency time.Duration, breachCheckFrequency time.Duration, concurrentExecutions int, handlerFunc func(workloadName types.NamespacedName), stepSec int, cpuRedLine float64, logger logr.Logger) *PolicyRecommendationMonitorManager
func (*PolicyRecommendationMonitorManager) DeregisterMonitor ¶
func (mf *PolicyRecommendationMonitorManager) DeregisterMonitor(workload types.NamespacedName)
func (*PolicyRecommendationMonitorManager) RegisterMonitor ¶
func (mf *PolicyRecommendationMonitorManager) RegisterMonitor(workloadType string, workload types.NamespacedName) *Monitor
func (*PolicyRecommendationMonitorManager) Shutdown ¶
func (mf *PolicyRecommendationMonitorManager) Shutdown()
Click to show internal directories.
Click to hide internal directories.