Update custom-metrics-apiserver and metrics-server

This commit is contained in:
Johannes Würbach 2020-09-27 22:14:53 +02:00
parent 4c673534f2
commit b480e45a67
No known key found for this signature in database
GPG key ID: 74DB0F4D956CCCE3
915 changed files with 63694 additions and 106514 deletions

View file

@ -221,7 +221,10 @@ func addObjectParams(ws *restful.WebService, route *restful.RouteBuilder, obj in
if docable, ok := obj.(documentable); ok {
desc = docable.SwaggerDoc()[jsonName]
}
route.Param(ws.QueryParameter(jsonName, desc).DataType(typeToJSON(sf.Type.String())))
if route.ParameterNamed(jsonName) == nil {
route.Param(ws.QueryParameter(jsonName, desc).DataType(typeToJSON(sf.Type.String())))
}
}
}
}

View file

@ -29,6 +29,7 @@ import (
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
openapicommon "k8s.io/kube-openapi/pkg/common"
"github.com/kubernetes-incubator/custom-metrics-apiserver/pkg/apiserver"
"github.com/kubernetes-incubator/custom-metrics-apiserver/pkg/cmd/server"
@ -66,6 +67,9 @@ type AdapterBase struct {
// if not explicitly set.
FlagSet *pflag.FlagSet
// OpenAPIConfig
OpenAPIConfig *openapicommon.Config
// flagOnce controls initialization of the flags.
flagOnce sync.Once
@ -88,6 +92,7 @@ func (b *AdapterBase) InstallFlags() {
b.flagOnce.Do(func() {
if b.CustomMetricsAdapterServerOptions == nil {
b.CustomMetricsAdapterServerOptions = server.NewCustomMetricsAdapterServerOptions()
b.CustomMetricsAdapterServerOptions.OpenAPIConfig = b.OpenAPIConfig
}
b.SecureServing.AddFlags(b.FlagSet)

View file

@ -20,9 +20,11 @@ import (
"fmt"
"net"
"github.com/kubernetes-incubator/custom-metrics-apiserver/pkg/apiserver"
genericapiserver "k8s.io/apiserver/pkg/server"
genericoptions "k8s.io/apiserver/pkg/server/options"
openapicommon "k8s.io/kube-openapi/pkg/common"
"github.com/kubernetes-incubator/custom-metrics-apiserver/pkg/apiserver"
)
type CustomMetricsAdapterServerOptions struct {
@ -31,6 +33,9 @@ type CustomMetricsAdapterServerOptions struct {
Authentication *genericoptions.DelegatingAuthenticationOptions
Authorization *genericoptions.DelegatingAuthorizationOptions
Features *genericoptions.FeatureOptions
// OpenAPIConfig
OpenAPIConfig *openapicommon.Config
}
func NewCustomMetricsAdapterServerOptions() *CustomMetricsAdapterServerOptions {
@ -63,15 +68,17 @@ func (o CustomMetricsAdapterServerOptions) Config() (*apiserver.Config, error) {
return nil, err
}
if err := o.Authentication.ApplyTo(&serverConfig.Authentication, serverConfig.SecureServing, serverConfig.OpenAPIConfig); err != nil {
if err := o.Authentication.ApplyTo(&serverConfig.Authentication, serverConfig.SecureServing, nil); err != nil {
return nil, err
}
if err := o.Authorization.ApplyTo(&serverConfig.Authorization); err != nil {
return nil, err
}
// TODO: we can't currently serve swagger because we don't have a good way to dynamically update it
// serverConfig.SwaggerConfig = genericapiserver.DefaultSwaggerConfig()
// enable OpenAPI schemas
if o.OpenAPIConfig != nil {
serverConfig.OpenAPIConfig = o.OpenAPIConfig
}
config := &apiserver.Config{
GenericConfig: serverConfig,

View file

@ -17,6 +17,7 @@ limitations under the License.
package helpers
import (
"context"
"fmt"
apimeta "k8s.io/apimachinery/pkg/api/meta"
@ -83,7 +84,7 @@ func ListObjectNames(mapper apimeta.RESTMapper, client dynamic.Interface, namesp
resClient = client.Resource(res)
}
matchingObjectsRaw, err := resClient.List(metav1.ListOptions{LabelSelector: selector.String()})
matchingObjectsRaw, err := resClient.List(context.TODO(), metav1.ListOptions{LabelSelector: selector.String()})
if err != nil {
return nil, err
}

View file

@ -34,6 +34,7 @@ import (
// interfaces.
type REST struct {
emProvider provider.ExternalMetricsProvider
rest.TableConvertor
}
var _ rest.Storage = &REST{}