omni-infra-provider-libvirt

module
v0.1.0-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2025 License: MPL-2.0

README

Omni Infrastructure Provider for libvirt

Can be used to automatically provision Talos nodes in libvirtd.

Running Infrastructure Provider

Create the configuration file for the provider:

# connect to libvirt via ssh
# for more options see: https://libvirt.org/uri.html
libvirt:
  uri: 'qemu+libssh://user@hostname/system?known_hosts_verify=ignore'
Using Docker

copy the provider credentials created in omni to an .env file

# your omni instance URL
OMNI_ENDPOINT=https://<OMNI_INSTANCE_NAME>.<REGION>.omni.siderolabs.io
# base64 encoded key as shown by omni
OMNI_SERVICE_ACCOUNT_KEY=<PROVIDER_KEY>

example for using the above ssh based connection method:

docker run --name omni-infra-provider-libvirt --rm -it -e USER=user --env-file /tmp/omni-provider-libvirt.env -v /tmp/omni-provider-libvirt.yaml:/config.yaml -v /home/user/.ssh:/.ssh:ro ghcr.io/siderolabs/omni-infra-provider-libvirt --config-file /config.yaml

how to use in omni cluster templates

see test/ for some examples

development

see make help for general build info.

build an image:

make generate image-omni-infra-provider-libvirt-linux-amd64

Directories

Path Synopsis
api
cmd
omni-infra-provider-libvirt command
Package main is the root cmd of the provider script.
Package main is the root cmd of the provider script.
internal
pkg/provider
Package provider implements libvirt infra provider core.
Package provider implements libvirt infra provider core.
pkg/provider/meta
Package meta contains meta information about the provider.
Package meta contains meta information about the provider.
pkg/provider/resources
Package resources contains resources stored in the libvirt infra provider state.
Package resources contains resources stored in the libvirt infra provider state.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL