kubevela-core-api
kubevela-core-api copied to clipboard
K8S apiserver dependency causes dependency hell
This package directly depends on the k8s.io/apiserver package, thus, depends on enormous amount of the k8s itself.
This makes this package extremely difficult to use for us(
For instance, we have conflict in opentelemetry dependency because k8s depends on outdated version of it.
Unfortunately, haven't found a workaround yet (expect for using unstructured with dynamic client instead of this lib)
... imports
github.com/oam-dev/kubevela-core-api/apis/core.oam.dev/v1beta1 imports
github.com/oam-dev/kubevela-core-api/apis/types imports
github.com/oam-dev/cluster-gateway/pkg/config imports
k8s.io/apiserver/pkg/server imports
k8s.io/apiserver/pkg/endpoints/filters imports
k8s.io/component-base/tracing imports
go.opentelemetry.io/otel/exporters/otlp/otlpgrpc imports
go.opentelemetry.io/otel/exporters/otlp/internal/transform tested by
go.opentelemetry.io/otel/exporters/otlp/internal/transform.test imports
go.opentelemetry.io/otel/sdk/metric/aggregator/minmaxsumcount: module go.opentelemetry.io/otel/sdk/metric@latest found (v0.37.0), but does not contain package go.opentelemetry.io/otel/sdk/metric/aggregator/minmaxsumcount
Have you tried using replace like:
https://github.com/kubevela/kubevela-core-api/blob/main/go.mod#L30
https://github.com/kubevela/kubevela/blob/master/go.mod#L327-L333
Yeah, but I'm getting other errors as well as linting error forbidding replaces. I can try again if you're interested in the error messages. But client that depends on the entire controller runtime doesn't seem right anyway. There must be a better way