44 lines
1.4 KiB
Go
44 lines
1.4 KiB
Go
package init
|
|
|
|
const (
|
|
// AddonDisabledStatus describe a karmada addon is not installed
|
|
AddonDisabledStatus = "disabled"
|
|
|
|
// AddonEnabledStatus describe a karmada addon is installed
|
|
AddonEnabledStatus = "enabled"
|
|
|
|
// AddonUnhealthyStatus describe a karmada addon is unhealthy
|
|
AddonUnhealthyStatus = "unhealthy"
|
|
|
|
// AddonUnknownStatus describe a karmada addon is unknown
|
|
AddonUnknownStatus = "unknown"
|
|
)
|
|
|
|
const (
|
|
// DeschedulerResourceName define Descheduler Addon and component installed name
|
|
DeschedulerResourceName = "karmada-descheduler"
|
|
|
|
// EstimatorResourceName define Estimator Addon and component installed name
|
|
EstimatorResourceName = "karmada-scheduler-estimator"
|
|
|
|
// SearchResourceName define Search Addon and component installed name
|
|
SearchResourceName = "karmada-search"
|
|
)
|
|
|
|
// Addons hosts the optional components that support by karmada
|
|
var Addons = map[string]*Addon{}
|
|
|
|
// Addon describe how to enable or disable an optional component that support by karmada
|
|
type Addon struct {
|
|
Name string
|
|
|
|
// Status return current addon install status
|
|
Status func(opts *CommandAddonsListOption) (string, error)
|
|
|
|
// Enable install current addon in host cluster and Karmada control plane
|
|
Enable func(opts *CommandAddonsEnableOption) error
|
|
|
|
// Disable uninstall current addon in host cluster and Karmada control plane
|
|
Disable func(opts *CommandAddonsDisableOption) error
|
|
}
|