From af9424d2c949590282bd44c8322a7aa973857558 Mon Sep 17 00:00:00 2001 From: Gautier Delorme Date: Tue, 20 Apr 2021 17:48:33 +0200 Subject: [PATCH] remove go-openapi/spec Signed-off-by: Gautier Delorme Kubernetes-commit: 34b0fcef5fc47e3fcddf7f6ca1b3e6176b2a5323 --- go.mod | 1 - go.sum | 5 ----- .../authenticatorfactory/delegating.go | 3 +-- pkg/endpoints/openapi/openapi.go | 4 ++-- pkg/endpoints/openapi/openapi_test.go | 3 +-- pkg/server/config.go | 2 +- pkg/server/genericapiserver.go | 2 +- pkg/server/genericapiserver_test.go | 14 +++++++------- pkg/server/routes/openapi.go | 2 +- pkg/util/openapi/proto.go | 2 +- pkg/util/openapi/proto_test.go | 3 +-- 11 files changed, 16 insertions(+), 25 deletions(-) diff --git a/go.mod b/go.mod index 7065fcfea..216ce0f38 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,6 @@ require ( github.com/dustin/go-humanize v1.0.0 // indirect github.com/emicklei/go-restful v2.9.5+incompatible github.com/evanphx/json-patch v4.9.0+incompatible - github.com/go-openapi/spec v0.19.5 github.com/gogo/protobuf v1.3.2 github.com/google/go-cmp v0.5.2 github.com/google/gofuzz v1.1.0 diff --git a/go.sum b/go.sum index 6ad34f8b7..6272ccbe8 100644 --- a/go.sum +++ b/go.sum @@ -105,15 +105,10 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc= github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/spec v0.19.5 h1:Xm0Ao53uqnk9QE/LlYV5DEU09UAgpliA85QoT9LzqPw= -github.com/go-openapi/spec v0.19.5/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= diff --git a/pkg/authentication/authenticatorfactory/delegating.go b/pkg/authentication/authenticatorfactory/delegating.go index 74117740d..a386deb3e 100644 --- a/pkg/authentication/authenticatorfactory/delegating.go +++ b/pkg/authentication/authenticatorfactory/delegating.go @@ -20,8 +20,6 @@ import ( "errors" "time" - "github.com/go-openapi/spec" - "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authentication/group" @@ -35,6 +33,7 @@ import ( "k8s.io/apiserver/pkg/server/dynamiccertificates" webhooktoken "k8s.io/apiserver/plugin/pkg/authenticator/token/webhook" authenticationclient "k8s.io/client-go/kubernetes/typed/authentication/v1" + "k8s.io/kube-openapi/pkg/validation/spec" ) // DelegatingAuthenticatorConfig is the minimal configuration needed to create an authenticator diff --git a/pkg/endpoints/openapi/openapi.go b/pkg/endpoints/openapi/openapi.go index e3bd028bb..b1f53df0d 100644 --- a/pkg/endpoints/openapi/openapi.go +++ b/pkg/endpoints/openapi/openapi.go @@ -25,12 +25,12 @@ import ( "unicode" restful "github.com/emicklei/go-restful" - "github.com/go-openapi/spec" - "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kube-openapi/pkg/util" + "k8s.io/kube-openapi/pkg/validation/spec" ) var verbs = util.NewTrie([]string{"get", "log", "read", "replace", "patch", "delete", "deletecollection", "watch", "connect", "proxy", "list", "create", "patch"}) diff --git a/pkg/endpoints/openapi/openapi_test.go b/pkg/endpoints/openapi/openapi_test.go index 0ebfedeae..837506a23 100644 --- a/pkg/endpoints/openapi/openapi_test.go +++ b/pkg/endpoints/openapi/openapi_test.go @@ -21,10 +21,9 @@ import ( "strings" "testing" - "github.com/go-openapi/spec" - "k8s.io/apimachinery/pkg/runtime" openapitesting "k8s.io/apiserver/pkg/endpoints/openapi/testing" + "k8s.io/kube-openapi/pkg/validation/spec" ) func assertEqual(t *testing.T, expected, actual interface{}) { diff --git a/pkg/server/config.go b/pkg/server/config.go index 5536e8cac..a02958e29 100644 --- a/pkg/server/config.go +++ b/pkg/server/config.go @@ -29,7 +29,6 @@ import ( "time" jsonpatch "github.com/evanphx/json-patch" - "github.com/go-openapi/spec" "github.com/google/uuid" "k8s.io/apimachinery/pkg/runtime" @@ -70,6 +69,7 @@ import ( "k8s.io/component-base/logs" "k8s.io/klog/v2" openapicommon "k8s.io/kube-openapi/pkg/common" + "k8s.io/kube-openapi/pkg/validation/spec" utilsnet "k8s.io/utils/net" // install apis diff --git a/pkg/server/genericapiserver.go b/pkg/server/genericapiserver.go index 905a7c118..e780b8e4d 100644 --- a/pkg/server/genericapiserver.go +++ b/pkg/server/genericapiserver.go @@ -25,7 +25,6 @@ import ( "time" systemd "github.com/coreos/go-systemd/daemon" - "github.com/go-openapi/spec" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -55,6 +54,7 @@ import ( "k8s.io/kube-openapi/pkg/handler" openapiutil "k8s.io/kube-openapi/pkg/util" openapiproto "k8s.io/kube-openapi/pkg/util/proto" + "k8s.io/kube-openapi/pkg/validation/spec" ) // Info about an API group. diff --git a/pkg/server/genericapiserver_test.go b/pkg/server/genericapiserver_test.go index ab0952e08..3990358e4 100644 --- a/pkg/server/genericapiserver_test.go +++ b/pkg/server/genericapiserver_test.go @@ -31,7 +31,6 @@ import ( "testing" "time" - openapi "github.com/go-openapi/spec" "github.com/stretchr/testify/assert" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -54,6 +53,7 @@ import ( "k8s.io/client-go/kubernetes/fake" restclient "k8s.io/client-go/rest" kubeopenapi "k8s.io/kube-openapi/pkg/common" + "k8s.io/kube-openapi/pkg/validation/spec" ) const ( @@ -83,13 +83,13 @@ func init() { func buildTestOpenAPIDefinition() kubeopenapi.OpenAPIDefinition { return kubeopenapi.OpenAPIDefinition{ - Schema: openapi.Schema{ - SchemaProps: openapi.SchemaProps{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ Description: "Description", - Properties: map[string]openapi.Schema{}, + Properties: map[string]spec.Schema{}, }, - VendorExtensible: openapi.VendorExtensible{ - Extensions: openapi.Extensions{ + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ "x-kubernetes-group-version-kind": []interface{}{ map[string]interface{}{ "group": "", @@ -372,7 +372,7 @@ func TestUpdateOpenAPISpec(t *testing.T) { // verify we are able to update the served spec using the exposed service newSpec := []byte(`{"swagger":"2.0","info":{"title":"Test Updated Generic API Server Swagger","version":"v0.1.0"},"paths":null}`) - swagger := new(openapi.Swagger) + swagger := new(spec.Swagger) err = json.Unmarshal(newSpec, swagger) assert.NoError(err) diff --git a/pkg/server/routes/openapi.go b/pkg/server/routes/openapi.go index c9fb43b95..4be4d03fc 100644 --- a/pkg/server/routes/openapi.go +++ b/pkg/server/routes/openapi.go @@ -18,13 +18,13 @@ package routes import ( restful "github.com/emicklei/go-restful" - "github.com/go-openapi/spec" "k8s.io/klog/v2" "k8s.io/apiserver/pkg/server/mux" "k8s.io/kube-openapi/pkg/builder" "k8s.io/kube-openapi/pkg/common" "k8s.io/kube-openapi/pkg/handler" + "k8s.io/kube-openapi/pkg/validation/spec" ) // OpenAPI installs spec endpoints for each web service. diff --git a/pkg/util/openapi/proto.go b/pkg/util/openapi/proto.go index e724e7978..49c76fa8b 100644 --- a/pkg/util/openapi/proto.go +++ b/pkg/util/openapi/proto.go @@ -19,10 +19,10 @@ package openapi import ( "encoding/json" - "github.com/go-openapi/spec" openapi_v2 "github.com/googleapis/gnostic/openapiv2" "k8s.io/kube-openapi/pkg/util/proto" + "k8s.io/kube-openapi/pkg/validation/spec" ) // ToProtoModels builds the proto formatted models from OpenAPI spec diff --git a/pkg/util/openapi/proto_test.go b/pkg/util/openapi/proto_test.go index 4fbd63f18..0a4570829 100644 --- a/pkg/util/openapi/proto_test.go +++ b/pkg/util/openapi/proto_test.go @@ -20,9 +20,8 @@ import ( "reflect" "testing" - "github.com/go-openapi/spec" - "k8s.io/kube-openapi/pkg/util/proto" + "k8s.io/kube-openapi/pkg/validation/spec" ) // TestOpenAPIDefinitionsToProtoSchema tests the openapi parser