aggregatedapiserver support openapi

Signed-off-by: carlory <baofa.fan@daocloud.io>
This commit is contained in:
carlory 2022-01-10 10:35:07 +08:00
parent 36176d6a85
commit 8f019269b0
4 changed files with 14792 additions and 0 deletions

View File

@ -10,6 +10,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"
@ -22,6 +23,7 @@ import (
clusterv1alpha1 "github.com/karmada-io/karmada/pkg/apis/cluster/v1alpha1"
clientset "github.com/karmada-io/karmada/pkg/generated/clientset/versioned"
informers "github.com/karmada-io/karmada/pkg/generated/informers/externalversions"
generatedopenapi "github.com/karmada-io/karmada/pkg/generated/openapi"
)
const defaultEtcdPathPrefix = "/registry"
@ -121,6 +123,8 @@ func (o *Options) Config() (*aggregatedapiserver.Config, error) {
}
serverConfig := genericapiserver.NewRecommendedConfig(aggregatedapiserver.Codecs)
serverConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(generatedopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(aggregatedapiserver.Scheme))
serverConfig.OpenAPIConfig.Info.Title = "Karmada"
if err := o.RecommendedOptions.ApplyTo(serverConfig); err != nil {
return nil, err
}

View File

@ -114,3 +114,13 @@ informer-gen \
--versioned-clientset-package=github.com/karmada-io/karmada/pkg/generated/clientset/versioned \
--listers-package=github.com/karmada-io/karmada/pkg/generated/listers \
--output-package=github.com/karmada-io/karmada/pkg/generated/informers
echo "Generating with openapi-gen"
GO111MODULE=on go install k8s.io/code-generator/cmd/openapi-gen
openapi-gen \
--go-header-file hack/boilerplate/boilerplate.go.txt \
--input-dirs "github.com/karmada-io/karmada/pkg/apis/cluster/v1alpha1" \
--input-dirs "k8s.io/api/core/v1,k8s.io/apimachinery/pkg/api/resource" \
--input-dirs "k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/runtime,k8s.io/apimachinery/pkg/version" \
--output-package "github.com/karmada-io/karmada/pkg/generated/openapi" \
-O zz_generated.openapi

View File

@ -1,4 +1,5 @@
// Package v1alpha1 is the v1alpha1 version of the API.
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/karmada-io/karmada/pkg/apis/cluster
// +groupName=cluster.karmada.io

File diff suppressed because it is too large Load Diff