×

Specification

Property Type Description

apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta_v2

Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

BareMetalHostSpec defines the desired state of BareMetalHost

status

object

BareMetalHostStatus defines the observed state of BareMetalHost

.spec

Description

BareMetalHostSpec defines the desired state of BareMetalHost

Type

object

Required
  • online

Property Type Description

automatedCleaningMode

string

When set to disabled, automated cleaning will be avoided during provisioning and deprovisioning.

bmc

object

How do we connect to the BMC?

bootMACAddress

string

Which MAC address will PXE boot? This is optional for some types, but required for libvirt VMs driven by vbmc.

bootMode

string

Select the method of initializing the hardware during boot. Defaults to UEFI.

consumerRef

object

ConsumerRef can be used to store information about something that is using a host. When it is not empty, the host is considered "in use".

customDeploy

object

A custom deploy procedure.

description

string

Description is a human-entered text used to help identify the host

externallyProvisioned

boolean

ExternallyProvisioned means something else is managing the image running on the host and the operator should only manage the power status and hardware inventory inspection. If the Image field is filled in, this field is ignored.

firmware

object

BIOS configuration for bare metal server

hardwareProfile

string

What is the name of the hardware profile for this host? It should only be necessary to set this when inspection cannot automatically determine the profile.

image

object

Image holds the details of the image to be provisioned.

metaData

object

MetaData holds the reference to the Secret containing host metadata (e.g. meta_data.json) which is passed to the Config Drive.

networkData

object

NetworkData holds the reference to the Secret containing network configuration (e.g content of network_data.json) which is passed to the Config Drive.

online

boolean

Should the server be online?

preprovisioningNetworkDataName

string

PreprovisioningNetworkDataName is the name of the Secret in the local namespace containing network configuration (e.g content of network_data.json) which is passed to the preprovisioning image, and to the Config Drive if not overridden by specifying NetworkData.

raid

object

RAID configuration for bare metal server

rootDeviceHints

object

Provide guidance about how to choose the device for the image being provisioned.

taints

array

Taints is the full, authoritative list of taints to apply to the corresponding Machine. This list will overwrite any modifications made to the Machine on an ongoing basis.

taints[]

object

The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint.

userData

object

UserData holds the reference to the Secret containing the user data to be passed to the host before it boots.

.spec.bmc

Description

How do we connect to the BMC?

Type

object

Required
  • address

  • credentialsName

Property Type Description

address

string

Address holds the URL for accessing the controller on the network.

credentialsName

string

The name of the secret containing the BMC credentials (requires keys "username" and "password").

disableCertificateVerification

boolean

DisableCertificateVerification disables verification of server certificates when using HTTPS to connect to the BMC. This is required when the server certificate is self-signed, but is insecure because it allows a man-in-the-middle to intercept the connection.

.spec.consumerRef

Description

ConsumerRef can be used to store information about something that is using a host. When it is not empty, the host is considered "in use".

Type

object

Property Type Description

apiVersion

string

API version of the referent.

fieldPath

string

If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.

kind

string

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

string

Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

string

UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

.spec.customDeploy

Description

A custom deploy procedure.

Type

object

Required
  • method

Property Type Description

method

string

Custom deploy method name. This name is specific to the deploy ramdisk used. If you don’t have a custom deploy ramdisk, you shouldn’t use CustomDeploy.

.spec.firmware

Description

BIOS configuration for bare metal server

Type

object

Property Type Description

simultaneousMultithreadingEnabled

boolean

Allows a single physical processor core to appear as several logical processors. This supports following options: true, false.

sriovEnabled

boolean

SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. This supports following options: true, false.

virtualizationEnabled

boolean

Supports the virtualization of platform hardware. This supports following options: true, false.

.spec.image

Description

Image holds the details of the image to be provisioned.

Type

object

Required
  • url

Property Type Description

checksum

string

Checksum is the checksum for the image.

checksumType

string

ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512

format

string

DiskFormat contains the format of the image (raw, qcow2, …​). Needs to be set to raw for raw images streaming. Note live-iso means an iso referenced by the url will be live-booted and not deployed to disk, and in this case the checksum options are not required and if specified will be ignored.

url

string

URL is a location of an image to deploy.

.spec.metaData

Description

MetaData holds the reference to the Secret containing host metadata (e.g. meta_data.json) which is passed to the Config Drive.

Type

object

Property Type Description

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.networkData

Description

NetworkData holds the reference to the Secret containing network configuration (e.g content of network_data.json) which is passed to the Config Drive.

Type

object

Property Type Description

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.raid

Description

RAID configuration for bare metal server

Type

object

Property Type Description

hardwareRAIDVolumes

``

The list of logical disks for hardware RAID, if rootDeviceHints isn’t used, first volume is root volume. You can set the value of this field to [] to clear all the hardware RAID configurations.

softwareRAIDVolumes

``

The list of logical disks for software RAID, if rootDeviceHints isn’t used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. The number of created Software RAID devices must be 1 or 2. If there is only one Software RAID device, it has to be a RAID-1. If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. As the first RAID device will be the deployment device, enforcing a RAID-1 reduces the risk of ending up with a non-booting node in case of a disk failure. Software RAID will always be deleted.

.spec.rootDeviceHints

Description

Provide guidance about how to choose the device for the image being provisioned.

Type

object

Property Type Description

deviceName

string

A Linux device name like "/dev/vda". The hint must match the actual value exactly.

hctl

string

A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly.

minSizeGigabytes

integer

The minimum size of the device in Gigabytes.

model

string

A vendor-specific device identifier. The hint can be a substring of the actual value.

rotational

boolean

True if the device should use spinning media, false otherwise.

serialNumber

string

Device serial number. The hint must match the actual value exactly.

vendor

string

The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value.

wwn

string

Unique storage identifier. The hint must match the actual value exactly.

wwnVendorExtension

string

Unique vendor storage identifier. The hint must match the actual value exactly.

wwnWithExtension

string

Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly.

.spec.taints

Description

Taints is the full, authoritative list of taints to apply to the corresponding Machine. This list will overwrite any modifications made to the Machine on an ongoing basis.

Type

array

.spec.taints[]

Description

The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint.

Type

object

Required
  • effect