Files
open-cluster-management/pkg/cmd/webhook/webhook.go
2020-05-18 15:47:18 +08:00

38 lines
884 B
Go

package webhook
import (
"os"
"github.com/open-cluster-management/registration/pkg/webhook"
admissionserver "github.com/openshift/generic-admission-server/pkg/cmd/server"
"github.com/spf13/cobra"
genericapiserver "k8s.io/apiserver/pkg/server"
)
func NewAdmissionHook() *cobra.Command {
o := admissionserver.NewAdmissionServerOptions(os.Stdout, os.Stderr, &webhook.SpokeClusterAdmissionHook{})
cmd := &cobra.Command{
Use: "webhook",
Short: "Start Spoke Cluster Admission Server",
RunE: func(c *cobra.Command, args []string) error {
stopCh := genericapiserver.SetupSignalHandler()
if err := o.Complete(); err != nil {
return err
}
if err := o.Validate(args); err != nil {
return err
}
if err := o.RunAdmissionServer(stopCh); err != nil {
return err
}
return nil
},
}
o.RecommendedOptions.AddFlags(cmd.Flags())
return cmd
}