sample-apiserver: add openapi spec

This commit is contained in:
Dr. Stefan Schimanski 2019-02-15 13:02:03 +01:00
parent a64ce0c4d4
commit 1bdcabd638
12 changed files with 56 additions and 1 deletions

View File

@ -0,0 +1,7 @@
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Duration,Duration
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Object
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Type
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,MicroTime,Time
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,StatusCause,Type
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Time,Time

View File

@ -102,6 +102,8 @@ tags_values_pkgs = {"openapi-gen": {
"staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1",
"staging/src/k8s.io/metrics/pkg/apis/metrics/v1beta1",
"staging/src/k8s.io/node-api/pkg/apis/node/v1alpha1",
"staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1",
"staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1beta1",
],
}}
@ -182,4 +184,6 @@ tags_pkgs_values = {"openapi-gen": {
"staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1": ["true"],
"staging/src/k8s.io/metrics/pkg/apis/metrics/v1beta1": ["true"],
"staging/src/k8s.io/node-api/pkg/apis/node/v1alpha1": ["true"],
"staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1": ["true"],
"staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1beta1": ["true"],
}}

View File

@ -142,6 +142,7 @@
- k8s.io/client-go
- k8s.io/code-generator
- k8s.io/component-base
- k8s.io/kube-openapi
- k8s.io/sample-apiserver
- k8s.io/klog

View File

@ -45,6 +45,7 @@ filegroup(
"//staging/src/k8s.io/sample-apiserver/pkg/generated/informers/externalversions:all-srcs",
"//staging/src/k8s.io/sample-apiserver/pkg/generated/listers/wardle/v1alpha1:all-srcs",
"//staging/src/k8s.io/sample-apiserver/pkg/generated/listers/wardle/v1beta1:all-srcs",
"//staging/src/k8s.io/sample-apiserver/pkg/generated/openapi:all-srcs",
"//staging/src/k8s.io/sample-apiserver/pkg/registry:all-srcs",
],
tags = ["automanaged"],

View File

@ -5,6 +5,7 @@ module k8s.io/sample-apiserver
go 1.12
require (
github.com/go-openapi/spec v0.19.2
github.com/google/gofuzz v1.0.0
github.com/spf13/cobra v0.0.4
k8s.io/apimachinery v0.0.0
@ -13,6 +14,7 @@ require (
k8s.io/code-generator v0.0.0
k8s.io/component-base v0.0.0
k8s.io/klog v0.3.1
k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30
)
replace (

View File

@ -31,7 +31,7 @@ bash "${CODEGEN_PKG}/generate-groups.sh" all \
--output-base "$(dirname "${BASH_SOURCE[0]}")/../../.." \
--go-header-file "${SCRIPT_ROOT}"/hack/boilerplate.go.txt
bash "${CODEGEN_PKG}/generate-internal-groups.sh" "deepcopy,defaulter,conversion" \
bash "${CODEGEN_PKG}/generate-internal-groups.sh" "deepcopy,defaulter,conversion,openapi" \
k8s.io/sample-apiserver/pkg/generated k8s.io/sample-apiserver/pkg/apis k8s.io/sample-apiserver/pkg/apis \
"wardle:v1alpha1,v1beta1" \
--output-base "$(dirname "${BASH_SOURCE[0]}")/../../.." \

View File

@ -14,6 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package
// +k8s:conversion-gen=k8s.io/sample-apiserver/pkg/apis/wardle
// +k8s:defaulter-gen=TypeMeta

View File

@ -14,6 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package
// +k8s:conversion-gen=k8s.io/sample-apiserver/pkg/apis/wardle
// +k8s:defaulter-gen=TypeMeta

View File

@ -15,6 +15,7 @@ go_library(
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/admission:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/endpoints/openapi:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/features:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
@ -25,6 +26,7 @@ go_library(
"//staging/src/k8s.io/sample-apiserver/pkg/apiserver:go_default_library",
"//staging/src/k8s.io/sample-apiserver/pkg/generated/clientset/versioned:go_default_library",
"//staging/src/k8s.io/sample-apiserver/pkg/generated/informers/externalversions:go_default_library",
"//staging/src/k8s.io/sample-apiserver/pkg/generated/openapi:go_default_library",
"//vendor/github.com/spf13/cobra:go_default_library",
],
)

View File

@ -27,6 +27,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/apiserver/pkg/admission"
"k8s.io/apiserver/pkg/endpoints/openapi"
"k8s.io/apiserver/pkg/features"
genericapiserver "k8s.io/apiserver/pkg/server"
genericoptions "k8s.io/apiserver/pkg/server/options"
@ -37,6 +38,7 @@ import (
"k8s.io/sample-apiserver/pkg/apiserver"
clientset "k8s.io/sample-apiserver/pkg/generated/clientset/versioned"
informers "k8s.io/sample-apiserver/pkg/generated/informers/externalversions"
sampleopenapi "k8s.io/sample-apiserver/pkg/generated/openapi"
)
const defaultEtcdPathPrefix = "/registry/wardle.kubernetes.io"
@ -132,6 +134,11 @@ func (o *WardleServerOptions) Config() (*apiserver.Config, error) {
}
serverConfig := genericapiserver.NewRecommendedConfig(apiserver.Codecs)
serverConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(sampleopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(apiserver.Scheme))
serverConfig.OpenAPIConfig.Info.Title = "Wardle"
serverConfig.OpenAPIConfig.Info.Version = "0.1"
if err := o.RecommendedOptions.ApplyTo(serverConfig); err != nil {
return nil, err
}

View File

@ -0,0 +1,28 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["zz_generated.openapi.go"],
importmap = "k8s.io/kubernetes/vendor/k8s.io/sample-apiserver/pkg/generated/openapi",
importpath = "k8s.io/sample-apiserver/pkg/generated/openapi",
visibility = ["//visibility:public"],
deps = [
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/github.com/go-openapi/spec:go_default_library",
"//vendor/k8s.io/kube-openapi/pkg/common:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

1
vendor/modules.txt vendored
View File

@ -1714,6 +1714,7 @@ k8s.io/sample-apiserver/pkg/generated/informers/externalversions/wardle/v1alpha1
k8s.io/sample-apiserver/pkg/generated/informers/externalversions/wardle/v1beta1
k8s.io/sample-apiserver/pkg/generated/listers/wardle/v1alpha1
k8s.io/sample-apiserver/pkg/generated/listers/wardle/v1beta1
k8s.io/sample-apiserver/pkg/generated/openapi
k8s.io/sample-apiserver/pkg/registry
k8s.io/sample-apiserver/pkg/registry/wardle/fischer
k8s.io/sample-apiserver/pkg/registry/wardle/flunder