karmada/pkg/karmadactl/addons/addons.go

52 lines
1.2 KiB
Go

package addons
import (
"fmt"
"github.com/spf13/cobra"
"k8s.io/kubectl/pkg/util/templates"
"github.com/karmada-io/karmada/pkg/karmadactl/addons/install"
"github.com/karmada-io/karmada/pkg/karmadactl/util"
)
var (
addonsLong = templates.LongDesc(`
Enable or disable a Karmada addon.
These addons are currently supported:
1. karmada-descheduler
2. karmada-scheduler-estimator
3. karmada-search`)
addonsExamples = templates.Examples(`
# Enable or disable Karmada addons to the karmada-host cluster
%[1]s addons enable karmada-search
`)
)
func init() {
install.Install()
}
// NewCmdAddons enable or disable Karmada addons on karmada-host cluster
func NewCmdAddons(parentCommand string) *cobra.Command {
cmd := &cobra.Command{
Use: "addons",
Short: "Enable or disable a Karmada addon",
Long: addonsLong,
Example: fmt.Sprintf(addonsExamples, parentCommand),
Annotations: map[string]string{
util.TagCommandGroup: util.GroupClusterRegistration,
},
}
addonsParentCommand := fmt.Sprintf("%s %s", parentCommand, "addons")
cmd.AddCommand(NewCmdAddonsList(addonsParentCommand))
cmd.AddCommand(NewCmdAddonsEnable(addonsParentCommand))
cmd.AddCommand(NewCmdAddonsDisable(addonsParentCommand))
return cmd
}