mirror of
https://github.com/kubernetes-sigs/prometheus-adapter.git
synced 2026-04-07 10:17:51 +00:00
vendored changes
This commit is contained in:
parent
d091fff18b
commit
128f9a29f5
522 changed files with 29974 additions and 25705 deletions
|
|
@ -24,9 +24,9 @@ import (
|
|||
"k8s.io/apiserver/pkg/endpoints/handlers"
|
||||
"k8s.io/apiserver/pkg/endpoints/handlers/negotiation"
|
||||
"k8s.io/apiserver/pkg/endpoints/metrics"
|
||||
"k8s.io/apiserver/pkg/registry/rest"
|
||||
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/kubernetes-incubator/custom-metrics-apiserver/pkg/apiserver/registry/rest"
|
||||
)
|
||||
|
||||
type CMHandlers struct{}
|
||||
|
|
@ -47,7 +47,7 @@ func (ch *CMHandlers) registerResourceHandlers(a *MetricsAPIInstaller, ws *restf
|
|||
|
||||
kind := fqKindToRegister.Kind
|
||||
|
||||
lister := a.group.DynamicStorage.(rest.Lister)
|
||||
lister := a.group.DynamicStorage.(rest.ListerWithOptions)
|
||||
list := lister.NewList()
|
||||
listGVKs, _, err := a.group.Typer.ObjectKinds(list)
|
||||
if err != nil {
|
||||
|
|
@ -64,6 +64,20 @@ func (ch *CMHandlers) registerResourceHandlers(a *MetricsAPIInstaller, ws *restf
|
|||
return err
|
||||
}
|
||||
|
||||
listOptions, _, _ := lister.NewListOptions()
|
||||
listOptionsInternalKinds, _, err := a.group.Typer.ObjectKinds(listOptions)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
listOptionsInternalKind := listOptionsInternalKinds[0]
|
||||
versionedListExtraOptions, err := a.group.Creater.New(a.group.GroupVersion.WithKind(listOptionsInternalKind.Kind))
|
||||
if err != nil {
|
||||
versionedListExtraOptions, err = a.group.Creater.New(optionsExternalVersion.WithKind(listOptionsInternalKind.Kind))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
nameParam := ws.PathParameter("name", "name of the described resource").DataType("string")
|
||||
resourceParam := ws.PathParameter("resource", "the name of the resource").DataType("string")
|
||||
subresourceParam := ws.PathParameter("subresource", "the name of the subresource").DataType("string")
|
||||
|
|
@ -135,7 +149,7 @@ func (ch *CMHandlers) registerResourceHandlers(a *MetricsAPIInstaller, ws *restf
|
|||
reqScope.Subresource,
|
||||
"cluster",
|
||||
"custom-metrics",
|
||||
restfulListResource(lister, nil, reqScope, false, a.minRequestTimeout),
|
||||
restfulListResourceWithOptions(lister, reqScope),
|
||||
)
|
||||
|
||||
// install the root-scoped route
|
||||
|
|
@ -149,6 +163,9 @@ func (ch *CMHandlers) registerResourceHandlers(a *MetricsAPIInstaller, ws *restf
|
|||
if err := addObjectParams(ws, rootScopedRoute, versionedListOptions); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := addObjectParams(ws, rootScopedRoute, versionedListExtraOptions); err != nil {
|
||||
return err
|
||||
}
|
||||
addParams(rootScopedRoute, rootScopedParams)
|
||||
ws.Route(rootScopedRoute)
|
||||
|
||||
|
|
@ -168,7 +185,7 @@ func (ch *CMHandlers) registerResourceHandlers(a *MetricsAPIInstaller, ws *restf
|
|||
reqScope.Subresource,
|
||||
"resource",
|
||||
"custom-metrics",
|
||||
restfulListResource(lister, nil, reqScope, false, a.minRequestTimeout),
|
||||
restfulListResourceWithOptions(lister, reqScope),
|
||||
)
|
||||
|
||||
namespacedRoute := ws.GET(namespacedPath).To(namespacedHandler).
|
||||
|
|
@ -181,6 +198,9 @@ func (ch *CMHandlers) registerResourceHandlers(a *MetricsAPIInstaller, ws *restf
|
|||
if err := addObjectParams(ws, namespacedRoute, versionedListOptions); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := addObjectParams(ws, namespacedRoute, versionedListExtraOptions); err != nil {
|
||||
return err
|
||||
}
|
||||
addParams(namespacedRoute, namespacedParams)
|
||||
ws.Route(namespacedRoute)
|
||||
|
||||
|
|
@ -201,7 +221,7 @@ func (ch *CMHandlers) registerResourceHandlers(a *MetricsAPIInstaller, ws *restf
|
|||
reqScope.Subresource,
|
||||
"resource",
|
||||
"custom-metrics",
|
||||
restfulListResource(lister, nil, reqScope, false, a.minRequestTimeout),
|
||||
restfulListResourceWithOptions(lister, reqScope),
|
||||
)
|
||||
|
||||
namespaceSpecificRoute := ws.GET(namespaceSpecificPath).To(namespaceSpecificHandler).
|
||||
|
|
@ -214,6 +234,9 @@ func (ch *CMHandlers) registerResourceHandlers(a *MetricsAPIInstaller, ws *restf
|
|||
if err := addObjectParams(ws, namespaceSpecificRoute, versionedListOptions); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := addObjectParams(ws, namespaceSpecificRoute, versionedListExtraOptions); err != nil {
|
||||
return err
|
||||
}
|
||||
addParams(namespaceSpecificRoute, namespaceSpecificParams)
|
||||
ws.Route(namespaceSpecificRoute)
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,8 @@ import (
|
|||
"k8s.io/apiserver/pkg/registry/rest"
|
||||
|
||||
"github.com/emicklei/go-restful"
|
||||
cm_handlers "github.com/kubernetes-incubator/custom-metrics-apiserver/pkg/apiserver/endpoints/handlers"
|
||||
cm_rest "github.com/kubernetes-incubator/custom-metrics-apiserver/pkg/apiserver/registry/rest"
|
||||
)
|
||||
|
||||
// NB: the contents of this file should mostly be a subset of the functionality
|
||||
|
|
@ -283,6 +285,12 @@ func (n MetricsNaming) GenerateLink(requestInfo *request.RequestInfo, obj runtim
|
|||
|
||||
func restfulListResource(r rest.Lister, rw rest.Watcher, scope handlers.RequestScope, forceWatch bool, minRequestTimeout time.Duration) restful.RouteFunction {
|
||||
return func(req *restful.Request, res *restful.Response) {
|
||||
handlers.ListResource(r, rw, scope, forceWatch, minRequestTimeout)(res.ResponseWriter, req.Request)
|
||||
handlers.ListResource(r, rw, &scope, forceWatch, minRequestTimeout)(res.ResponseWriter, req.Request)
|
||||
}
|
||||
}
|
||||
|
||||
func restfulListResourceWithOptions(r cm_rest.ListerWithOptions, scope handlers.RequestScope) restful.RouteFunction {
|
||||
return func(req *restful.Request, res *restful.Response) {
|
||||
cm_handlers.ListResourceWithOptions(r, scope)(res.ResponseWriter, req.Request)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue