{"id":13522817,"url":"https://github.com/kubevirt/kubectl-virt-plugin","last_synced_at":"2026-04-02T12:34:04.262Z","repository":{"id":49645288,"uuid":"190237504","full_name":"kubevirt/kubectl-virt-plugin","owner":"kubevirt","description":"Holds all scripts to create packages and manifest file required for publishing the virtctl binary as a krew package for kubectl.","archived":false,"fork":false,"pushed_at":"2025-06-11T00:03:14.000Z","size":82,"stargazers_count":14,"open_issues_count":1,"forks_count":6,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-06-15T11:56:07.515Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubevirt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-04T16:10:31.000Z","updated_at":"2025-05-19T07:40:37.000Z","dependencies_parsed_at":"2023-01-19T22:51:28.316Z","dependency_job_id":"6d945888-624d-4f8e-a371-045858ffeb88","html_url":"https://github.com/kubevirt/kubectl-virt-plugin","commit_stats":null,"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/kubevirt/kubectl-virt-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubevirt%2Fkubectl-virt-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubevirt%2Fkubectl-virt-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubevirt%2Fkubectl-virt-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubevirt%2Fkubectl-virt-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubevirt","download_url":"https://codeload.github.com/kubevirt/kubectl-virt-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubevirt%2Fkubectl-virt-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267293787,"owners_count":24065326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T06:00:52.597Z","updated_at":"2026-03-17T02:02:41.102Z","avatar_url":"https://github.com/kubevirt.png","language":"Shell","funding_links":[],"categories":["kubectl Plugins"],"sub_categories":["Installing plugins via awesome-kubectl-plugins"],"readme":"# kubectl-virt-plugin\n\nHolds all scripts to create packages and manifest file required for publishing the \n[virtctl](https://kubevirt.io/user-guide/docs/latest/administration/intro.html#client-side-virtctl-deployment)\nbinary as a [krew](https://krew.dev/) package for \n[kubectl](https://kubernetes.io/docs/reference/kubectl/overview/).\n\n## What is kubectl virt plugin, what is virtctl, and what is KubeVirt?\n\n**kubectl virt plugin** is a wrapper for `virtctl` originating from the KubeVirt project.\n\n[**KubeVirt**](https://kubevirt.io) is a virtualization add-on to Kubernetes, i.e. it enables to run existing virtual machines on Kubernetes \nclusters. \n\nvirtctl controls virtual machine related operations on your Kubernetes cluster like connecting to the serial and VNC consoles.\n\nSee the [KubeVirt user guide](https://kubevirt.io/user-guide) for details.\n\n## Installing virtctl as a kubectl plugin with krew\n\n### Requirements\n\n* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)\n* [krew](https://github.com/kubernetes-sigs/krew)\n\n### Installing\n\nFor installation and usage of krew (the package manager for kubectl plugins) refer to its [manual](https://krew.dev/).\n\nIf krew is installed, the virt plugin can be installed:\n\n    $ kubectl krew install virt                  \n    \nOutput should be:\n\n    Updated the local copy of plugin index.        \n    Installing plugin: virt                                                                                                                                                                       \n    CAVEATS:                                                                                       \n    \\                                              \n     |  virt plugin is a wrapper for virtctl originating from the KubeVirt project. In order to use virtctl you will\n     |  need to have KubeVirt installed on your Kubernetes cluster to use it. See https://kubevirt.io/ for details\n     |                                             \n     |  Run                                        \n     |                                             \n     |    kubectl virt help                        \n     |                                             \n     |  to get an overview of the available commands                                               \n     |                                             \n     |  ...                  \n    /                                              \n    Installed plugin: virt                         \n    \nNow we check the list of installed krew plugins\n\n    $ kubectl plugin list\n    The following kubectl-compatible plugins are available:\n    \n    /home/dhiller/.krew/bin/kubectl-krew\n    /home/dhiller/.krew/bin/kubectl-virt\n\n## Using virtctl \n\nAfter we have installed the virt plugin we can use it: \n\n    $ kubectl virt                                                                                                                                                                        130 ↵\n    Available Commands:\n      console      Connect to a console of a virtual machine instance.\n      expose       Expose a virtual machine instance, virtual machine, or virtual machine instance replica set as a new service.\n      help         Help about any command\n      image-upload Upload a VM image to a PersistentVolumeClaim.\n      restart      Restart a virtual machine.\n      start        Start a virtual machine.\n      stop         Stop a virtual machine.\n      version      Print the client and server version information.\n    ...\n    \n    $ kubectl virt version\n    Client Version: version.Info{GitVersion:\"v0.17.2\", GitCommit:\"58b5f4c64304f75c58ff0915ce70f9ed641d6629\", GitTreeState:\"clean\", BuildDate:\"2019-06-05T09:34:53Z\", GoVersion:\"go1.11.5\", Compiler:\"gc\", Platform:\"linux/amd64\"}\n    ...\n\n## Creating krew packages after a new KubeVirt release \n\n**Note: a [prow job](https://github.com/kubevirt/project-infra/blob/cd56918c29690a1cda96d91a781b948f105c1dd6/github/ci/prow-deploy/files/jobs/kubevirt/kubectl-virt-plugin/kubectl-virt-plugin-periodics.yaml#L2) periodically executes the below script**\n\n### Latest release\n\nTo manually prepare a kubectl krew release for a new release\njust execute `./scripts/create-latest-release.sh` from the base directory. The script will create packages and store them in a new release in GitHub repo.\n\n```bash\n$ ./scripts/create-latest-release.sh\n```\n\nOutput will be\n```\nDownloading binaries:\n...\n\nCreating pull request:\n...\n```\n\nCreating the release will trigger [a GitHub action](.github/workflows/krew-release-bot.yaml) that then will create a PR against the [`krew-index`](https://github.com/kubernetes-sigs/krew-index) ([example](https://github.com/kubernetes-sigs/krew-index/pull/3677)).\n\n### Specific release\n\nRunning `./scripts/create-release.sh` with a specific version will generate the release packages and create a release in GitHub.\n\n```bash\n./scripts/create-release.sh v1.2.0\n```\n\nThe triggered GitHub actions will then create a PR as described above.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubevirt%2Fkubectl-virt-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubevirt%2Fkubectl-virt-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubevirt%2Fkubectl-virt-plugin/lists"}