Skip to main content

Cluster API Provider MicroVM

Installing and using CAPMVM to create bare-metal workload clusters.

CAPMVM is Liquid Metal's bare-metal CAPI infrastructure provider.

Instructions on how to install CAPMVM to your management cluster can be found in any of the tutorials on this site.

CAPMVM API

CRD yamls generated with crd-to-sample-yaml. Click headings to see API code.

MicrovmCluster

apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: MicrovmCluster
metadata: {}
spec:
controlPlaneEndpoint:
host: string
port: 1
microvmProxy:
endpoint: string
placement:
staticPool:
basicAuthSecret: string
hosts:
- controlplaneAllowed: true
endpoint: string
name: string
sshPublicKeys:
- authorizedKeys: ["string"]
user: string
tlsSecretRef: string
status:
conditions:
- lastTransitionTime: string
message: string
reason: string
severity: string
status: string
type: string
failureDomains:
attributes: {string: "string"}
controlPlane: true
ready: true

MicrovmMachine

apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: MicrovmMachine
metadata: {}
spec:
initrd:
filename: string
image: string
kernel:
filename: string
image: string
kernelCmdline: {string: "string"}
labels: {string: "string"}
memoryMb: 1
networkInterfaces:
- address: string
guestDeviceName: string
guestMac: string
type: string
providerID: string
rootVolume:
id: string
image: string
mountPoint: string
readOnly: true
sshPublicKeys:
- authorizedKeys: ["string"]
user: string
vcpu: 1
volumes:
- id: string
image: string
mountPoint: string
readOnly: true
status:
addresses:
- address: string
type: string
conditions:
- lastTransitionTime: string
message: string
reason: string
severity: string
status: string
type: string
failureMessage: string
failureReason: string
ready: true
vmState: string

MicrovmMachineTemplate

apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: MicrovmMachineTemplate
metadata: {}
spec:
template:
metadata:
annotations: {string: "string"}
labels: {string: "string"}
spec:
initrd:
filename: string
image: string
kernel:
filename: string
image: string
kernelCmdline: {string: "string"}
labels: {string: "string"}
memoryMb: 1
networkInterfaces:
- address: string
guestDeviceName: string
guestMac: string
type: string
providerID: string
rootVolume:
id: string
image: string
mountPoint: string
readOnly: true
sshPublicKeys:
- authorizedKeys: ["string"]
user: string
vcpu: 1
volumes:
- id: string
image: string
mountPoint: string
readOnly: true