Giter Club home page Giter Club logo

kubevirt-tekton-tasks's Introduction

Artifact Hub Artifact Hub

KubeVirt Tekton Tasks

Tekton Pipelines are CI/CD-style pipelines for Kubernetes. This repository provides KubeVirt-specific Tekton tasks, which focus on:

  • Creating and managing resources (VMs, DataVolumes, DataSources)
  • Executing commands in VMs
  • Manipulating disk images with libguestfs tools

Deployment

In order to install the KubeVirt Tekton tasks in the active namespace you need to apply the following manifest. You have to repeat this for every namespace in which you'd like to run the tasks.

VERSION=$(curl -s https://api.github.com/repos/kubevirt/kubevirt-tekton-tasks/releases | \
            jq '.[] | select(.prerelease==false) | .tag_name' | sort -V | tail -n1 | tr -d '"')
kubectl apply -f "https://github.com/kubevirt/kubevirt-tekton-tasks/releases/download/${VERSION}/kubevirt-tekton-tasks.yaml"

Visit RBAC permissions for running the tasks if the pipeline needs to create/access resources (VMs, PVCs, etc.) in a different namespace other than the one the pipeline runs in.

Usage

copy-template, modify-vm-template and create-vm-from-template tasks are deprecated and will be removed in future versions. These tasks based on templates will be replaced with create-vm task with enhancements related to instance types.

Create Virtual Machines

Utilize Templates

Modify data objects

Generate SSH Keys

Execute Commands in Virtual Machines

Manipulate PVCs with libguestfs tools

Wait for Virtual Machine Instance Status

Modify Windows iso

  • modify-windows-iso-file - modifies windows iso (replaces prompt bootloader with no-promt bootloader) and replaces original iso in PVC with updated one.

Examples

Downloads a Windows ISO file into a PVC and automatically installs Windows in BIOS mode by using a custom Answer file into a new base DataVolume. Supported Windows versions: Windows 10

Downloads a Windows ISO file into a PVC and automatically installs Windows 11 or Server 2k22 with EFI enabled by using a custom Answer file into a new base DataVolume. Supported Windows versions: Windows 11, Server 2k22

Applies customizations to an existing Windows 10, 11, Server 2k22 installation by using a custom Answer file and creates a new base DataVolume. Supported Windows versions: Windows 10, 11, Server 2k22

Unit Tester Pipeline - Unmaintained

Good unit tests are detached from the operating system and can run everywhere. However, this is not always the case. Your tests may require access to entire operating system, or run as root, or need a specific kernel.

This example shows how you can run your tests in your VM of choice. The pipeline creates a VM, connects to it over SSH and runs tests inside it. It also showcases the finally construct.

For complex application server deployments it might be easier to start the server as is in a VM rather than converting it to cloud-native application.

This example shows how you can initialize/modify a PVC and deploy such application in a VM.

Virt-sysprep can be used for preparing VM images which can be then used as base images for other VMs.

This example shows how you can update an operating system and seal VM's image by using virt-customize. Then, a VM is created from such image.

Development Guide

See Getting Started for the environment setup and development workflow.

kubevirt-tekton-tasks's People

Contributors

ksimon1 avatar suomiy avatar 0xfelix avatar dependabot[bot] avatar atiratree avatar opokornyy avatar jcanocan avatar akrejcir avatar codingben avatar dankenigsberg avatar lyarwood avatar rajp152k avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.