Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Kubernetes API types available for import without the transitive dependencies of client-go #1959

Open
wallrj opened this issue Apr 23, 2021 · 1 comment

Comments

@wallrj
Copy link

wallrj commented Apr 23, 2021

It'd be useful if the generated Kubernetes API types were available in this or a separate repo.

They are currently in https://github.com/istio/client-go which imports
k8s.io/apimachinery v0.20.2 and k8s.io/client-go v0.20.2 and those transitive dependencies cause difficulties when your own project also imports different (maybe incompatible) versions of those libraries.

This would be similar to the separation between k8s.io/client-go and k8s.io/api

Describe alternatives you've considered

As a work around, we are considering copying the https://github.com/istio/client-go/tree/master/pkg/apis files into our project in https://github.com/jetstack/cert-manager/blob/eeedc1c9bb6d28d7dc44ed8a9d53bfd2672bb61c/pkg/issuer/acme/http/internal/istio/istio.go.

We might also try using the https://github.com/istio/tools/tree/master/cmd/kubetype-gen tool in our build scripts to automatically generate our own copies of the Kubernetes types.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience

Additional context

This stems from the following discussions:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants