Kubernetes Virtualization API and runtime in order to define and manage virtual machines.
Go to file
kubevirt-bot d49467a3ee
Merge pull request #15345 from rthallisey/move-perf-artifacts
Move performance job artifacts to the base artifacts directory
2025-08-01 17:39:57 +01:00
.github Update target project url for 1.7 vep 2025-07-31 14:05:18 +02:00
api fix: convert login time to seconds 2025-07-22 15:26:22 +03:00
assets Added OLM and Marketplace manifests 2019-04-02 20:42:37 +02:00
automation tests: Remove use of CNAO from sig-operator lanes 2025-07-31 09:22:23 +01:00
bazel make generate build the binaries for buidifier pre-built for s390x 2025-03-13 17:03:40 +05:30
cmd virt-launcher: allow to source VMI from an environment variable 2025-07-29 10:22:22 -04:00
containerimages bazel-images: Split image targets per architecture 2024-10-09 09:29:24 +02:00
docs virt-handler: Add metric for reporting deprecated machine types 2025-06-25 11:11:00 +03:00
examples update tools/vms-generator to generate vmi with dra example 2025-06-28 00:37:11 -04:00
hack Merge pull request #15345 from rthallisey/move-perf-artifacts 2025-08-01 17:39:57 +01:00
images Merge pull request #13993 from laxmi-333/buildifier-prebuilt-s390x 2025-03-27 14:29:04 +01:00
kubevirtci Bump kubevirtci 2025-07-31 00:03:30 +00:00
manifests fix(manifests): Set pull policy for virt-launcher 2025-07-22 12:05:40 +02:00
pkg Merge pull request #15323 from enp0s3/fix-listsockets 2025-08-01 17:39:51 +01:00
rpm rpm: include libvirt-admin libs 2025-07-10 07:29:54 +01:00
staging/src/kubevirt.io Merge pull request #15180 from codingben/CNV-64776 2025-07-23 07:43:42 +01:00
tests Merge pull request #15333 from lyarwood/bug-15293-remove-cnao-from-sig-operator 2025-08-01 12:29:57 +01:00
tools fix(manifests): Set pull policy for virt-launcher 2025-07-22 12:05:40 +02:00
vendor chore(deps): update module golang.org/x/oauth2 to v0.27.0 [security] 2025-07-14 06:54:39 +00:00
.bazelrc s390x: Enable cross-compiling 2024-06-18 11:12:04 +02:00
.bazelversion Update go to version 1.20.12 & bazel to 5.4.1 2023-12-19 17:11:21 +00:00
.fossa.yml Update FOSSA to 3.6.11 2023-01-17 12:22:41 +01:00
.gitattributes Let github collapse BUILD.bazel files in certain locations 2022-07-01 13:45:57 +02:00
.gitignore Remove unnecessary marketplace tool 2023-05-29 16:10:46 +01:00
.golangci.yml linter: Move config under hack/linter 2025-03-09 19:27:22 +00:00
.mailmap hack: Update release script and mailMap 2018-07-19 12:47:50 +02:00
.rsynctemp Wait for rsyncd to be ready 2018-01-15 09:44:12 +01:00
.snyk feat: add .snyk file 2023-11-23 11:09:25 +01:00
ADOPTERS.md Added CRC to ADOPTERS document. 2025-06-19 10:53:02 -04:00
BUILD.bazel passt: Unexport passt binary 2025-06-24 13:20:24 +03:00
CODE_OF_CONDUCT.md Update the emails for security and conduct violations 2021-08-17 17:26:06 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md 2024-08-14 18:41:34 +05:30
FAQ.md Rephrase, emphasizing that KubeVirt can be run alongside containers. 2020-06-23 10:25:51 +03:00
LICENSE LICENSE: Add date and owner 2017-02-27 11:43:43 +01:00
Makefile virt-operator: Remove support for *_SHASUM env variables 2025-07-07 09:32:39 +01:00
OWNERS Remove usage of "filters" in OWNERS 2024-08-01 16:04:45 +02:00
OWNERS_ALIASES Move alicefr to become an emeritus approver 2025-06-04 13:34:59 +03:00
README.md Revert "Added the scorecard github action and its badge" 2025-06-24 10:38:58 -04:00
SECURITY.md Adding backup mechanism to report vulnerabilities 2023-09-29 17:39:54 +02:00
WORKSPACE Run go run ./robots/cmd/uploader -workspace /home/prow/go/src/github.com/kubevirt/project-infra/../kubevirt/WORKSPACE -dry-run=false 2025-07-29 07:13:54 +00:00
doc.go Added a Go file to project root, for "dep" dependency manager 2019-02-13 11:49:29 +01:00
go.mod Merge pull request #15100 from dominikholler/renovate/main-go-golang.org-x-net-vulnerability 2025-07-12 07:31:32 +01:00
go.sum Merge pull request #15100 from dominikholler/renovate/main-go-golang.org-x-net-vulnerability 2025-07-12 07:31:32 +01:00
go.work run make deps-update 2025-06-04 00:46:50 -04:00
go.work.sum Add functional tests for cross namespace migration 2025-06-25 19:05:54 -05:00
nogo_config.json virt-handler, migration: Introduce passt-repair entrypoint 2025-06-25 16:23:46 +03:00

README.md

KubeVirt

Build Status Go Report Card Licensed under Apache License version 2.0 Coverage Status CII Best Practices Visit our Slack channel FOSSA Status Quality Gate Status

KubeVirt is a virtual machine management add-on for Kubernetes. The aim is to provide a common ground for virtualization solutions on top of Kubernetes.

Introduction

Virtualization extension for Kubernetes

At its core, KubeVirt extends Kubernetes by adding additional virtualization resource types (especially the VM type) through Kubernetes's Custom Resource Definitions API. By using this mechanism, the Kubernetes API can be used to manage these VM resources alongside all other resources Kubernetes provides.

The resources themselves are not enough to launch virtual machines. For this to happen the functionality and business logic needs to be added to the cluster. The functionality is not added to Kubernetes itself, but rather added to a Kubernetes cluster by running additional controllers and agents on an existing cluster.

The necessary controllers and agents are provided by KubeVirt.

As of today KubeVirt can be used to declaratively

  • Create a predefined VM
  • Schedule a VM on a Kubernetes cluster
  • Launch a VM
  • Stop a VM
  • Delete a VM

To start using KubeVirt

Try our quickstart at kubevirt.io.

See our user documentation at kubevirt.io/docs.

Once you have the basics, you can learn more about how to run KubeVirt and its newest features by taking a look at:

To start developing KubeVirt

To set up a development environment please read our Getting Started Guide. To learn how to contribute, please read our contribution guide.

You can learn more about how KubeVirt is designed (and why it is that way), and learn more about the major components by taking a look at our developer documentation:

The KubeVirt SIG-release repo is responsible for information regarding upcoming and previous releases.

Community

If you got enough of code and want to speak to people, then you got a couple of options:

Submitting patches

When sending patches to the project, the submitter is required to certify that they have the legal right to submit the code. This is achieved by adding a line

Signed-off-by: Real Name <email@address.com>

to the bottom of every commit message. Existence of such a line certifies that the submitter has complied with the Developer's Certificate of Origin 1.1, (as defined in the file docs/developer-certificate-of-origin).

This line can be automatically added to a commit in the correct format, by using the '-s' option to 'git commit'.

License

KubeVirt is distributed under the Apache License, Version 2.0.

This file is part of the KubeVirt project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Copyright The KubeVirt Authors.

FOSSA Status

FOSSA Status