apiserver-runtime
apiserver-runtime copied to clipboard
Stale k8s.io/apiserver dependency blocks downstream dependencies updates
Hi, I have been developing a custom k8s api server extension via API Aggregation Layer. My go.mod file has the following dependencies:
require (
k8s.io/apimachinery v0.23.1
k8s.io/apiserver v0.23.1
k8s.io/klog/v2 v2.30.0
sigs.k8s.io/apiserver-runtime v1.1.1
mycustommodule vX.Y.Z
)
but mycustommodule depends on https://pkg.go.dev/go.opentelemetry.io/otel/[email protected]. As a result I have the following errors after go mod tidy(just extract):
k8s.io/apiserver/pkg/server imports
k8s.io/apiserver/pkg/endpoints/filters imports
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp imports
go.opentelemetry.io/otel/semconv: module go.opentelemetry.io/otel@latest found (v1.27.0),
but does not contain package go.opentelemetry.io/otel/semconv
k8s.io/apiserver/pkg/server imports
k8s.io/apiserver/pkg/endpoints/filters imports
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp tested by
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.test imports
go.opentelemetry.io/otel/oteltest imports
go.opentelemetry.io/otel/metric/number: module go.opentelemetry.io/otel/metric@latest found (v1.27.0),
but does not contain package go.opentelemetry.io/otel/metric/number
Solution is to update k8s.io/apiserver up to the latest version https://pkg.go.dev/k8s.io/[email protected], but at the same time it will make me to update sigs.k8s.io/apiserver-runtime as well up to the latest commit from master. My final go.mod will look like this:
require (
k8s.io/apimachinery v0.30.1
k8s.io/apiserver v0.30.1
k8s.io/klog/v2 v2.120.1
sigs.k8s.io/apiserver-runtime v1.1.2-0.20231213224704-8af026f5e12a
mycustommodule vX.Y.Z
)
But at this case I will have a runtime error:
pkg/mod/sigs.k8s.io/[email protected]/internal/sample-apiserver/pkg/cmd/server/start.go:120:43: o.RecommendedOptions.Etcd.StorageConfig.Paging undefined (type storagebackend.Config has no field or method Paging) (exit status 1)
https://github.com/kubernetes-sigs/apiserver-runtime/blob/main/internal/sample-apiserver/pkg/cmd/server/start.go#L120
Could you please update sigs.k8s.io/apiserver-runtime's dependency up to k8s.io/[email protected]?