Skip to content

Commit

Permalink
Merge pull request #170 from zroubalik/1.29.4
Browse files Browse the repository at this point in the history
Bump K8s deps to 0.29.4
k8s-ci-robot authored Apr 24, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
2 parents 7bbbf88 + c46dc06 commit 4f8ac35
Showing 13 changed files with 492 additions and 178 deletions.
18 changes: 9 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
@@ -19,19 +19,19 @@ all: build-test-adapter
generated_openapis := core custommetrics externalmetrics
generated_files := $(generated_openapis:%=pkg/generated/openapi/%/zz_generated.openapi.go)

pkg/generated/openapi/core/zz_generated.openapi.go: INPUTS := k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/api/resource,k8s.io/apimachinery/pkg/version,k8s.io/api/core/v1
pkg/generated/openapi/custommetrics/zz_generated.openapi.go: INPUTS := k8s.io/metrics/pkg/apis/custom_metrics,k8s.io/metrics/pkg/apis/custom_metrics/v1beta1,k8s.io/metrics/pkg/apis/custom_metrics/v1beta2
pkg/generated/openapi/externalmetrics/zz_generated.openapi.go: INPUTS := k8s.io/metrics/pkg/apis/external_metrics,k8s.io/metrics/pkg/apis/external_metrics/v1beta1
pkg/generated/openapi/core/zz_generated.openapi.go: INPUTS := "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/version" "k8s.io/api/core/v1"
pkg/generated/openapi/custommetrics/zz_generated.openapi.go: INPUTS := "k8s.io/metrics/pkg/apis/custom_metrics" "k8s.io/metrics/pkg/apis/custom_metrics/v1beta1" "k8s.io/metrics/pkg/apis/custom_metrics/v1beta2"
pkg/generated/openapi/externalmetrics/zz_generated.openapi.go: INPUTS := "k8s.io/metrics/pkg/apis/external_metrics" "k8s.io/metrics/pkg/apis/external_metrics/v1beta1"

pkg/generated/openapi/%/zz_generated.openapi.go: go.mod go.sum
go install -mod=readonly k8s.io/kube-openapi/cmd/openapi-gen
$(GOPATH)/bin/openapi-gen --logtostderr \
-i $(INPUTS) \
-h ./hack/boilerplate.go.txt \
-p ./$(@D) \
-O zz_generated.openapi \
-o ./ \
-r /dev/null
--go-header-file ./hack/boilerplate.go.txt \
--output-package ./$(@D) \
--output-file-base zz_generated.openapi \
--output-base ./$(@D) \
-r /dev/null \
$(INPUTS)

.PHONY: update-generated
update-generated: $(generated_files)
36 changes: 18 additions & 18 deletions go.mod
Original file line number Diff line number Diff line change
@@ -2,21 +2,21 @@ module sigs.k8s.io/custom-metrics-apiserver

go 1.21

toolchain go1.21.5
toolchain go1.21.8

require (
github.com/emicklei/go-restful/v3 v3.11.0
github.com/google/addlicense v1.1.1
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.8.4
k8s.io/api v0.28.5
k8s.io/apimachinery v0.28.5
k8s.io/apiserver v0.28.5
k8s.io/client-go v0.28.5
k8s.io/component-base v0.28.5
github.com/stretchr/testify v1.9.0
k8s.io/api v0.29.4
k8s.io/apimachinery v0.29.4
k8s.io/apiserver v0.29.4
k8s.io/client-go v0.29.4
k8s.io/component-base v0.29.4
k8s.io/klog/v2 v2.110.1
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9
k8s.io/metrics v0.28.5
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
k8s.io/metrics v0.29.4
k8s.io/utils v0.0.0-20231127182322-b307cd553661
)

@@ -42,8 +42,8 @@ require (
github.com/go-openapi/swag v0.22.7 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/cel-go v0.16.1 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/cel-go v0.17.7 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
@@ -81,29 +81,29 @@ require (
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.26.0 // indirect
golang.org/x/crypto v0.17.0 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/exp v0.0.0-20231226003508-02704c960a9b // indirect
golang.org/x/mod v0.14.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/net v0.23.0 // indirect
golang.org/x/oauth2 v0.15.0 // indirect
golang.org/x/sync v0.5.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/term v0.15.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/term v0.18.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.16.0 // indirect
golang.org/x/tools v0.16.1 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20231212172506-995d672761c0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20231212172506-995d672761c0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 // indirect
google.golang.org/grpc v1.60.1 // indirect
google.golang.org/protobuf v1.32.0 // indirect
google.golang.org/protobuf v1.33.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 // indirect
k8s.io/kms v0.29.0 // indirect
k8s.io/kms v0.29.4 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
100 changes: 50 additions & 50 deletions go.sum

Large diffs are not rendered by default.

43 changes: 28 additions & 15 deletions pkg/cmd/builder.go
Original file line number Diff line number Diff line change
@@ -26,9 +26,7 @@ import (
apimeta "k8s.io/apimachinery/pkg/api/meta"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
openapinamer "k8s.io/apiserver/pkg/endpoints/openapi"
"k8s.io/apiserver/pkg/features"
genericapiserver "k8s.io/apiserver/pkg/server"
utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/discovery"
"k8s.io/client-go/dynamic"
"k8s.io/client-go/informers"
@@ -83,6 +81,9 @@ type AdapterBase struct {
// OpenAPIConfig
OpenAPIConfig *openapicommon.Config

// OpenAPIV3Config
OpenAPIV3Config *openapicommon.OpenAPIV3Config

// flagOnce controls initialization of the flags.
flagOnce sync.Once

@@ -245,27 +246,29 @@ func mergeOpenAPIDefinitions(definitionsGetters []openapicommon.GetOpenAPIDefini
}
}

func (b *AdapterBase) openAPIConfig(createConfig func(getDefinitions openapicommon.GetOpenAPIDefinitions, defNamer *openapinamer.DefinitionNamer) *openapicommon.Config) *openapicommon.Config {
func (b *AdapterBase) getAPIDefinitions() openapicommon.GetOpenAPIDefinitions {
definitionsGetters := []openapicommon.GetOpenAPIDefinitions{generatedcore.GetOpenAPIDefinitions}
if b.cmProvider != nil {
definitionsGetters = append(definitionsGetters, generatedcustommetrics.GetOpenAPIDefinitions)
}
if b.emProvider != nil {
definitionsGetters = append(definitionsGetters, generatedexternalmetrics.GetOpenAPIDefinitions)
}
getAPIDefinitions := mergeOpenAPIDefinitions(definitionsGetters)
openAPIConfig := createConfig(getAPIDefinitions, openapinamer.NewDefinitionNamer(apiserver.Scheme))
openAPIConfig.Info.Title = b.Name
openAPIConfig.Info.Version = "1.0.0"
return openAPIConfig
return mergeOpenAPIDefinitions(definitionsGetters)
}

func (b *AdapterBase) defaultOpenAPIConfig() *openapicommon.Config {
return b.openAPIConfig(genericapiserver.DefaultOpenAPIConfig)
openAPIConfig := genericapiserver.DefaultOpenAPIConfig(b.getAPIDefinitions(), openapinamer.NewDefinitionNamer(apiserver.Scheme))
openAPIConfig.Info.Title = b.Name
openAPIConfig.Info.Version = "1.0.0"
return openAPIConfig
}

func (b *AdapterBase) defaultOpenAPIV3Config() *openapicommon.Config {
return b.openAPIConfig(genericapiserver.DefaultOpenAPIV3Config)
func (b *AdapterBase) defaultOpenAPIV3Config() *openapicommon.OpenAPIV3Config {
openAPIConfig := genericapiserver.DefaultOpenAPIV3Config(b.getAPIDefinitions(), openapinamer.NewDefinitionNamer(apiserver.Scheme))
openAPIConfig.Info.Title = b.Name
openAPIConfig.Info.Version = "1.0.0"
return openAPIConfig
}

// Config fetches the configuration used to ultimately create the custom metrics adapter's
@@ -284,21 +287,31 @@ func (b *AdapterBase) Config() (*apiserver.Config, error) {
b.OpenAPIConfig = b.defaultOpenAPIConfig()
}
b.CustomMetricsAdapterServerOptions.OpenAPIConfig = b.OpenAPIConfig
if b.OpenAPIV3Config == nil && utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) {

if b.OpenAPIV3Config == nil {
b.OpenAPIV3Config = b.defaultOpenAPIV3Config()
}
b.CustomMetricsAdapterServerOptions.OpenAPIV3Config = b.OpenAPIV3Config

if errList := b.CustomMetricsAdapterServerOptions.Validate(); len(errList) > 0 {
return nil, utilerrors.NewAggregate(errList)
}

serverConfig := genericapiserver.NewConfig(apiserver.Codecs)
err := b.CustomMetricsAdapterServerOptions.ApplyTo(serverConfig)
// let's initialize informers if they're not already
_, err := b.Informers()
if err != nil {
return nil, err
}

serverConfig := genericapiserver.NewRecommendedConfig(apiserver.Codecs)
serverConfig.ClientConfig = b.clientConfig
serverConfig.SharedInformerFactory = b.informers
err = b.CustomMetricsAdapterServerOptions.ApplyTo(serverConfig)
if err != nil {
return nil, err
}
b.config = &apiserver.Config{
GenericConfig: serverConfig,
GenericConfig: &serverConfig.Config,
}
}

15 changes: 11 additions & 4 deletions pkg/cmd/options/options.go
Original file line number Diff line number Diff line change
@@ -25,6 +25,7 @@ import (

genericapiserver "k8s.io/apiserver/pkg/server"
genericoptions "k8s.io/apiserver/pkg/server/options"
"k8s.io/client-go/kubernetes"
openapicommon "k8s.io/kube-openapi/pkg/common"
)

@@ -40,7 +41,7 @@ type CustomMetricsAdapterServerOptions struct {
Features *genericoptions.FeatureOptions

OpenAPIConfig *openapicommon.Config
OpenAPIV3Config *openapicommon.Config
OpenAPIV3Config *openapicommon.OpenAPIV3Config
EnableMetrics bool
}

@@ -81,7 +82,7 @@ func (o *CustomMetricsAdapterServerOptions) AddFlags(fs *pflag.FlagSet) {
}

// ApplyTo applies CustomMetricsAdapterServerOptions to the server configuration.
func (o *CustomMetricsAdapterServerOptions) ApplyTo(serverConfig *genericapiserver.Config) error {
func (o *CustomMetricsAdapterServerOptions) ApplyTo(serverConfig *genericapiserver.RecommendedConfig) error {
// TODO have a "real" external address (have an AdvertiseAddress?)
if err := o.SecureServing.MaybeDefaultWithSelfSignedCerts("localhost", nil, []net.IP{net.ParseIP("127.0.0.1")}); err != nil {
return fmt.Errorf("error creating self-signed certificates: %v", err)
@@ -96,10 +97,16 @@ func (o *CustomMetricsAdapterServerOptions) ApplyTo(serverConfig *genericapiserv
if err := o.Authorization.ApplyTo(&serverConfig.Authorization); err != nil {
return err
}
if err := o.Audit.ApplyTo(serverConfig); err != nil {
if err := o.Audit.ApplyTo(&serverConfig.Config); err != nil {
return err
}
if err := o.Features.ApplyTo(serverConfig); err != nil {

clientset, err := kubernetes.NewForConfig(serverConfig.ClientConfig)
if err != nil {
return err
}

if err := o.Features.ApplyTo(&serverConfig.Config, clientset, serverConfig.SharedInformerFactory); err != nil {
return err
}

6 changes: 5 additions & 1 deletion pkg/cmd/options/options_test.go
Original file line number Diff line number Diff line change
@@ -24,6 +24,8 @@ import (

utilerrors "k8s.io/apimachinery/pkg/util/errors"
genericapiserver "k8s.io/apiserver/pkg/server"
"k8s.io/client-go/informers"
"k8s.io/client-go/rest"

"sigs.k8s.io/custom-metrics-apiserver/pkg/apiserver"
)
@@ -111,7 +113,9 @@ func TestApplyTo(t *testing.T) {
err := flagSet.Parse(c.args)
assert.NoErrorf(t, err, "Error while parsing flags")

serverConfig := genericapiserver.NewConfig(apiserver.Codecs)
serverConfig := genericapiserver.NewRecommendedConfig(apiserver.Codecs)
serverConfig.ClientConfig = &rest.Config{}
serverConfig.SharedInformerFactory = informers.NewSharedInformerFactory(nil, 0)
err = o.ApplyTo(serverConfig)

defer func() {
342 changes: 267 additions & 75 deletions pkg/generated/openapi/core/zz_generated.openapi.go

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions pkg/generated/openapi/custommetrics/zz_generated.openapi.go
2 changes: 0 additions & 2 deletions pkg/generated/openapi/externalmetrics/zz_generated.openapi.go
8 changes: 8 additions & 0 deletions test-adapter-deploy/testing-adapter.yaml
Original file line number Diff line number Diff line change
@@ -176,6 +176,14 @@ rules:
verbs:
- get
- list
- apiGroups:
- flowcontrol.apiserver.k8s.io
resources:
- prioritylevelconfigurations
- flowschemas
verbs:
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding

0 comments on commit 4f8ac35

Please sign in to comment.