×

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 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 Config Drive).

online

boolean

Should the server be online?

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 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 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

  • key

Property Type Description

effect

string

Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute.

key

string

Required. The taint key to be applied to a node.

timeAdded

string

TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints.

value

string

The taint value corresponding to the taint key.

.spec.userData

Description

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

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.

.status

Description

BareMetalHostStatus defines the observed state of BareMetalHost

Type

object

Required
  • errorCount

  • errorMessage

  • hardwareProfile

  • operationalStatus

  • poweredOn

  • provisioning

Property Type Description

errorCount

integer

ErrorCount records how many times the host has encoutered an error since the last successful operation

errorMessage

string

the last error message reported by the provisioning subsystem

errorType

string

ErrorType indicates the type of failure encountered when the OperationalStatus is OperationalStatusError

goodCredentials

object

the last credentials we were able to validate as working

hardware

object

The hardware discovered to exist on the host.

hardwareProfile

string

The name of the profile matching the hardware details.

lastUpdated

string

LastUpdated identifies when this status was last observed.

operationHistory

object

OperationHistory holds information about operations performed on this host.

operationalStatus

string

OperationalStatus holds the status of the host

poweredOn

boolean

indicator for whether or not the host is powered on

provisioning

object

Information tracked by the provisioner.

triedCredentials

object

the last credentials we sent to the provisioning backend

.status.goodCredentials

Description

the last credentials we were able to validate as working

Type

object

Property Type Description

credentials

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

credentialsVersion

string

.status.goodCredentials.credentials

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

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.

.status.hardware

Description

The hardware discovered to exist on the host.

Type

object

Property Type Description

cpu

object

CPU describes one processor on the host.

firmware

object

Firmware describes the firmware on the host.

hostname

string

nics

array

nics[]

object

NIC describes one network interface on the host.

ramMebibytes

integer

storage

array

storage[]

object

Storage describes one storage device (disk, SSD, etc.) on the host.

systemVendor

object

HardwareSystemVendor stores details about the whole hardware system.

.status.hardware.cpu

Description

CPU describes one processor on the host.

Type

object

Property Type Description

arch

string

clockMegahertz

number

ClockSpeed is a clock speed in MHz

count

integer

flags

array (string)

model

string

.status.hardware.firmware

Description

Firmware describes the firmware on the host.

Type

object

Property Type Description

bios

object

The BIOS for this firmware

.status.hardware.firmware.bios

Description

The BIOS for this firmware

Type

object

Property Type Description

date

string

The release/build date for this BIOS

vendor

string

The vendor name for this BIOS

version

string

The version of the BIOS

.status.hardware.nics

Description
Type

array

.status.hardware.nics[]

Description

NIC describes one network interface on the host.

Type

object

Property Type Description

ip

string

The IP address of the interface. This will be an IPv4 or IPv6 address if one is present. If both IPv4 and IPv6 addresses are present in a dual-stack environment, two nics will be output, one with each IP.

mac

string

The device MAC address

model

string

The vendor and product IDs of the NIC, e.g. "0x8086 0x1572"

name

string

The name of the network interface, e.g. "en0"

pxe

boolean

Whether the NIC is PXE Bootable

speedGbps

integer

The speed of the device in Gigabits per second

vlanId

integer

The untagged VLAN ID

vlans

array

The VLANs available

vlans[]

object

VLAN represents the name and ID of a VLAN

.status.hardware.nics[].vlans

Description

The VLANs available

Type

array

.status.hardware.nics[].vlans[]

Description

VLAN represents the name and ID of a VLAN

Type

object

Property Type Description

id

integer

VLANID is a 12-bit 802.1Q VLAN identifier

name

string

.status.hardware.storage

Description
Type

array

.status.hardware.storage[]

Description

Storage describes one storage device (disk, SSD, etc.) on the host.

Type

object

Property Type Description

hctl

string

The SCSI location of the device

model

string

Hardware model

name

string

The Linux device name of the disk, e.g. "/dev/sda". Note that this may not be stable across reboots.

rotational

boolean

Whether this disk represents rotational storage. This field is not recommended for usage, please prefer using 'Type' field instead, this field will be deprecated eventually.

serialNumber

string

The serial number of the device

sizeBytes

integer

The size of the disk in Bytes

type

string

Device type, one of: HDD, SSD, NVME.

vendor

string

The name of the vendor of the device

wwn

string

The WWN of the device

wwnVendorExtension

string

The WWN Vendor extension of the device

wwnWithExtension

string

The WWN with the extension

.status.hardware.systemVendor

Description

HardwareSystemVendor stores details about the whole hardware system.

Type

object

Property Type Description

manufacturer

string

productName

string

serialNumber

string

.status.operationHistory

Description

OperationHistory holds information about operations performed on this host.

Type

object

Property Type Description

deprovision

object

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

inspect

object

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

provision

object

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

register

object

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

.status.operationHistory.deprovision

Description

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

Type

object

Property Type Description

end