Skip to content

Commit 5e0bd8a

Browse files
author
bjrara
committed
Add openapi generation for the kube-aggregator
1 parent 5dbe3e3 commit 5e0bd8a

File tree

14 files changed

+2991
-8
lines changed

14 files changed

+2991
-8
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ zz_generated_*_test.go
111111

112112
# TODO(roycaihw): remove this when we stop committing the generated definition
113113
!staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
114+
!staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
114115
# low-change blueprint in code-generator to notice changes
115116
!staging/src/k8s.io/code-generator/_examples/apiserver/openapi/zz_generated.openapi.go
116117
# low-change sample-apiserver spec to be compilable when published
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
2+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,Versions
3+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroupList,Groups
4+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,Categories
5+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,ShortNames
6+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
7+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,ServerAddressByClientCIDRs
8+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,Versions
9+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,CreateOptions,DryRun
10+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,DeleteOptions,DryRun
11+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
12+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
13+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
14+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
15+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
16+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
17+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
18+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
19+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
20+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,ColumnDefinitions
21+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,Rows
22+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Cells
23+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Conditions
24+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,UpdateOptions,DryRun
25+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
26+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
27+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
28+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Duration,Duration
29+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Object
30+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Type
31+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,MicroTime,Time
32+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,StatusCause,Type
33+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Time,Time
34+
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentEncoding
35+
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentType
36+
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,Raw

api/api-rules/violation_exceptions.list

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -371,10 +371,6 @@ API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,Po
371371
API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,UserGroups
372372
API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,Users
373373
API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,Verbs
374-
API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1,APIServiceSpec,CABundle
375-
API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1,APIServiceStatus,Conditions
376-
API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1,APIServiceSpec,CABundle
377-
API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1,APIServiceStatus,Conditions
378374
API rule violation: list_type_missing,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,GCIgnoredResources
379375
API rule violation: list_type_missing,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,Controllers
380376
API rule violation: list_type_missing,k8s.io/kube-proxy/config/v1alpha1,KubeProxyConfiguration,NodePortAddresses

api/openapi-spec/swagger.json

Lines changed: 12 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/root/Makefile.generated_files

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -501,23 +501,26 @@ API_RULE_CHECK_FAILURE_MESSAGE = "ERROR: \n\t $(1) API rule check failed. Report
501501
OPENAPI_GEN := $(BIN_DIR)/openapi-gen
502502

503503
KUBE_KNOWN_VIOLATION_FILENAME := api/api-rules/violation_exceptions.list
504+
AGGREGATOR_KNOWN_VIOLATION_FILENAME := api/api-rules/aggregator_violation_exceptions.list
504505
APIEXTENSIONS_KNOWN_VIOLATION_FILENAME := api/api-rules/apiextensions_violation_exceptions.list
505506
CODEGEN_KNOWN_VIOLATION_FILENAME := api/api-rules/codegen_violation_exceptions.list
506507
SAMPLEAPISERVER_KNOWN_VIOLATION_FILENAME := api/api-rules/sample_apiserver_violation_exceptions.list
507508

508509
APIMACHINERY_DEFAULT_TAG_FILES := vendor/k8s.io/apimachinery/pkg/apis/meta/v1/% vendor/k8s.io/apimachinery/pkg/runtime/% vendor/k8s.io/apimachinery/pkg/version/%
509510

510511
KUBE_OPENAPI_TAG_FILES := $(filter-out vendor/k8s.io/code-generator/% vendor/k8s.io/sample-apiserver/%, $(ALL_K8S_TAG_FILES))
512+
AGGREGATOR_OPENAPI_TAG_FILES := $(filter $(APIMACHINERY_DEFAULT_TAG_FILES) vendor/k8s.io/kube-aggregator/%, $(ALL_K8S_TAG_FILES))
511513
APIEXTENSIONS_OPENAPI_TAG_FILES := $(filter $(APIMACHINERY_DEFAULT_TAG_FILES) vendor/k8s.io/apiextensions/% vendor/k8s.io/api/autoscaling/v1/%, $(ALL_K8S_TAG_FILES))
512514
CODEGEN_OPENAPI_TAG_FILES := $(filter $(APIMACHINERY_DEFAULT_TAG_FILES) vendor/k8s.io/code-generator/%, $(ALL_K8S_TAG_FILES))
513515
SAMPLEAPISERVER_OPENAPI_TAG_FILES := $(filter $(APIMACHINERY_DEFAULT_TAG_FILES) vendor/k8s.io/sample-apiserver/%, $(ALL_K8S_TAG_FILES))
514516

515517
KUBE_OPENAPI_OUTPUT_PKG := pkg/generated/openapi
518+
AGGREGATOR_OPENAPI_OUTPUT_PKG := staging/src/k8s.io/kube-aggregator/pkg/generated/openapi
516519
APIEXTENSIONS_OPENAPI_OUTPUT_PKG := staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi
517520
CODEGEN_OPENAPI_OUTPUT_PKG := staging/src/k8s.io/code-generator/_examples/apiserver/openapi
518521
SAMPLEAPISERVER_OPENAPI_OUTPUT_PKG := staging/src/k8s.io/sample-apiserver/pkg/generated/openapi
519522

520-
OPENAPI_TARGETS := KUBE APIEXTENSIONS CODEGEN SAMPLEAPISERVER
523+
OPENAPI_TARGETS := KUBE AGGREGATOR APIEXTENSIONS CODEGEN SAMPLEAPISERVER
521524

522525
# Find all the directories that request openapi generation.
523526
define OPENAPI_DIR_DEF
@@ -587,7 +590,7 @@ $(foreach prefix, $(OPENAPI_TARGETS), $(eval $(OPENAPI_TARGETS_DEF)))
587590

588591
# This rule is the user-friendly entrypoint for openapi generation.
589592
.PHONY: gen_openapi
590-
gen_openapi: $(OPENAPI_GEN) $(KUBE_OPENAPI_OUTFILE) $(APIEXTENSIONS_OPENAPI_OUTFILE) $(CODEGEN_OPENAPI_OUTFILE) $(SAMPLEAPISERVER_OPENAPI_OUTFILE)
593+
gen_openapi: $(OPENAPI_GEN) $(KUBE_OPENAPI_OUTFILE) $(AGGREGATOR_OPENAPI_OUTFILE) $(APIEXTENSIONS_OPENAPI_OUTFILE) $(CODEGEN_OPENAPI_OUTFILE) $(SAMPLEAPISERVER_OPENAPI_OUTFILE)
591594

592595
# How to build the generator tool. The deps for this are defined in
593596
# the $(GO_PKGDEPS_FILE), above.

hack/verify-generated-files-remake.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,7 @@ X="$(newer openapi "${STAMP}")"
304304
if [[ -z "${X}" || ${X} != "./pkg/generated/openapi/zz_generated.openapi.go
305305
./staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
306306
./staging/src/k8s.io/code-generator/_examples/apiserver/openapi/zz_generated.openapi.go
307+
./staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
307308
./staging/src/k8s.io/sample-apiserver/pkg/generated/openapi/zz_generated.openapi.go" ]]; then
308309
echo "Wrong generated openapi files changed after touching src file:"
309310
echo " ${X:-(none)}" | tr '\n' ' '
@@ -348,6 +349,7 @@ X="$(newer openapi "${STAMP}")"
348349
if [[ -z "${X}" || ${X} != "./pkg/generated/openapi/zz_generated.openapi.go
349350
./staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
350351
./staging/src/k8s.io/code-generator/_examples/apiserver/openapi/zz_generated.openapi.go
352+
./staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
351353
./staging/src/k8s.io/sample-apiserver/pkg/generated/openapi/zz_generated.openapi.go" ]]; then
352354
echo "Wrong generated openapi files changed after updating violation files:"
353355
echo " ${X:-(none)}" | tr '\n' ' '

staging/src/k8s.io/kube-aggregator/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ filegroup(
5353
"//staging/src/k8s.io/kube-aggregator/pkg/client/listers/apiregistration/v1beta1:all-srcs",
5454
"//staging/src/k8s.io/kube-aggregator/pkg/cmd/server:all-srcs",
5555
"//staging/src/k8s.io/kube-aggregator/pkg/controllers:all-srcs",
56+
"//staging/src/k8s.io/kube-aggregator/pkg/generated/openapi:all-srcs",
5657
"//staging/src/k8s.io/kube-aggregator/pkg/registry/apiservice:all-srcs",
5758
],
5859
tags = ["automanaged"],

staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/types.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ type APIServiceSpec struct {
6060
InsecureSkipTLSVerify bool
6161
// CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
6262
// If unspecified, system trust roots on the apiserver are used.
63+
// +listType=atomic
6364
// +optional
6465
CABundle []byte
6566

@@ -123,6 +124,8 @@ type APIServiceCondition struct {
123124
// APIServiceStatus contains derived information about an API server
124125
type APIServiceStatus struct {
125126
// Current service state of apiService.
127+
// +listType=map
128+
// +listMapKey=type
126129
Conditions []APIServiceCondition
127130
}
128131

staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1/generated.proto

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1/types.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ type APIServiceSpec struct {
6060
InsecureSkipTLSVerify bool `json:"insecureSkipTLSVerify,omitempty" protobuf:"varint,4,opt,name=insecureSkipTLSVerify"`
6161
// CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
6262
// If unspecified, system trust roots on the apiserver are used.
63+
// +listType=atomic
6364
// +optional
6465
CABundle []byte `json:"caBundle,omitempty" protobuf:"bytes,5,opt,name=caBundle"`
6566

@@ -132,6 +133,8 @@ type APIServiceStatus struct {
132133
// +optional
133134
// +patchMergeKey=type
134135
// +patchStrategy=merge
136+
// +listType=map
137+
// +listMapKey=type
135138
Conditions []APIServiceCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
136139
}
137140

0 commit comments

Comments
 (0)