GithubHelp home page GithubHelp logo

confidential-containers / peerpodconfig-ctrl Goto Github PK

View Code? Open in Web Editor NEW
0.0 17.0 0.0 24.55 MB

peerpodconfig-ctrl is a kubernetes controller which is responsible for watching the PeerPodConfig CRD object and manages the creation and deletion lifecycle of all required components to run peer pods

License: Apache License 2.0

Dockerfile 0.84% Makefile 5.23% HCL 5.55% Shell 10.20% Go 77.72% Nix 0.09% Open Policy Agent 0.36%

peerpodconfig-ctrl's Introduction

daily e2e tests for libvirt

Introduction

This repository contains the implementation of Kata remote hypervisor. Kata remote hypervisor enables creation of Kata VMs on any environment without requiring baremetal servers or nested virtualization support.

Goals

  • Accept requests from Kata shim to create/delete Kata VM instances without requiring nested virtualization support.
  • Manage VM instances in the cloud to run pods using cloud (virtualization) provider APIs
  • Forward communication between kata shim on a worker node VM and kata agent on a pod VM
  • Provide a mechanism to establish a network tunnel between a worker and pod VMs to Kubernetes pod network

Architecture

The background and description of the components involved in 'peer pods' can be found in the architecture documentation.

Components

Installation

Please refer to the instructions mentioned in the following doc.

Supported Providers

  • aws
  • azure
  • ibmcloud
  • libvirt
  • vsphere

Adding a new provider

Please refer to the instructions mentioned in the following doc.

Cloud Provider VM Image

A custom VM image, which contains the required components, must be available in your cloud provider's image catalogue. You can find detailed instructions for each provider in their respective directories. You can also find further information in the podvm README.md about how to build your own image using Docker to build the required components and create the image.

At time of writing the project is moving towards using mkosi as our build approach, more information on this can be found in the podvm-mkosi README.md.

VM Image Build Quick Start

To create a QCOW2 image which can be imported into your provider of choice, you can use the following command.

# default ubuntu based, x86 architecture image
make podvm-builder podvm-binaries podvm-image
# or to produce an s390x architecture image
ARCH=s390x make podvm-builder podvm-binaries podvm-image
# or to produce a rhel distribution image
PODVM_DISTRO=rhel make podvm-builder podvm-binaries podvm-image

N.B. This will populate the image using the component versions found in versions.yaml.

You can find provider specific instructions on how to import the QCOW2 image for each cloud provider in their respective directories.

Contribution

This project uses the Apache 2.0 license. Contribution to this project requires the DCO 1.1 process to be followed.

Collaborations

peerpodconfig-ctrl's People

Contributors

bpradipt avatar wainersm avatar yoheiueda avatar snir911 avatar stevenhorsman avatar tumberino avatar katexochen avatar surajssd avatar huoqifeng avatar liudalibj avatar mkulke avatar amulyam24 avatar sudharshanibm3 avatar kartikjoshi21 avatar mattarnoatibm avatar whitebrandy avatar genjuro214 avatar knrt10 avatar caavery avatar jordan9500 avatar jensfr avatar beraldoleal avatar davidhay1969 avatar jonah-f avatar wyuany avatar iaguis avatar jepio avatar tiashah1 avatar dependabot[bot] avatar lysliu avatar

Watchers

 avatar Chris Aniszczyk avatar Peng Tao avatar Fabiano Fidêncio avatar  avatar Julien Ropé avatar Samuel Ortiz avatar Lukáš Doktor avatar  avatar Tobin Feldman-Fitzthum avatar Hyounggyu Choi avatar James Magowan avatar  avatar  avatar  avatar  avatar  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.