Ecosyste.ms: Repos
An open API service providing repository metadata for many open source software ecosystems.
Package Usage: go: libvirt.org/libvirt-go
Package libvirt provides a Go binding to the libvirt C library
Through conditional compilation it supports libvirt versions 1.2.0 onwards.
This is done automatically, with no requirement to use magic Go build tags.
If an API was not available in the particular version of libvirt this package
was built against, an error will be returned with a code of ERR_NO_SUPPORT.
This is the same code seen if using a new libvirt library to talk to an old
libvirtd lacking the API, or if a hypervisor does not support a given feature,
so an application can easily handle all scenarios together.
The Go binding is a fairly direct mapping of the underling C API which seeks
to maximise the use of the Go type system to allow strong compiler type
checking. The following rules describe how APIs/constants are mapped from C
to Go
For structs, the 'vir' prefix and 'Ptr' suffix are removed from the name.
e.g. virConnectPtr in C becomes 'Connect' in Go.
For structs which are reference counted at the C level, it is neccessary to
explicitly release the reference at the Go level. e.g. if a Go method returns
a '* Domain' struct, it is neccessary to call 'Free' on this when no longer
required. The use of 'defer' is recommended for this purpose
If multiple goroutines are using the same libvirt object struct, it may
not be possible to determine which goroutine should call 'Free'. In such
scenarios each new goroutine should call 'Ref' to obtain a private reference
on the underlying C struct. All goroutines can call 'Free' unconditionally
with the final one causing the release of the C object.
For methods, the 'vir' prefix and object name prefix are remove from the name.
The C functions become methods with an object receiver. e.g.
'virDomainScreenshot' in C becomes 'Screenshot' with a 'Domain *' receiver.
For methods which accept a 'unsigned int flags' parameter in the C level,
the corresponding Go parameter will be a named type corresponding to the
C enum that defines the valid flags. For example, the ListAllDomains
method takes a 'flags ConnectListAllDomainsFlags' parameter. If there are
not currently any flags defined for a method in the C API, then the Go
method parameter will be declared as a "flags uint32". Callers should always
pass the literal integer value 0 for such parameters, without forcing any
specific type. This will allow compatibility with future updates to the
libvirt-go binding which may replace the 'uint32' type with a enum type
at a later date.
For enums, the VIR_ prefix is removed from the name. The enums get a dedicated
type defined in Go. e.g. the VIR_NODE_SUSPEND_TARGET_MEM enum constant in C,
becomes NODE_SUSPEND_TARGET_MEM with a type of NodeSuspendTarget.
Methods accepting or returning virTypedParameter arrays in C will map the
parameters into a Go struct. The struct will contain two fields for each
possible parameter. One boolean field with a suffix of 'Set' indicates whether
the parameter has a value set, and the other custom typed field provides the
parameter value. This makes it possible to distinguish a parameter with a
default value of '0' from a parameter which is 0 because it isn't supported by
the hypervisor. If the C API defines additional typed parameters, then the
corresponding Go struct will be extended to have further fields.
e.g. the GetMemoryStats method in Go (which is backed by
virNodeGetMemoryStats in C) will return a NodeMemoryStats struct containing
the typed parameter values.
Every method that can fail will include an 'error' object as the last return
value. This will be an instance of the Error struct if an error occurred. To
check for specific libvirt error codes, it is neccessary to cast the error.
To connect to libvirt
43 versions
Latest release: almost 3 years ago
12 dependent packages
View more package details: https://packages.ecosyste.ms/registries/proxy.golang.org/packages/libvirt.org/libvirt-go
View more repository details: https://repos.ecosyste.ms/hosts/GitLab.com/repositories/libvirt%2Flibvirt-go
Dependent Repos 40
alicefr/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 255 MB - Last synced: 24 days ago - Pushed: 24 days ago
xpivarc/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 262 MB - Last synced: 2 months ago - Pushed: 2 months ago
harvester/network-controller-harvester
harvester network controller- v6.5.0+incompatible go.sum
Size: 35.1 MB - Last synced: 12 days ago - Pushed: 19 days ago
belgaied2/harvester-cli
Harvester CLI is a project that aims to provide an opinionated CLI tool to easily manage VMs on Harvester, the promising HCI solution created by Rancher Labs/SUSE- v6.5.0+incompatible go.sum
Size: 706 KB - Last synced: 12 days ago - Pushed: about 1 year ago
rancher/support-bundle-kit
A toolkit to generate and analyze the support bundles for Kubernetes and Kubernetes-native applications- v6.5.0+incompatible go.sum
Size: 48 MB - Last synced: 13 days ago - Pushed: 13 days ago
harvester/docker-machine-driver-harvester
- v6.5.0+incompatible go.sum
Size: 5.15 MB - Last synced: about 1 month ago - Pushed: about 1 month ago
harvester/cloud-provider-harvester
Harvester Cloud Provider- v6.5.0+incompatible go.sum
Size: 18.6 MB - Last synced: about 1 month ago - Pushed: about 1 month ago
eikendev/hackenv
Manage and access your Kali Linux or Parrot Security VM from the terminal (SSH support + file sharing, especially convenient during CTFs, Hack The Box, etc.) :rocket::wrench:- v7.4.0+incompatible go.mod
- v7.4.0+incompatible go.sum
Size: 226 KB - Last synced: 3 months ago - Pushed: 5 months ago
it-novum/openitcockpit-agent-go
Cross-Platform Monitoring Agent for openITCOCKPIT written in Go- v7.4.0+incompatible go.mod
- v7.4.0+incompatible go.sum
Size: 5.01 MB - Last synced: 25 days ago - Pushed: 2 months ago
mattmattox/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 42.7 MB - Last synced: about 1 year ago - Pushed: about 1 year ago
harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 62.4 MB - Last synced: 28 days ago - Pushed: 29 days ago
dweomer/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 42.2 MB - Last synced: 26 days ago - Pushed: 27 days ago
harvester/go-harvester
a Go client for harvester/harvester- v6.5.0+incompatible go.sum
Size: 494 KB - Last synced: 9 months ago - Pushed: almost 3 years ago
k8snetworkplumbingwg/kubemacpool
- v6.5.0+incompatible go.sum
Size: 166 MB - Last synced: 26 days ago - Pushed: 27 days ago
YoungjuWang/virt-go
Simple manager for managing libvirt VMs- v7.4.0+incompatible go.mod
- v7.4.0+incompatible go.sum
Size: 66.1 MB - Last synced: 7 months ago - Pushed: over 2 years ago
Lack30/gvirt
kvm api tool with golang- v7.0.0+incompatible go.mod
- v7.0.0+incompatible go.sum
Size: 949 KB - Last synced: about 2 months ago - Pushed: about 1 year ago
nyanco01/virt-tui
- v7.4.0+incompatible go.mod
- v7.4.0+incompatible go.sum
Size: 9.21 MB - Last synced: about 1 month ago - Pushed: about 1 month ago
HuntDownUPC/HuntDown
- v7.4.0+incompatible src/instantiation/go.mod
- v7.4.0+incompatible src/instantiation/go.sum
Last synced: 11 months ago
joshmeranda/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 38 MB - Last synced: 24 days ago - Pushed: over 1 year ago
hickersonj/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 193 MB - Last synced: 3 months ago - Pushed: 3 months ago
ulrich.giraud/cluster-api-provider-libvirt
- v7.4.0+incompatible go.mod
- v7.4.0+incompatible go.sum
Last synced: over 1 year ago
slrz/runtopo
The runtopo Network Simulation Tool- v7.0.0+incompatible go.mod
- v7.0.0+incompatible go.sum
Size: 185 KB - Last synced: 7 months ago - Pushed: almost 3 years ago
abologna/libvirt-go-example
- v7.3.0+incompatible go.mod
- v7.3.0+incompatible go.sum
Last synced: about 1 year ago
libvirt/libvirt-console-proxy
Console proxy service for tunnelling VNC/SPICE over websockets- v6.0.0+incompatible go.mod
- v6.0.0+incompatible go.sum
Last synced: over 1 year ago
AlonaKaplan/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization Operator with API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 249 MB - Last synced: 16 days ago - Pushed: 17 days ago
futuretea/harvester-inventory
the ansible dynamic inventory to pull hosts from Harvester.- v6.5.0+incompatible go.sum
Size: 4.98 MB - Last synced: 9 months ago - Pushed: about 1 year ago
arnongilboa/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 247 MB - Last synced: about 1 year ago - Pushed: over 1 year ago
rhrazdil/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 242 MB - Last synced: about 1 year ago - Pushed: over 1 year ago
sradco/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 250 MB - Last synced: 12 days ago - Pushed: 12 days ago
davidvossel/kubevirt Fork of kubevirt/kubevirt
KubeVirt is a virtual machine management add-on for Kubernetes.- v7.3.0+incompatible go.mod
- v7.3.0+incompatible go.sum
Size: 252 MB - Last synced: 19 days ago - Pushed: 19 days ago
chrisho/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 49.4 MB - Last synced: 5 months ago - Pushed: 5 months ago
ShellyKa13/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 253 MB - Last synced: 6 days ago - Pushed: 6 days ago
Vicente-Cheng/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 61.7 MB - Last synced: 29 days ago - Pushed: 30 days ago
pengjiang80/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 31.8 MB - Last synced: 7 months ago - Pushed: 7 months ago
vasiliy-ul/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 250 MB - Last synced: about 1 month ago - Pushed: about 1 month ago
bk201/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 55.9 MB - Last synced: about 2 months ago - Pushed: about 2 months ago
guangbochen/harvester Fork of harvester/harvester
- v6.5.0+incompatible go.sum
Size: 54.8 MB - Last synced: 26 days ago - Pushed: 8 months ago
FrankYang0529/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 62.8 MB - Last synced: 29 days ago - Pushed: 30 days ago
chrisho/cloud-provider-harvester Fork of harvester/cloud-provider-harvester
Harvester Cloud Provider- v6.5.0+incompatible go.sum
Size: 18.6 MB - Last synced: 2 months ago - Pushed: 2 months ago
tlehman/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 47.8 MB - Last synced: about 1 year ago - Pushed: about 1 year ago
acardace/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 256 MB - Last synced: 1 day ago - Pushed: 1 day ago
irishgordo/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 54.7 MB - Last synced: about 2 months ago - Pushed: about 2 months ago
futuretea/harvester Fork of harvester/harvester
- v6.5.0+incompatible go.sum
Size: 54.1 MB - Last synced: 5 months ago - Pushed: 5 months ago
libvirt/libvirt-console-proxy
Read-only mirror. Please submit merge requests / issues to https://gitlab.com/libvirt/libvirt-console-proxy- v6.0.0+incompatible go.mod
- v6.0.0+incompatible go.sum
Size: 115 KB - Last synced: 9 months ago - Pushed: 9 months ago
yevgenybulochnik/evcli
- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 96.7 KB - Last synced: about 1 year ago - Pushed: over 3 years ago
tcfw/vpc
Create simple VPCs written in (mostly) Go using Linux bridges/netlinks, iptables & network namespaces- v6.4.0+incompatible go.mod
- v6.4.0+incompatible go.sum
Size: 751 KB - Last synced: 3 months ago - Pushed: over 3 years ago
zengyuxiu/CvmManager
Lxc Docker Kvm Simple Manager Based on Golang- v6.10.0+incompatible go.mod
- v6.10.0+incompatible go.sum
Size: 32.9 MB - Last synced: 25 days ago - Pushed: over 3 years ago
jagardaniel/lab-cli
- v6.1.0+incompatible go.mod
- v6.1.0+incompatible go.sum
Size: 15.6 KB - Last synced: 9 months ago - Pushed: almost 4 years ago
IRONICBo/kvm-dashboard
A web dashboard for kvm monitoring and configuration.- v7.4.0+incompatible go.mod
- v7.4.0+incompatible go.sum
Size: 476 KB - Last synced: 9 months ago - Pushed: 9 months ago
piano-wow/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 47.5 MB - Last synced: 10 months ago - Pushed: about 1 year ago
talcoh2x/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 250 MB - Last synced: 8 days ago - Pushed: 9 days ago
yakiduck/kubemacpool Fork of easystack/kubemacpool
- v6.5.0+incompatible go.sum
Size: 159 MB - Last synced: 26 days ago - Pushed: almost 2 years ago
cesar-cs/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v5.0.0+incompatible go.mod
- v5.0.0+incompatible go.sum
Size: 211 MB - Last synced: 10 months ago - Pushed: almost 4 years ago
actor168/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 193 MB - Last synced: 26 days ago - Pushed: over 3 years ago
diaoyufei/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 29.7 MB - Last synced: 26 days ago - Pushed: over 2 years ago
cclhsu/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 23.7 MB - Last synced: 26 days ago - Pushed: almost 3 years ago
wangpan-hqu/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 30.6 MB - Last synced: 26 days ago - Pushed: over 2 years ago
nedvna/libvirt-exporter Fork of Tinkoff/libvirt-exporter
Prometheus metrics exporter for libvirt.- v7.2.0+incompatible go.mod
- v7.2.0+incompatible go.sum
Size: 881 KB - Last synced: 9 months ago - Pushed: about 3 years ago
mykaul/kubevirt Fork of alicefr/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 197 MB - Last synced: 9 months ago - Pushed: about 3 years ago
scloud-swebz/autok3s Fork of cnrancher/autok3s
Run K3s Everywhere- v6.5.0+incompatible go.sum
Size: 24.4 MB - Last synced: 9 months ago - Pushed: over 1 year ago
scloud-swebz/harvester-cli Fork of belgaied2/harvester-cli
Harvester CLI is a project that aims to provide an opinionated CLI tool to easily manage VMs on Harvester, the promising HCI solution created by Rancher Labs/SUSE- v6.5.0+incompatible go.sum
Size: 447 KB - Last synced: 9 months ago - Pushed: almost 2 years ago
Like-Check-Projects/harvester Fork of harvester/harvester
Open source hyperconverged infrastructure (HCI) software- v6.5.0+incompatible go.sum
Size: 23.6 MB - Last synced: 26 days ago - Pushed: almost 3 years ago
pbudds/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v6.5.0+incompatible go.mod
- v6.5.0+incompatible go.sum
Size: 212 MB - Last synced: 26 days ago - Pushed: over 3 years ago
00mjk/hyperconverged-cluster-operator Fork of kubevirt/hyperconverged-cluster-operator
Operator pattern for managing multi-operator products- v6.6.0+incompatible go.sum
Size: 135 MB - Last synced: 8 months ago - Pushed: almost 3 years ago
tiraboschi/kubevirt Fork of kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.- v7.3.0+incompatible go.mod
- v7.3.0+incompatible go.sum
Size: 249 MB - Last synced: 15 days ago - Pushed: 15 days ago
proura/drlm2t
DRLM v2 testing environment- v6.4.0+incompatible go.mod
Size: 18.9 MB - Last synced: 5 months ago - Pushed: about 3 years ago