Kubevirt client-go

54 views
Skip to first unread message

Ian Bishop

unread,
Feb 9, 2026, 3:02:43 AMFeb 9
to kubevirt-dev
Hello everyone,

This is my first post to kubevirt-dev. I first raised the topic of client-go on kubevirt-dev Slack group 2 weeks ago but wasn't able to get a resolution there, so thought I'd raise here also.

The repo https://github.com/kubevirt/client-go is causing issues for newcomers for some years now. For example:

Essentially client-go is unusable as-is, at least for someone approaching it without context of how Kubevirt internals work. It seems some delicate pinning of dependency versions is required before it can be used.

What would I like to see done?
  • if the repo is not intended for general use, then it should include a warning message in the README.
  • fix the example 'listVMs' - it doesn't compile using the supplied go.mod + go.sum. https://github.com/kubevirt/client-go/tree/main/examples/listvms
  • disable Github Issues on the repo (issues are being raised, but going rotten without any response from a Kubevirt maintainer). Direct people to the main Kubevirt repo for issues.
I would be willing to join the next Kubevirt community call to raise this issue, if that would help (although it is 1am in my time zone!).

Regards,
Ian





Alexander Wels

unread,
Feb 9, 2026, 8:57:48 AMFeb 9
to Ian Bishop, kubevirt-dev
Ian,

You are correct, the kubevirt/client-go has never been intended for use outside of the kubevirt/kubevirt repo due to the goland modules versioning issue. You can however generate a client based on the API. This will not have all of the advanced features the kubevirt client-go has, but it will allow you to use whatever version of the libraries your project is using. There are some examples of that in both the kubevirt/kubevirt-csi and kubevirt/kubevirt-migration-controller kubevirt subprojects. Both interact with the kubevirt API using a generated client.

I agree we should probably mention that this client is for use outside of the kubevirt/kubevirt repo

Alexander

--
You received this message because you are subscribed to the Google Groups "kubevirt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubevirt-dev...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kubevirt-dev/7019fcec-ea1a-4a1b-b655-e994cfadff17n%40googlegroups.com.

Luboslav Pivarc

unread,
Feb 10, 2026, 3:40:15 AMFeb 10
to Alexander Wels, Federico Fossemo, Ian Bishop, kubevirt-dev
Hi Ian,

I know @Federico Fossemo wanted to make this less painful but I am afraid he might not have time to attend to it in short term... maybe someone is willing to contribute and we can give the guidance?

-Luboslav

Federico Fossemo

unread,
Feb 18, 2026, 8:50:29 AM (10 days ago) Feb 18
to Luboslav Pivarc, Alexander Wels, Ian Bishop, kubevirt-dev
Hey all,

yes, I was working on that and as Lubo mentioned, it was progressing slowly.
One step I was working on was the decoupling of k8s client from kubevirt client (POC: https://github.com/kubevirt/kubevirt/pull/16030).
If someone would like to contribute, I will be more than happy to help with guidance:
A real example is performed with the virt-operator pkg: https://github.com/kubevirt/kubevirt/pull/16106 (yes, I need to rebase it :))

Thanks,

-FF

Vaivaswat Dubey

unread,
Feb 23, 2026, 3:15:14 AM (5 days ago) Feb 23
to kubevirt-dev

Hi Federico, Luboslav, and Ian,

I'm Vaivaswat, a penultimate year student pursuing bacheolars in technology. I've been following the KubeVirt project for a few weeks now and have experience with Go. I'm very interested in helping with the client-go decoupling effort.

I've looked at Federico's POC (#16030) and the work on the virt-operator (#16106). Since Federico mentioned he might not have time in the short term, I would love to pick up where he left off with your guidance. Should I start by trying to rebase #16106, or is there a smaller part of the decoupling I should tackle first?

Regards,
Vaivaswat

Felix Matouschek

unread,
Feb 23, 2026, 5:45:43 AM (5 days ago) Feb 23
to Vaivaswat Dubey, kubevirt-dev
Hi Vaivaswat,

rebasing #16106 would be a good start.

Of course you could also pick another path from #16030, e.g. `pkg/instancetype`.

Thanks,
Felix

Federico Fossemo

unread,
Feb 23, 2026, 6:29:13 AM (5 days ago) Feb 23
to Felix Matouschek, Vaivaswat Dubey, kubevirt-dev
Hey,

I've created https://github.com/kubevirt/kubevirt/issues/16916 as a tracking issue.
I think I can rebase the virt-operator PR by myself so that it can be taken as an example.

Thanks,

-FF


Reply all
Reply to author
Forward
0 new messages