use common controller interface in KCM.

This commit is contained in:
Jiahui Feng
2021-08-20 14:54:32 -07:00
parent cd80d70c3d
commit 8f5771d243
13 changed files with 87 additions and 69 deletions

View File

@@ -281,3 +281,7 @@ func (h *debugHTTPHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
w.Write(data)
w.WriteHeader(http.StatusOK)
}
func (gc *GarbageCollector) DebuggingHandler() http.Handler {
return NewDebugHandler(gc)
}

View File

@@ -43,6 +43,7 @@ import (
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/tools/record"
"k8s.io/client-go/util/workqueue"
"k8s.io/controller-manager/controller"
"k8s.io/controller-manager/pkg/informerfactory"
"k8s.io/kubernetes/pkg/controller/apis/config/scheme"
@@ -78,6 +79,9 @@ type GarbageCollector struct {
workerLock sync.RWMutex
}
var _ controller.Interface = (*GarbageCollector)(nil)
var _ controller.Debuggable = (*GarbageCollector)(nil)
// NewGarbageCollector creates a new GarbageCollector.
func NewGarbageCollector(
kubeClient clientset.Interface,
@@ -726,3 +730,7 @@ func GetDeletableResources(discoveryClient discovery.ServerResourcesInterface) m
return deletableGroupVersionResources
}
func (gc *GarbageCollector) Name() string {
return "garbagecollector"
}