mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 09:52:49 +00:00
Add openapi generation for the kube-aggregator
This commit is contained in:
parent
5dbe3e308a
commit
5e0bd8a44c
1
.gitignore
vendored
1
.gitignore
vendored
@ -111,6 +111,7 @@ zz_generated_*_test.go
|
||||
|
||||
# TODO(roycaihw): remove this when we stop committing the generated definition
|
||||
!staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
|
||||
!staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
|
||||
# low-change blueprint in code-generator to notice changes
|
||||
!staging/src/k8s.io/code-generator/_examples/apiserver/openapi/zz_generated.openapi.go
|
||||
# low-change sample-apiserver spec to be compilable when published
|
||||
|
36
api/api-rules/aggregator_violation_exceptions.list
Normal file
36
api/api-rules/aggregator_violation_exceptions.list
Normal file
@ -0,0 +1,36 @@
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,Versions
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroupList,Groups
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,Categories
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,ShortNames
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,ServerAddressByClientCIDRs
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,Versions
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,CreateOptions,DryRun
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,DeleteOptions,DryRun
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,ColumnDefinitions
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,Rows
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Cells
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Conditions
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,UpdateOptions,DryRun
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
|
||||
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
|
||||
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
|
||||
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentEncoding
|
||||
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentType
|
||||
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
|
@ -371,10 +371,6 @@ API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,Po
|
||||
API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,UserGroups
|
||||
API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,Users
|
||||
API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,Verbs
|
||||
API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1,APIServiceSpec,CABundle
|
||||
API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1,APIServiceStatus,Conditions
|
||||
API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1,APIServiceSpec,CABundle
|
||||
API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1,APIServiceStatus,Conditions
|
||||
API rule violation: list_type_missing,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,GCIgnoredResources
|
||||
API rule violation: list_type_missing,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,Controllers
|
||||
API rule violation: list_type_missing,k8s.io/kube-proxy/config/v1alpha1,KubeProxyConfiguration,NodePortAddresses
|
||||
|
14
api/openapi-spec/swagger.json
generated
14
api/openapi-spec/swagger.json
generated
@ -17710,7 +17710,8 @@
|
||||
"caBundle": {
|
||||
"description": "CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate. If unspecified, system trust roots on the apiserver are used.",
|
||||
"format": "byte",
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"x-kubernetes-list-type": "atomic"
|
||||
},
|
||||
"group": {
|
||||
"description": "Group is the API group name this server hosts",
|
||||
@ -17754,6 +17755,10 @@
|
||||
"$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceCondition"
|
||||
},
|
||||
"type": "array",
|
||||
"x-kubernetes-list-map-keys": [
|
||||
"type"
|
||||
],
|
||||
"x-kubernetes-list-type": "map",
|
||||
"x-kubernetes-patch-merge-key": "type",
|
||||
"x-kubernetes-patch-strategy": "merge"
|
||||
}
|
||||
@ -17880,7 +17885,8 @@
|
||||
"caBundle": {
|
||||
"description": "CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate. If unspecified, system trust roots on the apiserver are used.",
|
||||
"format": "byte",
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"x-kubernetes-list-type": "atomic"
|
||||
},
|
||||
"group": {
|
||||
"description": "Group is the API group name this server hosts",
|
||||
@ -17924,6 +17930,10 @@
|
||||
"$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1beta1.APIServiceCondition"
|
||||
},
|
||||
"type": "array",
|
||||
"x-kubernetes-list-map-keys": [
|
||||
"type"
|
||||
],
|
||||
"x-kubernetes-list-type": "map",
|
||||
"x-kubernetes-patch-merge-key": "type",
|
||||
"x-kubernetes-patch-strategy": "merge"
|
||||
}
|
||||
|
@ -501,6 +501,7 @@ API_RULE_CHECK_FAILURE_MESSAGE = "ERROR: \n\t $(1) API rule check failed. Report
|
||||
OPENAPI_GEN := $(BIN_DIR)/openapi-gen
|
||||
|
||||
KUBE_KNOWN_VIOLATION_FILENAME := api/api-rules/violation_exceptions.list
|
||||
AGGREGATOR_KNOWN_VIOLATION_FILENAME := api/api-rules/aggregator_violation_exceptions.list
|
||||
APIEXTENSIONS_KNOWN_VIOLATION_FILENAME := api/api-rules/apiextensions_violation_exceptions.list
|
||||
CODEGEN_KNOWN_VIOLATION_FILENAME := api/api-rules/codegen_violation_exceptions.list
|
||||
SAMPLEAPISERVER_KNOWN_VIOLATION_FILENAME := api/api-rules/sample_apiserver_violation_exceptions.list
|
||||
@ -508,16 +509,18 @@ SAMPLEAPISERVER_KNOWN_VIOLATION_FILENAME := api/api-rules/sample_apiserver_viola
|
||||
APIMACHINERY_DEFAULT_TAG_FILES := vendor/k8s.io/apimachinery/pkg/apis/meta/v1/% vendor/k8s.io/apimachinery/pkg/runtime/% vendor/k8s.io/apimachinery/pkg/version/%
|
||||
|
||||
KUBE_OPENAPI_TAG_FILES := $(filter-out vendor/k8s.io/code-generator/% vendor/k8s.io/sample-apiserver/%, $(ALL_K8S_TAG_FILES))
|
||||
AGGREGATOR_OPENAPI_TAG_FILES := $(filter $(APIMACHINERY_DEFAULT_TAG_FILES) vendor/k8s.io/kube-aggregator/%, $(ALL_K8S_TAG_FILES))
|
||||
APIEXTENSIONS_OPENAPI_TAG_FILES := $(filter $(APIMACHINERY_DEFAULT_TAG_FILES) vendor/k8s.io/apiextensions/% vendor/k8s.io/api/autoscaling/v1/%, $(ALL_K8S_TAG_FILES))
|
||||
CODEGEN_OPENAPI_TAG_FILES := $(filter $(APIMACHINERY_DEFAULT_TAG_FILES) vendor/k8s.io/code-generator/%, $(ALL_K8S_TAG_FILES))
|
||||
SAMPLEAPISERVER_OPENAPI_TAG_FILES := $(filter $(APIMACHINERY_DEFAULT_TAG_FILES) vendor/k8s.io/sample-apiserver/%, $(ALL_K8S_TAG_FILES))
|
||||
|
||||
KUBE_OPENAPI_OUTPUT_PKG := pkg/generated/openapi
|
||||
AGGREGATOR_OPENAPI_OUTPUT_PKG := staging/src/k8s.io/kube-aggregator/pkg/generated/openapi
|
||||
APIEXTENSIONS_OPENAPI_OUTPUT_PKG := staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi
|
||||
CODEGEN_OPENAPI_OUTPUT_PKG := staging/src/k8s.io/code-generator/_examples/apiserver/openapi
|
||||
SAMPLEAPISERVER_OPENAPI_OUTPUT_PKG := staging/src/k8s.io/sample-apiserver/pkg/generated/openapi
|
||||
|
||||
OPENAPI_TARGETS := KUBE APIEXTENSIONS CODEGEN SAMPLEAPISERVER
|
||||
OPENAPI_TARGETS := KUBE AGGREGATOR APIEXTENSIONS CODEGEN SAMPLEAPISERVER
|
||||
|
||||
# Find all the directories that request openapi generation.
|
||||
define OPENAPI_DIR_DEF
|
||||
@ -587,7 +590,7 @@ $(foreach prefix, $(OPENAPI_TARGETS), $(eval $(OPENAPI_TARGETS_DEF)))
|
||||
|
||||
# This rule is the user-friendly entrypoint for openapi generation.
|
||||
.PHONY: gen_openapi
|
||||
gen_openapi: $(OPENAPI_GEN) $(KUBE_OPENAPI_OUTFILE) $(APIEXTENSIONS_OPENAPI_OUTFILE) $(CODEGEN_OPENAPI_OUTFILE) $(SAMPLEAPISERVER_OPENAPI_OUTFILE)
|
||||
gen_openapi: $(OPENAPI_GEN) $(KUBE_OPENAPI_OUTFILE) $(AGGREGATOR_OPENAPI_OUTFILE) $(APIEXTENSIONS_OPENAPI_OUTFILE) $(CODEGEN_OPENAPI_OUTFILE) $(SAMPLEAPISERVER_OPENAPI_OUTFILE)
|
||||
|
||||
# How to build the generator tool. The deps for this are defined in
|
||||
# the $(GO_PKGDEPS_FILE), above.
|
||||
|
@ -304,6 +304,7 @@ X="$(newer openapi "${STAMP}")"
|
||||
if [[ -z "${X}" || ${X} != "./pkg/generated/openapi/zz_generated.openapi.go
|
||||
./staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
|
||||
./staging/src/k8s.io/code-generator/_examples/apiserver/openapi/zz_generated.openapi.go
|
||||
./staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
|
||||
./staging/src/k8s.io/sample-apiserver/pkg/generated/openapi/zz_generated.openapi.go" ]]; then
|
||||
echo "Wrong generated openapi files changed after touching src file:"
|
||||
echo " ${X:-(none)}" | tr '\n' ' '
|
||||
@ -348,6 +349,7 @@ X="$(newer openapi "${STAMP}")"
|
||||
if [[ -z "${X}" || ${X} != "./pkg/generated/openapi/zz_generated.openapi.go
|
||||
./staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
|
||||
./staging/src/k8s.io/code-generator/_examples/apiserver/openapi/zz_generated.openapi.go
|
||||
./staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
|
||||
./staging/src/k8s.io/sample-apiserver/pkg/generated/openapi/zz_generated.openapi.go" ]]; then
|
||||
echo "Wrong generated openapi files changed after updating violation files:"
|
||||
echo " ${X:-(none)}" | tr '\n' ' '
|
||||
|
@ -53,6 +53,7 @@ filegroup(
|
||||
"//staging/src/k8s.io/kube-aggregator/pkg/client/listers/apiregistration/v1beta1:all-srcs",
|
||||
"//staging/src/k8s.io/kube-aggregator/pkg/cmd/server:all-srcs",
|
||||
"//staging/src/k8s.io/kube-aggregator/pkg/controllers:all-srcs",
|
||||
"//staging/src/k8s.io/kube-aggregator/pkg/generated/openapi:all-srcs",
|
||||
"//staging/src/k8s.io/kube-aggregator/pkg/registry/apiservice:all-srcs",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
|
@ -60,6 +60,7 @@ type APIServiceSpec struct {
|
||||
InsecureSkipTLSVerify bool
|
||||
// CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
|
||||
// If unspecified, system trust roots on the apiserver are used.
|
||||
// +listType=atomic
|
||||
// +optional
|
||||
CABundle []byte
|
||||
|
||||
@ -123,6 +124,8 @@ type APIServiceCondition struct {
|
||||
// APIServiceStatus contains derived information about an API server
|
||||
type APIServiceStatus struct {
|
||||
// Current service state of apiService.
|
||||
// +listType=map
|
||||
// +listMapKey=type
|
||||
Conditions []APIServiceCondition
|
||||
}
|
||||
|
||||
|
@ -91,6 +91,7 @@ message APIServiceSpec {
|
||||
|
||||
// CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
|
||||
// If unspecified, system trust roots on the apiserver are used.
|
||||
// +listType=atomic
|
||||
// +optional
|
||||
optional bytes caBundle = 5;
|
||||
|
||||
@ -121,6 +122,8 @@ message APIServiceStatus {
|
||||
// +optional
|
||||
// +patchMergeKey=type
|
||||
// +patchStrategy=merge
|
||||
// +listType=map
|
||||
// +listMapKey=type
|
||||
repeated APIServiceCondition conditions = 1;
|
||||
}
|
||||
|
||||
|
@ -60,6 +60,7 @@ type APIServiceSpec struct {
|
||||
InsecureSkipTLSVerify bool `json:"insecureSkipTLSVerify,omitempty" protobuf:"varint,4,opt,name=insecureSkipTLSVerify"`
|
||||
// CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
|
||||
// If unspecified, system trust roots on the apiserver are used.
|
||||
// +listType=atomic
|
||||
// +optional
|
||||
CABundle []byte `json:"caBundle,omitempty" protobuf:"bytes,5,opt,name=caBundle"`
|
||||
|
||||
@ -132,6 +133,8 @@ type APIServiceStatus struct {
|
||||
// +optional
|
||||
// +patchMergeKey=type
|
||||
// +patchStrategy=merge
|
||||
// +listType=map
|
||||
// +listMapKey=type
|
||||
Conditions []APIServiceCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
|
||||
}
|
||||
|
||||
|
@ -91,6 +91,7 @@ message APIServiceSpec {
|
||||
|
||||
// CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
|
||||
// If unspecified, system trust roots on the apiserver are used.
|
||||
// +listType=atomic
|
||||
// +optional
|
||||
optional bytes caBundle = 5;
|
||||
|
||||
@ -121,6 +122,8 @@ message APIServiceStatus {
|
||||
// +optional
|
||||
// +patchMergeKey=type
|
||||
// +patchStrategy=merge
|
||||
// +listType=map
|
||||
// +listMapKey=type
|
||||
repeated APIServiceCondition conditions = 1;
|
||||
}
|
||||
|
||||
|
@ -63,6 +63,7 @@ type APIServiceSpec struct {
|
||||
InsecureSkipTLSVerify bool `json:"insecureSkipTLSVerify,omitempty" protobuf:"varint,4,opt,name=insecureSkipTLSVerify"`
|
||||
// CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
|
||||
// If unspecified, system trust roots on the apiserver are used.
|
||||
// +listType=atomic
|
||||
// +optional
|
||||
CABundle []byte `json:"caBundle,omitempty" protobuf:"bytes,5,opt,name=caBundle"`
|
||||
|
||||
@ -135,6 +136,8 @@ type APIServiceStatus struct {
|
||||
// +optional
|
||||
// +patchMergeKey=type
|
||||
// +patchStrategy=merge
|
||||
// +listType=map
|
||||
// +listMapKey=type
|
||||
Conditions []APIServiceCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
|
||||
}
|
||||
|
||||
|
@ -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/kube-aggregator/pkg/generated/openapi",
|
||||
importpath = "k8s.io/kube-aggregator/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"],
|
||||
)
|
2891
staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
generated
Normal file
2891
staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
generated
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user