MachineRegistration [elemental.cattle.io/v1beta1]

MachineRegistration is owned by elemental-operator and is created once per workload cluster. The bare-metal provider does not mutate it, but operators must author it because its config block is baked into the registration ISO and replayed by elemental-register on first boot — it carries the registration URL, MachineInventoryLabels, and the cloud-init that turns a freshly imaged host into a usable MachineInventory.

Type
object

Specification

PropertyTypeDescription
apiVersionstring

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

kindstring

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

metadataObjectMeta

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

specobject
statusobject

.spec

Type
object
PropertyTypeDescription
configobject

Config the cloud config that will be used to provision the node.

machineInventoryAnnotationsobject

MachineInventoryAnnotations annotations to be added to the created MachineInventory object.

machineInventoryLabelsobject

MachineInventoryLabels label to be added to the created MachineInventory object.

machineNamestring

.spec.config

Description
Config the cloud config that will be used to provision the node.
Type
object
PropertyTypeDescription
cloud-config
elementalobject
networkobject

NetworkTemplate contains a map of IPAddressPools and a schemaless network config template.

.spec.config.elemental

Type
object
PropertyTypeDescription
installobject
registrationobject
resetobject
system-agentobject

.spec.config.elemental.install

Type
object
PropertyTypeDescription
config-dirstring
config-urlsarray
debugboolean
devicestring
device-selectorarray
disable-boot-entryboolean
eject-cdboolean
firmwarestring
isostring
no-formatboolean
poweroffboolean
rebootboolean
snapshotterobject
system-uristring
ttystring

.spec.config.elemental.install.config-urls

Type
array

.spec.config.elemental.install.config-urls[]

Type
string

.spec.config.elemental.install.device-selector

Type
array

.spec.config.elemental.install.device-selector[]

Type
object
Required
keyoperator
PropertyTypeDescription
keystring
operatorstring
valuesarray

.spec.config.elemental.install.device-selector[].values

Type
array

.spec.config.elemental.install.device-selector[].values[]

Type
string

.spec.config.elemental.install.snapshotter

Type
object
PropertyTypeDescription
maxSnapsinteger

MaxSnaps sets the maximum amount of snapshots to keep

typestring

Type sets the snapshotter type for a new installation, available options are 'loopdevice' and 'btrfs'

.spec.config.elemental.registration

Type
object
PropertyTypeDescription
authstring
ca-certstring
emulate-tpmboolean
emulated-tpm-seedinteger
no-smbiosboolean
no-toolkitboolean
urlstring

.spec.config.elemental.reset

Type
object
PropertyTypeDescription
config-urlsarray
debugboolean
disable-boot-entryboolean
enabledboolean
poweroffboolean
rebootboolean
reset-oemboolean
reset-persistentboolean
system-uristring

.spec.config.elemental.reset.config-urls

Type
array

.spec.config.elemental.reset.config-urls[]

Type
string

.spec.config.elemental.system-agent

Type
object
PropertyTypeDescription
secret-namestring
secret-namespacestring
strictTLSModeboolean
tokenstring
urlstring

.spec.config.network

Description
NetworkTemplate contains a map of IPAddressPools and a schemaless network config template.
Type
object
PropertyTypeDescription
config

Config contains the network config template (nmc, nmstate, or nmconnections formats)

configuratorstring

Configurator

ipAddressesobject

IPAddresses contains a map of IPPools references

.spec.config.network.ipAddresses

Description
IPAddresses contains a map of IPPools references
Type
object

.spec.machineInventoryAnnotations

Description
MachineInventoryAnnotations annotations to be added to the created MachineInventory object.
Type
object

.spec.machineInventoryLabels

Description
MachineInventoryLabels label to be added to the created MachineInventory object.
Type
object

.status

Type
object
PropertyTypeDescription
conditionsarray

Conditions describe the state of the machine registration object.

registrationTokenstring

RegistrationToken a token for registering a machine.

registrationURLstring

RegistrationURL is the URL for registering a new machine.

serviceAccountRefobject

ServiceAccountRef a reference to the service account created by the machine registration.

.status.conditions

Description
Conditions describe the state of the machine registration object.
Type
array

.status.conditions[]

Description
Condition contains details for one aspect of the current state of this API Resource.
Type
object
Required
lastTransitionTimemessagereasonstatustype
PropertyTypeDescription
lastTransitionTimestring

lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

messagestring

message is a human readable message indicating details about the transition. This may be an empty string.

observedGenerationinteger

observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.

reasonstring

reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.

statusstring

status of the condition, one of True, False, Unknown.

typestring

type of condition in CamelCase or in foo.example.com/CamelCase.

.status.serviceAccountRef

Description
ServiceAccountRef a reference to the service account created by the machine registration.
Type
object
PropertyTypeDescription
apiVersionstring

API version of the referent.

fieldPathstring

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.

kindstring

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

namestring

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

namespacestring

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

resourceVersionstring

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

uidstring

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

API Endpoints

The following API endpoints are available:

  • /apis/elemental.cattle.io/v1beta1/namespaces/{namespace}/machineregistrations
    • DELETE: delete collection of MachineRegistration
    • GET: list objects of kind MachineRegistration
    • POST: create a new MachineRegistration
  • /apis/elemental.cattle.io/v1beta1/namespaces/{namespace}/machineregistrations/{name}
    • DELETE: delete the specified MachineRegistration
    • GET: read the specified MachineRegistration
    • PATCH: partially update the specified MachineRegistration
    • PUT: replace the specified MachineRegistration
  • /apis/elemental.cattle.io/v1beta1/namespaces/{namespace}/machineregistrations/{name}/status
    • GET: read status of the specified MachineRegistration
    • PATCH: partially update status of the specified MachineRegistration
    • PUT: replace status of the specified MachineRegistration

/apis/elemental.cattle.io/v1beta1/namespaces/{namespace}/machineregistrations

HTTP method
DELETE
Description
delete collection of MachineRegistration
HTTP responses
HTTP codeResponse body
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP method
GET
Description
list objects of kind MachineRegistration
HTTP responses
HTTP codeResponse body
200 - OKMachineRegistrationList schema
401 - UnauthorizedEmpty
HTTP method
POST
Description
create a new MachineRegistration
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
Body parameters
ParameterTypeDescription
bodyMachineRegistration schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKMachineRegistration schema
201 - CreatedMachineRegistration schema
202 - AcceptedMachineRegistration schema
401 - UnauthorizedEmpty

/apis/elemental.cattle.io/v1beta1/namespaces/{namespace}/machineregistrations/{name}

HTTP method
DELETE
Description
delete the specified MachineRegistration
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
HTTP responses
HTTP codeResponse body
200 - OKStatus schema
202 - AcceptedStatus schema
401 - UnauthorizedEmpty
HTTP method
GET
Description
read the specified MachineRegistration
HTTP responses
HTTP codeResponse body
200 - OKMachineRegistration schema
401 - UnauthorizedEmpty
HTTP method
PATCH
Description
partially update the specified MachineRegistration
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP responses
HTTP codeResponse body
200 - OKMachineRegistration schema
401 - UnauthorizedEmpty
HTTP method
PUT
Description
replace the specified MachineRegistration
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
Body parameters
ParameterTypeDescription
bodyMachineRegistration schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKMachineRegistration schema
201 - CreatedMachineRegistration schema
401 - UnauthorizedEmpty

/apis/elemental.cattle.io/v1beta1/namespaces/{namespace}/machineregistrations/{name}/status

HTTP method
GET
Description
read status of the specified MachineRegistration
HTTP responses
HTTP codeResponse body
200 - OKMachineRegistration schema
401 - UnauthorizedEmpty
HTTP method
PATCH
Description
partially update status of the specified MachineRegistration
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP responses
HTTP codeResponse body
200 - OKMachineRegistration schema
401 - UnauthorizedEmpty
HTTP method
PUT
Description
replace status of the specified MachineRegistration
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
Body parameters
ParameterTypeDescription
bodyMachineRegistration schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKMachineRegistration schema
201 - CreatedMachineRegistration schema
401 - UnauthorizedEmpty