From cb5c845a50bd6c9c97e57073df06810c49acfe11 Mon Sep 17 00:00:00 2001 From: fgiudici Date: Wed, 4 Sep 2024 13:53:13 +0000 Subject: [PATCH] deploy: 5c56154e25828c775940983bb202680a92ff3e05 --- 1.2/architecture/index.html | 2 +- 1.2/backup/index.html | 2 +- 1.2/cloud-config-reference/index.html | 2 +- 1.2/cluster-reference/index.html | 2 +- 1.2/custom-certificate/index.html | 2 +- 1.2/customizing/index.html | 2 +- 1.2/elemental-plans/index.html | 2 +- 1.2/elemental_behind_proxy/index.html | 2 +- .../index.html | 2 +- 1.2/hardwarelabels/index.html | 2 +- 1.2/index.html | 2 +- 1.2/installation/index.html | 2 +- 1.2/inventory-management/index.html | 2 +- 1.2/kubernetesversions/index.html | 2 +- .../index.html | 2 +- 1.2/machineregistration-reference/index.html | 2 +- 1.2/managedosimage-reference/index.html | 2 +- 1.2/managedosversion-reference/index.html | 2 +- .../index.html | 2 +- 1.2/quickstart-cli/index.html | 2 +- 1.2/quickstart-ui/index.html | 2 +- 1.2/rancher-vmware/index.html | 2 +- 1.2/release-notes/index.html | 2 +- 1.2/removable-device-cloudconfig/index.html | 2 +- 1.2/restore/index.html | 2 +- 1.2/seedimage-reference/index.html | 2 +- 1.2/smbios/index.html | 2 +- 1.2/tpm/index.html | 2 +- .../index.html | 2 +- 1.2/troubleshooting-restore/index.html | 2 +- 1.2/troubleshooting-upgrade/index.html | 2 +- 1.2/upgrade-lifecycle/index.html | 2 +- 1.2/upgrade/index.html | 2 +- 1.2/wifi/index.html | 2 +- 1.3/architecture/index.html | 2 +- 1.3/backup/index.html | 2 +- 1.3/cloud-config-reference/index.html | 2 +- 1.3/cluster-reference/index.html | 2 +- 1.3/custom-certificate/index.html | 2 +- 1.3/customizing/index.html | 2 +- 1.3/elemental-plans/index.html | 2 +- 1.3/elemental_behind_proxy/index.html | 2 +- .../index.html | 2 +- 1.3/hardwarelabels/index.html | 2 +- 1.3/hostname/index.html | 2 +- 1.3/index.html | 2 +- 1.3/installation/index.html | 2 +- 1.3/inventory-management/index.html | 2 +- 1.3/kubernetesversions/index.html | 2 +- .../index.html | 2 +- 1.3/machineregistration-reference/index.html | 2 +- 1.3/managedosimage-reference/index.html | 2 +- 1.3/managedosversion-reference/index.html | 2 +- .../index.html | 2 +- 1.3/quickstart-cli/index.html | 2 +- 1.3/quickstart-ui/index.html | 2 +- 1.3/rancher-vmware/index.html | 2 +- 1.3/release-notes/index.html | 2 +- 1.3/removable-device-cloudconfig/index.html | 2 +- 1.3/reset/index.html | 2 +- 1.3/restore/index.html | 2 +- 1.3/seedimage-reference/index.html | 2 +- 1.3/smbios/index.html | 2 +- 1.3/tpm/index.html | 2 +- .../index.html | 2 +- 1.3/troubleshooting-reset/index.html | 2 +- 1.3/troubleshooting-restore/index.html | 2 +- 1.3/troubleshooting-upgrade/index.html | 2 +- 1.3/upgrade-lifecycle/index.html | 2 +- 1.3/upgrade/index.html | 2 +- 1.3/wifi/index.html | 2 +- 1.4/airgap/index.html | 2 +- 1.4/architecture/index.html | 2 +- 1.4/authentication/index.html | 2 +- 1.4/backup/index.html | 2 +- 1.4/cloud-config-reference/index.html | 2 +- 1.4/cluster-reference/index.html | 2 +- 1.4/custom-certificate/index.html | 2 +- 1.4/customizing/index.html | 2 +- 1.4/elemental-plans/index.html | 2 +- 1.4/elemental_behind_proxy/index.html | 2 +- .../index.html | 2 +- 1.4/hardwarelabels/index.html | 2 +- 1.4/hostname/index.html | 2 +- 1.4/index.html | 2 +- 1.4/installation/index.html | 2 +- 1.4/inventory-management/index.html | 2 +- 1.4/kubernetesversions/index.html | 2 +- .../index.html | 2 +- 1.4/machineregistration-reference/index.html | 2 +- 1.4/managedosimage-reference/index.html | 2 +- 1.4/managedosversion-reference/index.html | 2 +- .../index.html | 2 +- 1.4/networking-vlans/index.html | 2 +- 1.4/networking/index.html | 2 +- 1.4/ntp/index.html | 2 +- 1.4/quickstart-cli/index.html | 2 +- 1.4/quickstart-ui/index.html | 2 +- 1.4/rancher-vmware/index.html | 2 +- 1.4/release-notes/index.html | 2 +- 1.4/removable-device-cloudconfig/index.html | 2 +- 1.4/reset/index.html | 2 +- 1.4/restore/index.html | 2 +- 1.4/seedimage-reference/index.html | 2 +- 1.4/smbios/index.html | 2 +- 1.4/tpm/index.html | 2 +- .../index.html | 2 +- 1.4/troubleshooting-reset/index.html | 2 +- 1.4/troubleshooting-restore/index.html | 2 +- 1.4/troubleshooting-support/index.html | 2 +- 1.4/troubleshooting-upgrade/index.html | 2 +- 1.4/upgrade-lifecycle/index.html | 2 +- 1.4/upgrade/index.html | 2 +- 1.4/wifi/index.html | 2 +- 404.html | 2 +- airgap/index.html | 2 +- architecture-clusterdeployment/index.html | 2 +- architecture-components/index.html | 2 +- architecture-machineonboarding/index.html | 2 +- architecture-services/index.html | 2 +- architecture/index.html | 2 +- ...07c7e.4b9e23f3.js => 0f607c7e.750e9d55.js} | 2 +- assets/js/6e738032.59d5643b.js | 1 + assets/js/6e738032.89e6df25.js | 1 - assets/js/8d83cde9.592120fd.js | 1 + assets/js/8d83cde9.d424a30a.js | 1 - assets/js/935f2afb.42a8b95e.js | 1 + assets/js/935f2afb.fdefa21d.js | 1 - ...b78bc.6d5be92b.js => d49b78bc.d7a13b63.js} | 2 +- assets/js/e16d4658.5328fee7.js | 1 + assets/js/e16d4658.b07338a9.js | 1 - ...n.dded7d82.js => runtime~main.d406f83a.js} | 2 +- authentication/index.html | 2 +- backup/index.html | 2 +- cloud-config-reference/index.html | 2 +- cluster-reference/index.html | 2 +- custom-certificate/index.html | 2 +- custom-images/index.html | 2 +- custom-install/index.html | 2 +- custom-resources/index.html | 2 +- elemental-plans/index.html | 2 +- elemental_behind_proxy/index.html | 2 +- elementaloperatorchart-reference/index.html | 2 +- hardwarelabels/index.html | 2 +- hostname/index.html | 2 +- index.html | 2 +- installation/index.html | 2 +- inventory-management/index.html | 2 +- kubernetesversions/index.html | 2 +- machineinventory-reference/index.html | 2 +- machineinventoryselector-reference/index.html | 2 +- .../index.html | 2 +- machineregistration-reference/index.html | 2 +- managedosimage-reference/index.html | 2 +- managedosversion-reference/index.html | 2 +- managedosversionchannel-reference/index.html | 2 +- networking-vlans/index.html | 2 +- networking/index.html | 2 +- next/airgap/index.html | 2 +- .../architecture-clusterdeployment/index.html | 2 +- next/architecture-components/index.html | 2 +- .../architecture-machineonboarding/index.html | 2 +- next/architecture-services/index.html | 2 +- next/architecture/index.html | 2 +- next/authentication/index.html | 2 +- next/backup/index.html | 2 +- next/channels/index.html | 2 +- next/cloud-config-reference/index.html | 4 +-- next/cluster-reference/index.html | 4 +-- next/custom-certificate/index.html | 2 +- next/custom-images/index.html | 2 +- next/custom-install/index.html | 2 +- next/custom-resources/index.html | 2 +- next/elemental-plans/index.html | 2 +- next/elemental_behind_proxy/index.html | 2 +- .../index.html | 4 +-- next/hardwarelabels/index.html | 4 +-- next/hostname/index.html | 5 ++-- next/index.html | 2 +- next/installation/index.html | 2 +- next/inventory-management/index.html | 26 ++++++++++++------- next/kubernetesversions/index.html | 6 ++--- next/label-templates-random/index.html | 2 +- next/label-templates/index.html | 9 ++++--- next/machineinventory-reference/index.html | 4 +-- .../index.html | 4 +-- .../index.html | 4 +-- next/machineregistration-reference/index.html | 24 +++++++---------- next/managedosimage-reference/index.html | 4 +-- next/managedosversion-reference/index.html | 4 +-- .../index.html | 4 +-- next/networking-static/index.html | 2 +- next/networking/index.html | 2 +- next/ntp/index.html | 2 +- next/quickstart-cli/index.html | 2 +- next/quickstart-ui/index.html | 2 +- next/rancher-vmware/index.html | 2 +- next/raspi-disk/index.html | 2 +- next/release-notes/index.html | 2 +- next/removable-device-cloudconfig/index.html | 2 +- next/reset/index.html | 2 +- next/restore/index.html | 2 +- next/seedimage-reference/index.html | 4 +-- next/smbios/index.html | 4 +-- next/tpm/index.html | 2 +- next/troubleshooting-network/index.html | 2 +- .../index.html | 2 +- next/troubleshooting-reset/index.html | 2 +- next/troubleshooting-restore/index.html | 2 +- next/troubleshooting-support/index.html | 2 +- next/troubleshooting-upgrade/index.html | 2 +- next/unmanaged-os/index.html | 2 +- next/upgrade-lifecycle/index.html | 2 +- next/upgrade/index.html | 2 +- ntp/index.html | 2 +- quickstart-cli/index.html | 2 +- quickstart-ui/index.html | 2 +- rancher-vmware/index.html | 2 +- release-notes/index.html | 2 +- removable-device-cloudconfig/index.html | 2 +- reset/index.html | 2 +- restore/index.html | 2 +- search/index.html | 2 +- seedimage-reference/index.html | 2 +- smbios/index.html | 2 +- tpm/index.html | 2 +- troubleshooting-rancher-upgrades/index.html | 2 +- troubleshooting-reset/index.html | 2 +- troubleshooting-restore/index.html | 2 +- troubleshooting-support/index.html | 2 +- troubleshooting-upgrade/index.html | 2 +- unmanaged-os/index.html | 2 +- upgrade-lifecycle/index.html | 2 +- upgrade/index.html | 2 +- wifi/index.html | 2 +- 235 files changed, 277 insertions(+), 269 deletions(-) rename assets/js/{0f607c7e.4b9e23f3.js => 0f607c7e.750e9d55.js} (51%) create mode 100644 assets/js/6e738032.59d5643b.js delete mode 100644 assets/js/6e738032.89e6df25.js create mode 100644 assets/js/8d83cde9.592120fd.js delete mode 100644 assets/js/8d83cde9.d424a30a.js create mode 100644 assets/js/935f2afb.42a8b95e.js delete mode 100644 assets/js/935f2afb.fdefa21d.js rename assets/js/{d49b78bc.6d5be92b.js => d49b78bc.d7a13b63.js} (80%) create mode 100644 assets/js/e16d4658.5328fee7.js delete mode 100644 assets/js/e16d4658.b07338a9.js rename assets/js/{runtime~main.dded7d82.js => runtime~main.d406f83a.js} (97%) diff --git a/1.2/architecture/index.html b/1.2/architecture/index.html index 51a8c8f68..969a1fff8 100644 --- a/1.2/architecture/index.html +++ b/1.2/architecture/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/backup/index.html b/1.2/backup/index.html index 3d5f4fecb..b2d2bba35 100644 --- a/1.2/backup/index.html +++ b/1.2/backup/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/cloud-config-reference/index.html b/1.2/cloud-config-reference/index.html index b89057017..18288a27a 100644 --- a/1.2/cloud-config-reference/index.html +++ b/1.2/cloud-config-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/cluster-reference/index.html b/1.2/cluster-reference/index.html index 959c14435..f7741d892 100644 --- a/1.2/cluster-reference/index.html +++ b/1.2/cluster-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/custom-certificate/index.html b/1.2/custom-certificate/index.html index 423d0ed3e..d6efe28de 100644 --- a/1.2/custom-certificate/index.html +++ b/1.2/custom-certificate/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/customizing/index.html b/1.2/customizing/index.html index 60fc410b3..88173f80d 100644 --- a/1.2/customizing/index.html +++ b/1.2/customizing/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/elemental-plans/index.html b/1.2/elemental-plans/index.html index ea1162b2c..48fe7f9a9 100644 --- a/1.2/elemental-plans/index.html +++ b/1.2/elemental-plans/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/elemental_behind_proxy/index.html b/1.2/elemental_behind_proxy/index.html index 654a393f4..ee68633f6 100644 --- a/1.2/elemental_behind_proxy/index.html +++ b/1.2/elemental_behind_proxy/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/elementaloperatorchart-reference/index.html b/1.2/elementaloperatorchart-reference/index.html index 602cadc56..73058b0c4 100644 --- a/1.2/elementaloperatorchart-reference/index.html +++ b/1.2/elementaloperatorchart-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/hardwarelabels/index.html b/1.2/hardwarelabels/index.html index 816d10e47..67d3e85ff 100644 --- a/1.2/hardwarelabels/index.html +++ b/1.2/hardwarelabels/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/index.html b/1.2/index.html index fbd1e3823..b44b7ac01 100644 --- a/1.2/index.html +++ b/1.2/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/installation/index.html b/1.2/installation/index.html index ca7603195..dfcdd4db1 100644 --- a/1.2/installation/index.html +++ b/1.2/installation/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/inventory-management/index.html b/1.2/inventory-management/index.html index 601ae93e1..09e6b8e85 100644 --- a/1.2/inventory-management/index.html +++ b/1.2/inventory-management/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/kubernetesversions/index.html b/1.2/kubernetesversions/index.html index e12a9b3ce..e7df2698e 100644 --- a/1.2/kubernetesversions/index.html +++ b/1.2/kubernetesversions/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/machineinventoryselectortemplate-reference/index.html b/1.2/machineinventoryselectortemplate-reference/index.html index 3c2e78017..8dbbe9c25 100644 --- a/1.2/machineinventoryselectortemplate-reference/index.html +++ b/1.2/machineinventoryselectortemplate-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/machineregistration-reference/index.html b/1.2/machineregistration-reference/index.html index c9352587c..77e10ed8d 100644 --- a/1.2/machineregistration-reference/index.html +++ b/1.2/machineregistration-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/managedosimage-reference/index.html b/1.2/managedosimage-reference/index.html index 271b0cc8b..ff0452e0e 100644 --- a/1.2/managedosimage-reference/index.html +++ b/1.2/managedosimage-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/managedosversion-reference/index.html b/1.2/managedosversion-reference/index.html index 5bff92444..cc8c6d00b 100644 --- a/1.2/managedosversion-reference/index.html +++ b/1.2/managedosversion-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/managedosversionchannel-reference/index.html b/1.2/managedosversionchannel-reference/index.html index 6680280b9..cc512fe26 100644 --- a/1.2/managedosversionchannel-reference/index.html +++ b/1.2/managedosversionchannel-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/quickstart-cli/index.html b/1.2/quickstart-cli/index.html index e0b46bf3c..864529e79 100644 --- a/1.2/quickstart-cli/index.html +++ b/1.2/quickstart-cli/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/quickstart-ui/index.html b/1.2/quickstart-ui/index.html index 177dbc25f..730952b36 100644 --- a/1.2/quickstart-ui/index.html +++ b/1.2/quickstart-ui/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/rancher-vmware/index.html b/1.2/rancher-vmware/index.html index 4baa66eca..7cdac65d0 100644 --- a/1.2/rancher-vmware/index.html +++ b/1.2/rancher-vmware/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/release-notes/index.html b/1.2/release-notes/index.html index 69db6d34c..22b551110 100644 --- a/1.2/release-notes/index.html +++ b/1.2/release-notes/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/removable-device-cloudconfig/index.html b/1.2/removable-device-cloudconfig/index.html index 960d1aeb2..a17167b2b 100644 --- a/1.2/removable-device-cloudconfig/index.html +++ b/1.2/removable-device-cloudconfig/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/restore/index.html b/1.2/restore/index.html index 0249d7dc1..f837c94a9 100644 --- a/1.2/restore/index.html +++ b/1.2/restore/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/seedimage-reference/index.html b/1.2/seedimage-reference/index.html index 036abdab8..62e95615d 100644 --- a/1.2/seedimage-reference/index.html +++ b/1.2/seedimage-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/smbios/index.html b/1.2/smbios/index.html index 17f79d749..e165855ff 100644 --- a/1.2/smbios/index.html +++ b/1.2/smbios/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/tpm/index.html b/1.2/tpm/index.html index e5f7dd820..17f892dac 100644 --- a/1.2/tpm/index.html +++ b/1.2/tpm/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/troubleshooting-rancher-upgrades/index.html b/1.2/troubleshooting-rancher-upgrades/index.html index 449ae90ff..07adacb8e 100644 --- a/1.2/troubleshooting-rancher-upgrades/index.html +++ b/1.2/troubleshooting-rancher-upgrades/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/troubleshooting-restore/index.html b/1.2/troubleshooting-restore/index.html index 22ab361e3..7c3cef97c 100644 --- a/1.2/troubleshooting-restore/index.html +++ b/1.2/troubleshooting-restore/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/troubleshooting-upgrade/index.html b/1.2/troubleshooting-upgrade/index.html index 685a65104..4f900e2da 100644 --- a/1.2/troubleshooting-upgrade/index.html +++ b/1.2/troubleshooting-upgrade/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/upgrade-lifecycle/index.html b/1.2/upgrade-lifecycle/index.html index 215e01cd0..16ca6af95 100644 --- a/1.2/upgrade-lifecycle/index.html +++ b/1.2/upgrade-lifecycle/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/upgrade/index.html b/1.2/upgrade/index.html index c8c8cdecb..04ff265e1 100644 --- a/1.2/upgrade/index.html +++ b/1.2/upgrade/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.2/wifi/index.html b/1.2/wifi/index.html index 4eeb02b25..8501fce05 100644 --- a/1.2/wifi/index.html +++ b/1.2/wifi/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/architecture/index.html b/1.3/architecture/index.html index 70cc5ab80..1ead0eb28 100644 --- a/1.3/architecture/index.html +++ b/1.3/architecture/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/backup/index.html b/1.3/backup/index.html index f135b0ccd..f6c046016 100644 --- a/1.3/backup/index.html +++ b/1.3/backup/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/cloud-config-reference/index.html b/1.3/cloud-config-reference/index.html index 709a1a22f..33b848f15 100644 --- a/1.3/cloud-config-reference/index.html +++ b/1.3/cloud-config-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/cluster-reference/index.html b/1.3/cluster-reference/index.html index 3ada63ff0..7c21421e0 100644 --- a/1.3/cluster-reference/index.html +++ b/1.3/cluster-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/custom-certificate/index.html b/1.3/custom-certificate/index.html index 8a9502011..3f95065d9 100644 --- a/1.3/custom-certificate/index.html +++ b/1.3/custom-certificate/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/customizing/index.html b/1.3/customizing/index.html index 97c443f05..53b31c78d 100644 --- a/1.3/customizing/index.html +++ b/1.3/customizing/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/elemental-plans/index.html b/1.3/elemental-plans/index.html index 95830b01c..4b9c73978 100644 --- a/1.3/elemental-plans/index.html +++ b/1.3/elemental-plans/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/elemental_behind_proxy/index.html b/1.3/elemental_behind_proxy/index.html index da96cfdc9..ac66f49d0 100644 --- a/1.3/elemental_behind_proxy/index.html +++ b/1.3/elemental_behind_proxy/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/elementaloperatorchart-reference/index.html b/1.3/elementaloperatorchart-reference/index.html index d0b9c28c0..06861c200 100644 --- a/1.3/elementaloperatorchart-reference/index.html +++ b/1.3/elementaloperatorchart-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/hardwarelabels/index.html b/1.3/hardwarelabels/index.html index e42806f5d..643e4d52a 100644 --- a/1.3/hardwarelabels/index.html +++ b/1.3/hardwarelabels/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/hostname/index.html b/1.3/hostname/index.html index c4096cef7..ec410e931 100644 --- a/1.3/hostname/index.html +++ b/1.3/hostname/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/index.html b/1.3/index.html index 79496788f..7b77f52da 100644 --- a/1.3/index.html +++ b/1.3/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/installation/index.html b/1.3/installation/index.html index f3d767279..3df47902e 100644 --- a/1.3/installation/index.html +++ b/1.3/installation/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/inventory-management/index.html b/1.3/inventory-management/index.html index 63a062814..23ba95ccc 100644 --- a/1.3/inventory-management/index.html +++ b/1.3/inventory-management/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/kubernetesversions/index.html b/1.3/kubernetesversions/index.html index 2cb915516..70e724a52 100644 --- a/1.3/kubernetesversions/index.html +++ b/1.3/kubernetesversions/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/machineinventoryselectortemplate-reference/index.html b/1.3/machineinventoryselectortemplate-reference/index.html index 30d90bb6d..da7180ae8 100644 --- a/1.3/machineinventoryselectortemplate-reference/index.html +++ b/1.3/machineinventoryselectortemplate-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/machineregistration-reference/index.html b/1.3/machineregistration-reference/index.html index bbb2dd401..b93f7ab5b 100644 --- a/1.3/machineregistration-reference/index.html +++ b/1.3/machineregistration-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/managedosimage-reference/index.html b/1.3/managedosimage-reference/index.html index 679c489a9..15f697d53 100644 --- a/1.3/managedosimage-reference/index.html +++ b/1.3/managedosimage-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/managedosversion-reference/index.html b/1.3/managedosversion-reference/index.html index bf951865f..4b28ce8ac 100644 --- a/1.3/managedosversion-reference/index.html +++ b/1.3/managedosversion-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/managedosversionchannel-reference/index.html b/1.3/managedosversionchannel-reference/index.html index eb0084616..d2a3ac57c 100644 --- a/1.3/managedosversionchannel-reference/index.html +++ b/1.3/managedosversionchannel-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/quickstart-cli/index.html b/1.3/quickstart-cli/index.html index 033c62ca9..c6e7613da 100644 --- a/1.3/quickstart-cli/index.html +++ b/1.3/quickstart-cli/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/quickstart-ui/index.html b/1.3/quickstart-ui/index.html index 1cb3c5654..86ddb4f02 100644 --- a/1.3/quickstart-ui/index.html +++ b/1.3/quickstart-ui/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/rancher-vmware/index.html b/1.3/rancher-vmware/index.html index c64d9fa4c..c3e793c27 100644 --- a/1.3/rancher-vmware/index.html +++ b/1.3/rancher-vmware/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/release-notes/index.html b/1.3/release-notes/index.html index 3adeda83c..3e9b6e137 100644 --- a/1.3/release-notes/index.html +++ b/1.3/release-notes/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/removable-device-cloudconfig/index.html b/1.3/removable-device-cloudconfig/index.html index 591e9ead7..1f0255d58 100644 --- a/1.3/removable-device-cloudconfig/index.html +++ b/1.3/removable-device-cloudconfig/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/reset/index.html b/1.3/reset/index.html index 221ec52e4..c0e8065a6 100644 --- a/1.3/reset/index.html +++ b/1.3/reset/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/restore/index.html b/1.3/restore/index.html index 7fa77a32c..00d7c38d0 100644 --- a/1.3/restore/index.html +++ b/1.3/restore/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/seedimage-reference/index.html b/1.3/seedimage-reference/index.html index 5e1e657dd..bd898210a 100644 --- a/1.3/seedimage-reference/index.html +++ b/1.3/seedimage-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/smbios/index.html b/1.3/smbios/index.html index 7ccb258f1..8f2b7b247 100644 --- a/1.3/smbios/index.html +++ b/1.3/smbios/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/tpm/index.html b/1.3/tpm/index.html index 57288837b..78b35542e 100644 --- a/1.3/tpm/index.html +++ b/1.3/tpm/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/troubleshooting-rancher-upgrades/index.html b/1.3/troubleshooting-rancher-upgrades/index.html index 17e2484a0..baa318411 100644 --- a/1.3/troubleshooting-rancher-upgrades/index.html +++ b/1.3/troubleshooting-rancher-upgrades/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/troubleshooting-reset/index.html b/1.3/troubleshooting-reset/index.html index 002b01716..0efc3a29a 100644 --- a/1.3/troubleshooting-reset/index.html +++ b/1.3/troubleshooting-reset/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/troubleshooting-restore/index.html b/1.3/troubleshooting-restore/index.html index 8449b1b5a..07442eee9 100644 --- a/1.3/troubleshooting-restore/index.html +++ b/1.3/troubleshooting-restore/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/troubleshooting-upgrade/index.html b/1.3/troubleshooting-upgrade/index.html index ac25878e0..c7e1dc1eb 100644 --- a/1.3/troubleshooting-upgrade/index.html +++ b/1.3/troubleshooting-upgrade/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/upgrade-lifecycle/index.html b/1.3/upgrade-lifecycle/index.html index db6b6c246..d47f23f7b 100644 --- a/1.3/upgrade-lifecycle/index.html +++ b/1.3/upgrade-lifecycle/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/upgrade/index.html b/1.3/upgrade/index.html index 3110bd7a3..335248849 100644 --- a/1.3/upgrade/index.html +++ b/1.3/upgrade/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.3/wifi/index.html b/1.3/wifi/index.html index 78b8231f9..27fac6be9 100644 --- a/1.3/wifi/index.html +++ b/1.3/wifi/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/airgap/index.html b/1.4/airgap/index.html index 68721b038..befb1f43f 100644 --- a/1.4/airgap/index.html +++ b/1.4/airgap/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/architecture/index.html b/1.4/architecture/index.html index 288182700..a561d80be 100644 --- a/1.4/architecture/index.html +++ b/1.4/architecture/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/authentication/index.html b/1.4/authentication/index.html index e3262345b..6c5bb988e 100644 --- a/1.4/authentication/index.html +++ b/1.4/authentication/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/backup/index.html b/1.4/backup/index.html index 2fbfd11bc..a06089438 100644 --- a/1.4/backup/index.html +++ b/1.4/backup/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/cloud-config-reference/index.html b/1.4/cloud-config-reference/index.html index 6e24e6842..b2fb78257 100644 --- a/1.4/cloud-config-reference/index.html +++ b/1.4/cloud-config-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/cluster-reference/index.html b/1.4/cluster-reference/index.html index d8106edcb..fd4d6a5c8 100644 --- a/1.4/cluster-reference/index.html +++ b/1.4/cluster-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/custom-certificate/index.html b/1.4/custom-certificate/index.html index b09b8c309..5637e36ec 100644 --- a/1.4/custom-certificate/index.html +++ b/1.4/custom-certificate/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/customizing/index.html b/1.4/customizing/index.html index 1b8ca874d..5c4eef005 100644 --- a/1.4/customizing/index.html +++ b/1.4/customizing/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/elemental-plans/index.html b/1.4/elemental-plans/index.html index f5dee773f..e3e180c44 100644 --- a/1.4/elemental-plans/index.html +++ b/1.4/elemental-plans/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/elemental_behind_proxy/index.html b/1.4/elemental_behind_proxy/index.html index 35ec83808..b3e7a5aed 100644 --- a/1.4/elemental_behind_proxy/index.html +++ b/1.4/elemental_behind_proxy/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/elementaloperatorchart-reference/index.html b/1.4/elementaloperatorchart-reference/index.html index fe14caeed..8def7faa7 100644 --- a/1.4/elementaloperatorchart-reference/index.html +++ b/1.4/elementaloperatorchart-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/hardwarelabels/index.html b/1.4/hardwarelabels/index.html index 34f01eb78..890edd2c6 100644 --- a/1.4/hardwarelabels/index.html +++ b/1.4/hardwarelabels/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/hostname/index.html b/1.4/hostname/index.html index 1abb19245..8439d361a 100644 --- a/1.4/hostname/index.html +++ b/1.4/hostname/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/index.html b/1.4/index.html index 2f81ec9a2..53d4e50fc 100644 --- a/1.4/index.html +++ b/1.4/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/installation/index.html b/1.4/installation/index.html index 3b3a33988..d1eacea3d 100644 --- a/1.4/installation/index.html +++ b/1.4/installation/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/inventory-management/index.html b/1.4/inventory-management/index.html index d00ce6915..7268b31ef 100644 --- a/1.4/inventory-management/index.html +++ b/1.4/inventory-management/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/kubernetesversions/index.html b/1.4/kubernetesversions/index.html index 0c55ad6e0..50350bb62 100644 --- a/1.4/kubernetesversions/index.html +++ b/1.4/kubernetesversions/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/machineinventoryselectortemplate-reference/index.html b/1.4/machineinventoryselectortemplate-reference/index.html index 935a5ff53..5a4b0e06b 100644 --- a/1.4/machineinventoryselectortemplate-reference/index.html +++ b/1.4/machineinventoryselectortemplate-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/machineregistration-reference/index.html b/1.4/machineregistration-reference/index.html index 87f492779..964acd25d 100644 --- a/1.4/machineregistration-reference/index.html +++ b/1.4/machineregistration-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/managedosimage-reference/index.html b/1.4/managedosimage-reference/index.html index 111867955..d07650815 100644 --- a/1.4/managedosimage-reference/index.html +++ b/1.4/managedosimage-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/managedosversion-reference/index.html b/1.4/managedosversion-reference/index.html index 5f28962b2..7bbf3c0ef 100644 --- a/1.4/managedosversion-reference/index.html +++ b/1.4/managedosversion-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/managedosversionchannel-reference/index.html b/1.4/managedosversionchannel-reference/index.html index be20f10f2..fd486d675 100644 --- a/1.4/managedosversionchannel-reference/index.html +++ b/1.4/managedosversionchannel-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/networking-vlans/index.html b/1.4/networking-vlans/index.html index 065340952..752554dee 100644 --- a/1.4/networking-vlans/index.html +++ b/1.4/networking-vlans/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/networking/index.html b/1.4/networking/index.html index 4e6ef045b..905c21ef2 100644 --- a/1.4/networking/index.html +++ b/1.4/networking/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/ntp/index.html b/1.4/ntp/index.html index 11363c3ad..5dc964aff 100644 --- a/1.4/ntp/index.html +++ b/1.4/ntp/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/quickstart-cli/index.html b/1.4/quickstart-cli/index.html index e345c2da0..41711b0b7 100644 --- a/1.4/quickstart-cli/index.html +++ b/1.4/quickstart-cli/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/quickstart-ui/index.html b/1.4/quickstart-ui/index.html index 67fae9c7d..c84b043e8 100644 --- a/1.4/quickstart-ui/index.html +++ b/1.4/quickstart-ui/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/rancher-vmware/index.html b/1.4/rancher-vmware/index.html index 5bf9a25c5..1c8915920 100644 --- a/1.4/rancher-vmware/index.html +++ b/1.4/rancher-vmware/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/release-notes/index.html b/1.4/release-notes/index.html index 7efe4bf23..a41263e5e 100644 --- a/1.4/release-notes/index.html +++ b/1.4/release-notes/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/removable-device-cloudconfig/index.html b/1.4/removable-device-cloudconfig/index.html index b5a95906d..899b5e13b 100644 --- a/1.4/removable-device-cloudconfig/index.html +++ b/1.4/removable-device-cloudconfig/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/reset/index.html b/1.4/reset/index.html index f7a04901c..7ea5813de 100644 --- a/1.4/reset/index.html +++ b/1.4/reset/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/restore/index.html b/1.4/restore/index.html index a81390375..49ebed593 100644 --- a/1.4/restore/index.html +++ b/1.4/restore/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/seedimage-reference/index.html b/1.4/seedimage-reference/index.html index 7b9731862..2e7e48190 100644 --- a/1.4/seedimage-reference/index.html +++ b/1.4/seedimage-reference/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/smbios/index.html b/1.4/smbios/index.html index e7f23dc80..a59e58d2c 100644 --- a/1.4/smbios/index.html +++ b/1.4/smbios/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/tpm/index.html b/1.4/tpm/index.html index cb5d2650d..eddf77a2b 100644 --- a/1.4/tpm/index.html +++ b/1.4/tpm/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/troubleshooting-rancher-upgrades/index.html b/1.4/troubleshooting-rancher-upgrades/index.html index f3acb7be5..da251bb9d 100644 --- a/1.4/troubleshooting-rancher-upgrades/index.html +++ b/1.4/troubleshooting-rancher-upgrades/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/troubleshooting-reset/index.html b/1.4/troubleshooting-reset/index.html index 8beaf6449..7556f28ff 100644 --- a/1.4/troubleshooting-reset/index.html +++ b/1.4/troubleshooting-reset/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/troubleshooting-restore/index.html b/1.4/troubleshooting-restore/index.html index 5cd70d767..63f5fc387 100644 --- a/1.4/troubleshooting-restore/index.html +++ b/1.4/troubleshooting-restore/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/troubleshooting-support/index.html b/1.4/troubleshooting-support/index.html index e0710f7e1..0abc20c3f 100644 --- a/1.4/troubleshooting-support/index.html +++ b/1.4/troubleshooting-support/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/troubleshooting-upgrade/index.html b/1.4/troubleshooting-upgrade/index.html index ffed063f6..1c1a9d9f3 100644 --- a/1.4/troubleshooting-upgrade/index.html +++ b/1.4/troubleshooting-upgrade/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/upgrade-lifecycle/index.html b/1.4/upgrade-lifecycle/index.html index a69d00396..1b4acd5df 100644 --- a/1.4/upgrade-lifecycle/index.html +++ b/1.4/upgrade-lifecycle/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/upgrade/index.html b/1.4/upgrade/index.html index 57816ba2e..baca4158a 100644 --- a/1.4/upgrade/index.html +++ b/1.4/upgrade/index.html @@ -10,7 +10,7 @@ - + diff --git a/1.4/wifi/index.html b/1.4/wifi/index.html index c96492f16..f686e17e6 100644 --- a/1.4/wifi/index.html +++ b/1.4/wifi/index.html @@ -10,7 +10,7 @@ - + diff --git a/404.html b/404.html index c391bef37..8f6e69fc8 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - + diff --git a/airgap/index.html b/airgap/index.html index d6853fb54..0aa92d54f 100644 --- a/airgap/index.html +++ b/airgap/index.html @@ -10,7 +10,7 @@ - + diff --git a/architecture-clusterdeployment/index.html b/architecture-clusterdeployment/index.html index e6e1b8d2b..397d7963b 100644 --- a/architecture-clusterdeployment/index.html +++ b/architecture-clusterdeployment/index.html @@ -10,7 +10,7 @@ - + diff --git a/architecture-components/index.html b/architecture-components/index.html index 044cbdb7b..301eefdd6 100644 --- a/architecture-components/index.html +++ b/architecture-components/index.html @@ -10,7 +10,7 @@ - + diff --git a/architecture-machineonboarding/index.html b/architecture-machineonboarding/index.html index 3ebfc8e0f..d6576a635 100644 --- a/architecture-machineonboarding/index.html +++ b/architecture-machineonboarding/index.html @@ -10,7 +10,7 @@ - + diff --git a/architecture-services/index.html b/architecture-services/index.html index b96c64f4e..34eee773e 100644 --- a/architecture-services/index.html +++ b/architecture-services/index.html @@ -10,7 +10,7 @@ - + diff --git a/architecture/index.html b/architecture/index.html index 48047e15c..697c740a6 100644 --- a/architecture/index.html +++ b/architecture/index.html @@ -10,7 +10,7 @@ - + diff --git a/assets/js/0f607c7e.4b9e23f3.js b/assets/js/0f607c7e.750e9d55.js similarity index 51% rename from assets/js/0f607c7e.4b9e23f3.js rename to assets/js/0f607c7e.750e9d55.js index db8c4c536..3d6147e6a 100644 --- a/assets/js/0f607c7e.4b9e23f3.js +++ b/assets/js/0f607c7e.750e9d55.js @@ -1 +1 @@ -"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[5980],{13480:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>h,toc:()=>l});var s=t(17624),o=t(4552),a=t(19668);const i={sidebar_label:"Customize hostname",title:""},r=void 0,h={id:"hostname",title:"",description:"Customize hostname",source:"@site/docs/hostname.md",sourceDirName:".",slug:"/hostname",permalink:"/next/hostname",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"Customize hostname",title:""},sidebar:"docs",previous:{title:"Elemental behind proxy",permalink:"/next/elemental_behind_proxy"},next:{title:"Configure NTP",permalink:"/next/ntp"}},c={},l=[{value:"Customize hostname",id:"customize-hostname",level:2},{value:"Elemental hostname management overview",id:"elemental-hostname-management-overview",level:3},{value:"Default hostname",id:"default-hostname",level:3},{value:"Set a custom hostname",id:"set-a-custom-hostname",level:3},{value:"Keep the hostname assigned from DHCP",id:"keep-the-hostname-assigned-from-dhcp",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",p:"p",strong:"strong",...(0,o.M)(),...e.components},{CodeBlock:t,Head:i}=n;return t||u("CodeBlock",!0),i||u("Head",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i,{children:(0,s.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/hostname"})}),"\n",(0,s.jsx)(n.h2,{id:"customize-hostname",children:"Customize hostname"}),"\n",(0,s.jsx)(n.h3,{id:"elemental-hostname-management-overview",children:"Elemental hostname management overview"}),"\n",(0,s.jsxs)(n.p,{children:["When a host boots from the Elemental ISO, the hostname is temporarily set (",(0,s.jsx)(n.em,{children:"transient hostname"}),") to the one provided from the DHCP server.\nIf the DHCP server doesn't provide a hostname, the Elemental ISO provides a transient hostname\nin the form: ",(0,s.jsx)(n.code,{children:"rancher-${RANDOM}"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["As soon as the boot process is finished, the registration phase kicks in: the host connects to\nthe Elemental Operator, which creates a ",(0,s.jsx)(n.code,{children:"MachineInventory"})," for the host.\nEach host registered with the Elemental Operator is tracked by a ",(0,s.jsx)(n.code,{children:"MachineInventory"})," resource."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"name"})," of the ",(0,s.jsx)(n.code,{children:"MachineInventory"})," resource associated with the node is the permanent (static) hostname"]}),"\n",(0,s.jsx)(n.strong,{children:"eventually set to the host"}),".\nThis permanent hostname ",(0,s.jsx)(n.strong,{children:"is set on the node during the K8s cluster provisioning phase only"}),".\nBefore the K8s provisioning phase, the node hostname is either the DHCP assigned one or ",(0,s.jsx)(n.code,{children:"rancher-${RANDOM}"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["For the remainder of this section we will refer to the ",(0,s.jsx)(n.code,{children:"hostname"})," meaning the ",(0,s.jsx)(n.em,{children:"permanent"})," hostname,\ni.e., the hostname that is set after the host has been provisioned as part of a K8s cluster."]}),"\n",(0,s.jsx)(n.h3,{id:"default-hostname",children:"Default hostname"}),"\n",(0,s.jsxs)(n.p,{children:["The default name assigned to each newly created MachineInventory is in the form ",(0,s.jsx)(n.code,{children:"m-{$UUID}"}),".\nWhen the host is provisioned as part of a Cluster, that ",(0,s.jsx)(n.code,{children:"m-{UUID}"})," name is set as the hostname of\nthe corresponding host, overriding the previous assigned hostname (",(0,s.jsx)(n.code,{children:"rancher-{$RANDOM}"})," or the DHCP assigned one)."]}),"\n",(0,s.jsx)(n.h3,{id:"set-a-custom-hostname",children:"Set a custom hostname"}),"\n",(0,s.jsxs)(n.p,{children:["The hostname can be specified setting the ",(0,s.jsx)(n.a,{href:"/next/machineregistration-reference#machinename",children:(0,s.jsx)(n.code,{children:"machineName"})})," field in the\n",(0,s.jsx)(n.a,{href:"/next/machineregistration-reference",children:"'MachineRegistration'"})," resource."]}),"\n",(0,s.jsxs)(n.p,{children:["The hostname set in the ",(0,s.jsx)(n.code,{children:"machineName"})," field is expected to be in a template form, in order to be uniquely generated\nfor each registering node, using ",(0,s.jsx)(n.a,{href:"/next/smbios",children:"SMBIOS"})," and ",(0,s.jsx)(n.a,{href:"/next/hardwarelabels",children:"Hardware Labels"})," data."]}),"\n",(0,s.jsxs)(n.admonition,{title:"important note",type:"caution",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"machineName"})," field in the ",(0,s.jsx)(n.code,{children:"MachineRegistration"})," resource is used as the blueprint not\nonly for the hostname of the registering host, but also for the name of the ",(0,s.jsx)(n.code,{children:"MachineInventory"})," resource\ncreated to track the host."]}),(0,s.jsxs)(n.p,{children:["This means that if you don't use a templated ",(0,s.jsx)(n.code,{children:"machineName"})," such to generate a unique name for each\nhost that will boot using the same ",(0,s.jsx)(n.code,{children:"MachineRegistration"})," data (i.e., the same ISO), only the first\nregistering host will be successful while the others will fail: the ",(0,s.jsx)(n.code,{children:"MachineInventory"})," name must be\nunique."]})]}),"\n","\n","\n",(0,s.jsx)(n.h3,{id:"keep-the-hostname-assigned-from-dhcp",children:"Keep the hostname assigned from DHCP"}),"\n",(0,s.jsxs)(n.p,{children:["In order to keep the hostname assigned from the DHCP server before the host registers to the operator,\nthe ",(0,s.jsx)(n.code,{children:"MachineRegistration"})," ",(0,s.jsx)(n.a,{href:"/next/machineregistration-reference#machinename",children:(0,s.jsx)(n.code,{children:"machineName field"})})," should be set\nto the ",(0,s.jsx)(n.code,{children:"${System Data/Runtime/Hostname}"})," ",(0,s.jsx)(n.a,{href:"/next/hardwarelabels",children:"Hardware Label"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["This way Elemental will use the current hostname as the ",(0,s.jsx)(n.code,{children:"MachineInventory"})," name during\nthe registration phase, which will be later set as the static hostname of the host during the\nprovisioning phase."]}),"\n",(0,s.jsx)(t,{language:"yaml",title:"registration example with hostname and MachineInventory name set on the hostname got by the DHCP server",showLineNumbers:!0,children:a.c})]})}function m(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}function u(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},19668:(e,n,t)=>{t.d(n,{c:()=>s});const s='apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineName: "${System Data/Runtime/Hostname}"\n config:\n cloud-config:\n users:\n - name: root\n passwd: root\n elemental:\n install:\n reboot: true\n device: /dev/sda\n debug: true\n machineInventoryLabels:\n elemental.cattle.io/CpuTotalCores: "${System Data/CPU/Total Cores}"\n elemental.cattle.io/CpuTotalThreads: "${System Data/CPU/Total Threads}"\n elemental.cattle.io/TotalMemoryBytes: "${System Data/Memory/Total Physical Bytes}"\n elemental.cattle.io/NumberBlockDevices: "${System Data/Block Devices/Number Devices}"\n'},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>i});var s=t(11504);const o={},a=s.createContext(o);function i(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[5980],{13480:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>h,toc:()=>c});var s=t(17624),a=t(4552),o=t(19668);const i={sidebar_label:"Customize hostname",title:""},r=void 0,h={id:"hostname",title:"",description:"Customize hostname",source:"@site/docs/hostname.md",sourceDirName:".",slug:"/hostname",permalink:"/next/hostname",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"Customize hostname",title:""},sidebar:"docs",previous:{title:"Elemental behind proxy",permalink:"/next/elemental_behind_proxy"},next:{title:"Configure NTP",permalink:"/next/ntp"}},l={},c=[{value:"Customize hostname",id:"customize-hostname",level:2},{value:"Elemental hostname management overview",id:"elemental-hostname-management-overview",level:3},{value:"Default hostname",id:"default-hostname",level:3},{value:"Set a custom hostname",id:"set-a-custom-hostname",level:3},{value:"Keep the hostname assigned from DHCP",id:"keep-the-hostname-assigned-from-dhcp",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",p:"p",strong:"strong",...(0,a.M)(),...e.components},{CodeBlock:t,Head:i}=n;return t||u("CodeBlock",!0),i||u("Head",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i,{children:(0,s.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/hostname"})}),"\n",(0,s.jsx)(n.h2,{id:"customize-hostname",children:"Customize hostname"}),"\n",(0,s.jsx)(n.h3,{id:"elemental-hostname-management-overview",children:"Elemental hostname management overview"}),"\n",(0,s.jsxs)(n.p,{children:["When a host boots from the Elemental ISO, the hostname is temporarily set (",(0,s.jsx)(n.em,{children:"transient hostname"}),") to the one provided from the DHCP server.\nIf the DHCP server doesn't provide a hostname, the Elemental ISO provides a transient hostname\nin the form: ",(0,s.jsx)(n.code,{children:"rancher-${RANDOM}"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["As soon as the boot process is finished, the registration phase kicks in: the host connects to\nthe Elemental Operator, which creates a ",(0,s.jsx)(n.code,{children:"MachineInventory"})," for the host.\nEach host registered with the Elemental Operator is tracked by a ",(0,s.jsx)(n.code,{children:"MachineInventory"})," resource."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"name"})," of the ",(0,s.jsx)(n.code,{children:"MachineInventory"})," resource associated with the node is the permanent (static) hostname"]}),"\n",(0,s.jsx)(n.strong,{children:"eventually set to the host"}),".\nThis permanent hostname ",(0,s.jsx)(n.strong,{children:"is set on the node during the K8s cluster provisioning phase only"}),".\nBefore the K8s provisioning phase, the node hostname is either the DHCP assigned one or ",(0,s.jsx)(n.code,{children:"rancher-${RANDOM}"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["For the remainder of this section we will refer to the ",(0,s.jsx)(n.code,{children:"hostname"})," meaning the ",(0,s.jsx)(n.em,{children:"permanent"})," hostname,\ni.e., the hostname that is set after the host has been provisioned as part of a K8s cluster."]}),"\n",(0,s.jsx)(n.h3,{id:"default-hostname",children:"Default hostname"}),"\n",(0,s.jsxs)(n.p,{children:["The default name assigned to each newly created MachineInventory is in the form ",(0,s.jsx)(n.code,{children:"m-{$UUID}"}),".\nWhen the host is provisioned as part of a Cluster, that ",(0,s.jsx)(n.code,{children:"m-{UUID}"})," name is set as the hostname of\nthe corresponding host, overriding the previous assigned hostname (",(0,s.jsx)(n.code,{children:"rancher-{$RANDOM}"})," or the DHCP assigned one)."]}),"\n",(0,s.jsx)(n.h3,{id:"set-a-custom-hostname",children:"Set a custom hostname"}),"\n",(0,s.jsxs)(n.p,{children:["The hostname can be specified setting the ",(0,s.jsx)(n.a,{href:"/next/machineregistration-reference#machinename",children:(0,s.jsx)(n.code,{children:"machineName"})})," field in the\n",(0,s.jsx)(n.a,{href:"/next/machineregistration-reference",children:"'MachineRegistration'"})," resource."]}),"\n",(0,s.jsxs)(n.p,{children:["The hostname set in the ",(0,s.jsx)(n.code,{children:"machineName"})," field is expected to be in a template form, in order to be uniquely generated\nfor each registering node, using the ",(0,s.jsx)(n.a,{href:"/next/label-templates-random",children:"Random"}),", ",(0,s.jsx)(n.a,{href:"/next/smbios",children:"SMBIOS"})," and ",(0,s.jsx)(n.a,{href:"/next/hardwarelabels",children:"Hardware"}),"\nvariables from the ",(0,s.jsx)(n.a,{href:"/next/label-templates",children:"Label Templates"})," feature."]}),"\n",(0,s.jsxs)(n.admonition,{title:"important note",type:"caution",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"machineName"})," field in the ",(0,s.jsx)(n.code,{children:"MachineRegistration"})," resource is used as the blueprint not\nonly for the hostname of the registering host, but also for the name of the ",(0,s.jsx)(n.code,{children:"MachineInventory"})," resource\ncreated to track the host."]}),(0,s.jsxs)(n.p,{children:["This means that if you don't use a templated ",(0,s.jsx)(n.code,{children:"machineName"})," such to generate a unique name for each\nhost that will boot using the same ",(0,s.jsx)(n.code,{children:"MachineRegistration"})," data (i.e., the same ISO), only the first\nregistering host will be successful while the others will fail: the ",(0,s.jsx)(n.code,{children:"MachineInventory"})," name must be\nunique."]})]}),"\n","\n","\n",(0,s.jsx)(n.h3,{id:"keep-the-hostname-assigned-from-dhcp",children:"Keep the hostname assigned from DHCP"}),"\n",(0,s.jsxs)(n.p,{children:["In order to keep the hostname assigned from the DHCP server before the host registers to the operator,\nthe ",(0,s.jsx)(n.code,{children:"MachineRegistration"})," ",(0,s.jsx)(n.a,{href:"/next/machineregistration-reference#machinename",children:(0,s.jsx)(n.code,{children:"machineName field"})})," should be set\nto the ",(0,s.jsx)(n.code,{children:"${System Data/Runtime/Hostname}"})," ",(0,s.jsx)(n.a,{href:"/next/hardwarelabels",children:"Hardware Label"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["This way Elemental will use the current hostname as the ",(0,s.jsx)(n.code,{children:"MachineInventory"})," name during\nthe registration phase, which will be later set as the static hostname of the host during the\nprovisioning phase."]}),"\n",(0,s.jsx)(t,{language:"yaml",title:"registration example with hostname and MachineInventory name set on the hostname got by the DHCP server",showLineNumbers:!0,children:o.c})]})}function m(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}function u(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},19668:(e,n,t)=>{t.d(n,{c:()=>s});const s='apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineName: "${System Data/Runtime/Hostname}"\n config:\n cloud-config:\n users:\n - name: root\n passwd: root\n elemental:\n install:\n reboot: true\n device: /dev/sda\n debug: true\n machineInventoryLabels:\n elemental.cattle.io/CpuTotalCores: "${System Data/CPU/Total Cores}"\n elemental.cattle.io/CpuTotalThreads: "${System Data/CPU/Total Threads}"\n elemental.cattle.io/TotalMemoryBytes: "${System Data/Memory/Total Physical Bytes}"\n elemental.cattle.io/NumberBlockDevices: "${System Data/Block Devices/Number Devices}"\n'},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>i});var s=t(11504);const a={},o=s.createContext(a);function i(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6e738032.59d5643b.js b/assets/js/6e738032.59d5643b.js new file mode 100644 index 000000000..97c4e12cc --- /dev/null +++ b/assets/js/6e738032.59d5643b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[8310],{38468:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var a=t(17624),i=t(4552);const r={sidebar_label:"Inventory Management",title:"",version_badge:"1.3.0"},s=void 0,o={id:"inventory-management",title:"",description:"Inventory Management",source:"@site/docs/inventory-management.md",sourceDirName:".",slug:"/inventory-management",permalink:"/next/inventory-management",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"Inventory Management",title:"",version_badge:"1.3.0"},sidebar:"docs",previous:{title:"Kubernetes versions",permalink:"/next/kubernetesversions"},next:{title:"Machine Reset",permalink:"/next/reset"}},c={},l=[{value:"Inventory Management",id:"inventory-management",level:2},{value:"MachineInventory",id:"machineinventory",level:3},{value:"System Annotations",id:"system-annotations",level:4},{value:"Reference",id:"reference",level:4},{value:"MachineRegistration",id:"machineregistration",level:3},{value:"Reference",id:"reference-1",level:4}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.M)(),...e.components},{Head:t}=n;return t||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t,{children:(0,a.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/inventory-management"})}),"\n",(0,a.jsx)(n.h2,{id:"inventory-management",children:"Inventory Management"}),"\n",(0,a.jsx)(n.p,{children:"The Elemental operator can hold an inventory of machines and\nthe mapping of the machine to it's configuration and assigned cluster."}),"\n",(0,a.jsx)(n.h3,{id:"machineinventory",children:"MachineInventory"}),"\n",(0,a.jsxs)(n.p,{children:["The ",(0,a.jsx)(n.code,{children:"MachineInventory"})," holds all the relevant information for a registered machine."]}),"\n",(0,a.jsxs)(n.p,{children:["Upon successful registration, the ",(0,a.jsx)(n.code,{children:"MachineInventory"})," inherits all the ",(0,a.jsx)(n.code,{children:"machineInventoryLabels"}),"\nand the ",(0,a.jsx)(n.code,{children:"machineInventoryAnnotations"})," defined in the associated ",(0,a.jsx)(n.code,{children:"MachineRegistration"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["The registering host sends also a bunch of ",(0,a.jsx)(n.a,{href:"#system-annotations",children:(0,a.jsx)(n.code,{children:"system annotations"})})," tracking information regarding the authentication\nmethod used, the running OS version and the current IP address."]}),"\n",(0,a.jsxs)(n.p,{children:["Those annotations are added to the associated ",(0,a.jsx)(n.a,{href:"/next/machineinventory-reference",children:"MachineInventory"}),"."]}),"\n",(0,a.jsx)(n.p,{children:"Elemental machines attempt a registration update every 30 minutes to update labels and annotations."}),"\n",(0,a.jsx)(n.h4,{id:"system-annotations",children:"System Annotations"}),"\n",(0,a.jsxs)(n.table,{children:[(0,a.jsx)(n.thead,{children:(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.th,{children:"Key"}),(0,a.jsx)(n.th,{children:"Description"})]})}),(0,a.jsxs)(n.tbody,{children:[(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/auth"}),(0,a.jsx)(n.td,{children:"Authentication used during registration (one of 'tpm', 'emulated-tpm', 'mac', 'sys-uuid')"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/registration-ip"}),(0,a.jsx)(n.td,{children:"IP address used during last registration"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/os.unmanaged"}),(0,a.jsx)(n.td,{children:"Only present when set to 'true', disables OS management functionality on the tracked host"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/name"}),(0,a.jsx)(n.td,{children:"'NAME' from /etc/os-release"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/version"}),(0,a.jsx)(n.td,{children:"'VERSION' from /etc/os-release"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/version-id"}),(0,a.jsx)(n.td,{children:"'VERSION_ID' from /etc/os-release"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/id"}),(0,a.jsx)(n.td,{children:"'ID' from /etc/os-release"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/pretty-name"}),(0,a.jsx)(n.td,{children:"'PRETTY_NAME' from /etc/os-release"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/image"}),(0,a.jsx)(n.td,{children:"'IMAGE' from /etc/os-release"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"elemental.cattle.io/cpe-name"}),(0,a.jsx)(n.td,{children:"'CPE_NAME' from /etc/os-release"})]})]})]}),"\n",(0,a.jsx)(n.h4,{id:"reference",children:"Reference"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineInventory\nmetadata:\n # Machine annotations can be useful to identify hosts\n annotations:\n elemental.cattle.io/auth: tpm\n elemental.cattle.io/registration-ip: 192.168.122.152\n labels:\n # A label inherited from the MachineRegistration definition\n element: fire\n # Generic SMBIOS labels that are typically populated with\n # the MachineRegister approach\n machineUUID: f266c64b-3972-40e7-9937-3dc4a311436c\n manufacturer: QEMU\n productName: Standard-PC-Q35-ICH9-2009\n serialNumber: Not-Specified\n # Custom labels can be applied to each MachineInventory\n myCustomLabel: foo \n name: m-479ab68e-00ff-4081-a731-5b1a76610289\n # The namespace must match the namespace of the cluster\n # assigned to the clusters.provisioning.cattle.io resource\n namespace: fleet-default\n # A reference to the MachineInventorySelector that links the \n # machine to a Cluster definition\n ownerReferences:\n - apiVersion: elemental.cattle.io/v1beta1\n controller: true\n kind: MachineInventorySelector\n name: fire-machine-selector-qcn7d\n uid: 0a1f751e-4ca9-4a0d-919a-97ba1f434d12\nspec:\n # The hash of the TPM EK public key. This is used if you are\n # using TPM2 to identifiy nodes. Nodes can report their TPM\n # hash by using the MachineRegistration.\n tpmHash: d68795c6192af9922692f050b...\n"})}),"\n",(0,a.jsx)(n.h3,{id:"machineregistration",children:"MachineRegistration"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"MachineRegistration"})," holds information on how to install, reset, and configure all connected Elemental machines."]}),"\n",(0,a.jsxs)(n.p,{children:["The ",(0,a.jsx)(n.code,{children:"spec.machineInventoryLabels"})," and ",(0,a.jsx)(n.code,{children:"spec.machineInventoryAnnotations"})," fields hold label and annotation templates\nrendered to actual labels and annotations applied to the ",(0,a.jsx)(n.a,{href:"/next/machineinventory-reference",children:"MachineInventories"})," tracking\nthe registered machines."]}),"\n",(0,a.jsx)(n.p,{children:"Elemental machines attempt a registration update every 30 minutes to update labels and annotations."}),"\n",(0,a.jsxs)(n.p,{children:["While it's possible to modify the ",(0,a.jsx)(n.code,{children:"spec.config"})," definition, updates to the ",(0,a.jsx)(n.code,{children:"spec.config"})," will be ignored by machines that already completed installation.\nMachines that couldn't complete the installation will try again every 30 minutes by reloading the remote ",(0,a.jsx)(n.code,{children:"MachineRegistration"})," definition.\nThis can be useful to correct ",(0,a.jsx)(n.code,{children:"spec.config"})," mistakes that prevent successful installation (for ex. ",(0,a.jsx)(n.code,{children:"spec.config.elemental.install.device"}),"), without having to create a new ",(0,a.jsx)(n.code,{children:"MachineRegistration"})," and a new ISO."]}),"\n",(0,a.jsx)(n.h4,{id:"reference-1",children:"Reference"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:'apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: fire-nodes\n # The namespace must match the namespace of the cluster\n # assigned to the clusters.provisioning.cattle.io resource\n namespace: fleet-default\nspec:\n # The cloud config that will be used to provision the node\n config:\n cloud-config:\n users:\n - name: root\n passwd: root\n elemental:\n install:\n reboot: true\n device: /dev/sda\n debug: true\n reset:\n enabled: true\n debug: true\n reset-persistent: true\n reset-oem: true\n reboot: true\n # Labels to be added to the created MachineInventory object\n machineInventoryLabels:\n element: fire\n manufacturer: "${System Information/Manufacturer}"\n productName: "${System Information/Product Name}"\n serialNumber: "${System Information/Serial Number}"\n machineUUID: "${System Information/UUID}"\n # Annotations to be added to the created MachineInventory object\n machineInventoryAnnotations: {}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>o,M:()=>s});var a=t(11504);const i={},r=a.createContext(i);function s(e){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6e738032.89e6df25.js b/assets/js/6e738032.89e6df25.js deleted file mode 100644 index 740ab23b9..000000000 --- a/assets/js/6e738032.89e6df25.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[8310],{38468:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var a=t(17624),i=t(4552);const o={sidebar_label:"Inventory Management",title:"",version_badge:"1.3.0"},r=void 0,s={id:"inventory-management",title:"",description:"Inventory Management",source:"@site/docs/inventory-management.md",sourceDirName:".",slug:"/inventory-management",permalink:"/next/inventory-management",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"Inventory Management",title:"",version_badge:"1.3.0"},sidebar:"docs",previous:{title:"Hardware",permalink:"/next/hardwarelabels"},next:{title:"Machine Reset",permalink:"/next/reset"}},c={},l=[{value:"Inventory Management",id:"inventory-management",level:2},{value:"MachineInventory",id:"machineinventory",level:3},{value:"Reference",id:"reference",level:4},{value:"MachineRegistration",id:"machineregistration",level:3},{value:"Reference",id:"reference-1",level:4}];function d(e){const n={br:"br",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",...(0,i.M)(),...e.components},{Head:t}=n;return t||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t,{children:(0,a.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/inventory-management"})}),"\n",(0,a.jsx)(n.h2,{id:"inventory-management",children:"Inventory Management"}),"\n",(0,a.jsx)(n.p,{children:"The Elemental operator can hold an inventory of machines and\nthe mapping of the machine to it's configuration and assigned cluster."}),"\n",(0,a.jsx)(n.h3,{id:"machineinventory",children:"MachineInventory"}),"\n",(0,a.jsxs)(n.p,{children:["The ",(0,a.jsx)(n.code,{children:"MachineInventory"})," holds all the relevant information for a registered machine.",(0,a.jsx)(n.br,{}),"\n","Upon successful registration, the ",(0,a.jsx)(n.code,{children:"MachineInventory"})," will inherit all ",(0,a.jsx)(n.code,{children:"machineInventoryLabels"})," defined in the related ",(0,a.jsx)(n.code,{children:"MachineRegistration"}),".",(0,a.jsx)(n.br,{}),"\n","Additionally, the machine ",(0,a.jsx)(n.code,{children:"annotations"})," will also be updated on each successful registration."]}),"\n",(0,a.jsx)(n.p,{children:"By default, Elemental machines will attempt a registration update every 24 hours to update labels and annotations."}),"\n",(0,a.jsx)(n.h4,{id:"reference",children:"Reference"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineInventory\nmetadata:\n # Machine annotations can be useful to identify hosts\n annotations:\n elemental.cattle.io/auth: tpm\n elemental.cattle.io/registration-ip: 192.168.122.152\n labels:\n # A label inherited from the MachineRegistration definition\n element: fire\n # Generic SMBIOS labels that are typically populated with\n # the MachineRegister approach\n machineUUID: f266c64b-3972-40e7-9937-3dc4a311436c\n manufacturer: QEMU\n productName: Standard-PC-Q35-ICH9-2009\n serialNumber: Not-Specified\n # Custom labels can be applied to each MachineInventory\n myCustomLabel: foo \n name: m-479ab68e-00ff-4081-a731-5b1a76610289\n # The namespace must match the namespace of the cluster\n # assigned to the clusters.provisioning.cattle.io resource\n namespace: fleet-default\n # A reference to the MachineInventorySelector that links the \n # machine to a Cluster definition\n ownerReferences:\n - apiVersion: elemental.cattle.io/v1beta1\n controller: true\n kind: MachineInventorySelector\n name: fire-machine-selector-qcn7d\n uid: 0a1f751e-4ca9-4a0d-919a-97ba1f434d12\nspec:\n # The hash of the TPM EK public key. This is used if you are\n # using TPM2 to identifiy nodes. Nodes can report their TPM\n # hash by using the MachineRegistration.\n tpmHash: d68795c6192af9922692f050b...\n"})}),"\n",(0,a.jsx)(n.h3,{id:"machineregistration",children:"MachineRegistration"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"MachineRegistration"})," holds information on how to install, reset, and configure all connected Elemental machines."]}),"\n",(0,a.jsxs)(n.p,{children:["It's possible to update the ",(0,a.jsx)(n.code,{children:"spec.machineInventoryLabels"})," and ",(0,a.jsx)(n.code,{children:"spec.machineInventoryAnnotations"})," and this will be applied to all registered machines.\nBy default, Elemental machines will attempt a registration update every 24 hours to update labels and annotations."]}),"\n",(0,a.jsxs)(n.p,{children:["While it's possible to modify the ",(0,a.jsx)(n.code,{children:"spec.config"})," definition, updates to the ",(0,a.jsx)(n.code,{children:"spec.config"})," will be ignored by machines that already completed installation.\nMachines that couldn't complete the installation will try again every 30 minutes by reloading the remote ",(0,a.jsx)(n.code,{children:"MachineRegistration"})," definition. This can be useful to correct ",(0,a.jsx)(n.code,{children:"spec.config"})," mistakes that prevent successful installation (for ex. ",(0,a.jsx)(n.code,{children:"spec.config.elemental.install.device"}),"), without having to create a new ",(0,a.jsx)(n.code,{children:"MachineRegistration"})," and a new ISO."]}),"\n",(0,a.jsx)(n.h4,{id:"reference-1",children:"Reference"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:'apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: fire-nodes\n # The namespace must match the namespace of the cluster\n # assigned to the clusters.provisioning.cattle.io resource\n namespace: fleet-default\nspec:\n # The cloud config that will be used to provision the node\n config:\n cloud-config:\n users:\n - name: root\n passwd: root\n elemental:\n install:\n reboot: true\n device: /dev/sda\n debug: true\n reset:\n enabled: true\n debug: true\n reset-persistent: true\n reset-oem: true\n reboot: true\n # Labels to be added to the created MachineInventory object\n machineInventoryLabels:\n element: fire\n manufacturer: "${System Information/Manufacturer}"\n productName: "${System Information/Product Name}"\n serialNumber: "${System Information/Serial Number}"\n machineUUID: "${System Information/UUID}"\n # Annotations to be added to the created MachineInventory object\n machineInventoryAnnotations: {}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>s,M:()=>r});var a=t(11504);const i={},o=a.createContext(i);function r(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8d83cde9.592120fd.js b/assets/js/8d83cde9.592120fd.js new file mode 100644 index 000000000..b5f873ce7 --- /dev/null +++ b/assets/js/8d83cde9.592120fd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[580],{95864:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var t=r(17624),s=r(4552);const o={sidebar_label:"Kubernetes versions",title:""},a=void 0,i={id:"kubernetesversions",title:"",description:"Valid Versions",source:"@site/docs/kubernetesversions.md",sourceDirName:".",slug:"/kubernetesversions",permalink:"/next/kubernetesversions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"Kubernetes versions",title:""},sidebar:"docs",previous:{title:"Elemental Operator Helm Chart",permalink:"/next/elementaloperatorchart-reference"},next:{title:"Inventory Management",permalink:"/next/inventory-management"}},c={},l=[{value:"Valid Versions",id:"valid-versions",level:2}];function d(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,s.M)(),...e.components},{Head:r}=n;return r||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r,{children:(0,t.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/kubernetesversions"})}),"\n",(0,t.jsx)(n.h2,{id:"valid-versions",children:"Valid Versions"}),"\n",(0,t.jsxs)(n.p,{children:["The list of valid versions for the ",(0,t.jsx)(n.code,{children:"kubernetesVersion"})," field can be determined\nfrom the Rancher metadata using the following commands."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"k3s:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",metastring:"showLineNumbers",children:"curl -sL https://raw.githubusercontent.com/rancher/kontainer-driver-metadata/release-v2.6/data/data.json | jq -r '.k3s.releases[].version'\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"rke2:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",metastring:"showLineNumbers",children:"curl -sL https://raw.githubusercontent.com/rancher/kontainer-driver-metadata/release-v2.6/data/data.json | jq -r '.rke2.releases[].version'\n"})})]})}function u(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,r)=>{r.d(n,{I:()=>i,M:()=>a});var t=r(11504);const s={},o=t.createContext(s);function a(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8d83cde9.d424a30a.js b/assets/js/8d83cde9.d424a30a.js deleted file mode 100644 index 4584bb198..000000000 --- a/assets/js/8d83cde9.d424a30a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[580],{95864:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var t=r(17624),s=r(4552);const o={sidebar_label:"Kubernetes versions",title:""},i=void 0,a={id:"kubernetesversions",title:"",description:"Valid Versions",source:"@site/docs/kubernetesversions.md",sourceDirName:".",slug:"/kubernetesversions",permalink:"/next/kubernetesversions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"Kubernetes versions",title:""},sidebar:"docs",previous:{title:"Elemental Operator Helm Chart",permalink:"/next/elementaloperatorchart-reference"},next:{title:"SMBIOS",permalink:"/next/smbios"}},c={},l=[{value:"Valid Versions",id:"valid-versions",level:2}];function d(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,s.M)(),...e.components},{Head:r}=n;return r||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r,{children:(0,t.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/kubernetesversions"})}),"\n",(0,t.jsx)(n.h2,{id:"valid-versions",children:"Valid Versions"}),"\n",(0,t.jsxs)(n.p,{children:["The list of valid versions for the ",(0,t.jsx)(n.code,{children:"kubernetesVersion"})," field can be determined\nfrom the Rancher metadata using the following commands."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"k3s:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",metastring:"showLineNumbers",children:"curl -sL https://raw.githubusercontent.com/rancher/kontainer-driver-metadata/release-v2.6/data/data.json | jq -r '.k3s.releases[].version'\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"rke2:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",metastring:"showLineNumbers",children:"curl -sL https://raw.githubusercontent.com/rancher/kontainer-driver-metadata/release-v2.6/data/data.json | jq -r '.rke2.releases[].version'\n"})})]})}function u(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,r)=>{r.d(n,{I:()=>a,M:()=>i});var t=r(11504);const s={},o=t.createContext(s);function i(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.42a8b95e.js b/assets/js/935f2afb.42a8b95e.js new file mode 100644 index 000000000..d75e3b0b6 --- /dev/null +++ b/assets/js/935f2afb.42a8b95e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[5696],{35988:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next \ud83d\udea7","banner":"unreleased","badge":false,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"docs":[{"type":"link","label":"Overview","href":"/next/","docId":"index","unlisted":false},{"type":"category","collapsible":true,"collapsed":false,"label":"Quickstarts","items":[{"type":"link","label":"Elemental the visual way","href":"/next/quickstart-ui","docId":"quickstart-ui","unlisted":false},{"type":"link","label":"Elemental the command line way","href":"/next/quickstart-cli","docId":"quickstart-cli","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Architecture","items":[{"type":"link","label":"Elemental components","href":"/next/architecture-components","docId":"architecture-components","unlisted":false},{"type":"link","label":"Custom Resources","href":"/next/custom-resources","docId":"custom-resources","unlisted":false},{"type":"category","collapsible":true,"collapsed":true,"label":"Services","items":[{"type":"link","label":"Machine onboarding","href":"/next/architecture-machineonboarding","docId":"architecture-machineonboarding","unlisted":false},{"type":"link","label":"Kubernetes cluster provisioning","href":"/next/architecture-clusterdeployment","docId":"architecture-clusterdeployment","unlisted":false}],"href":"/next/architecture-services"}],"href":"/next/architecture"},{"type":"category","collapsible":true,"collapsed":true,"label":"Install/Upgrade","items":[{"type":"link","label":"Installation","href":"/next/installation","docId":"installation","unlisted":false},{"type":"link","label":"Upgrade","href":"/next/upgrade","docId":"upgrade","unlisted":false},{"type":"link","label":"Upgrade Lifecycle","href":"/next/upgrade-lifecycle","docId":"upgrade-lifecycle","unlisted":false},{"type":"link","label":"Customize Elemental Installation","href":"/next/custom-install","docId":"custom-install","unlisted":false},{"type":"link","label":"Elemental plans","href":"/next/elemental-plans","docId":"elemental-plans","unlisted":false}]},{"type":"link","label":"Authentication","href":"/next/authentication","docId":"authentication","unlisted":false},{"type":"category","collapsible":true,"collapsed":true,"label":"Label Templates","items":[{"type":"link","label":"SMBIOS","href":"/next/smbios","docId":"smbios","unlisted":false},{"type":"link","label":"Hardware","href":"/next/hardwarelabels","docId":"hardwarelabels","unlisted":false},{"type":"link","label":"Random","href":"/next/label-templates-random","docId":"label-templates-random","unlisted":false}],"href":"/next/label-templates"},{"type":"category","collapsible":true,"collapsed":true,"label":"Declarative Networking","items":[{"type":"link","label":"IPAM Driven Networking","href":"/next/networking","docId":"networking","unlisted":false},{"type":"link","label":"Static Configuration","href":"/next/networking-static","docId":"networking-static","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Reference","items":[{"type":"link","label":"Cloud-config reference","href":"/next/cloud-config-reference","docId":"cloud-config-reference","unlisted":false},{"type":"link","label":"MachineRegistration","href":"/next/machineregistration-reference","docId":"machineregistration-reference","unlisted":false},{"type":"link","label":"MachineInventory reference","href":"/next/machineinventory-reference","docId":"machineinventory-reference","unlisted":false},{"type":"link","label":"MachineInventorySelector reference","href":"/next/machineinventoryselector-reference","docId":"machineinventoryselector-reference","unlisted":false},{"type":"link","label":"MachineInventorySelectorTemplate reference","href":"/next/machineinventoryselectortemplate-reference","docId":"machineinventoryselectortemplate-reference","unlisted":false},{"type":"link","label":"ManagedOSImage reference","href":"/next/managedosimage-reference","docId":"managedosimage-reference","unlisted":false},{"type":"link","label":"ManagedOSVersionChannel reference","href":"/next/managedosversionchannel-reference","docId":"managedosversionchannel-reference","unlisted":false},{"type":"link","label":"ManagedOSVersion reference","href":"/next/managedosversion-reference","docId":"managedosversion-reference","unlisted":false},{"type":"link","label":"SeedImage reference","href":"/next/seedimage-reference","docId":"seedimage-reference","unlisted":false},{"type":"link","label":"Cluster reference","href":"/next/cluster-reference","docId":"cluster-reference","unlisted":false},{"type":"link","label":"Elemental Operator Helm Chart","href":"/next/elementaloperatorchart-reference","docId":"elementaloperatorchart-reference","unlisted":false},{"type":"link","label":"Kubernetes versions","href":"/next/kubernetesversions","docId":"kubernetesversions","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Operator","items":[{"type":"link","label":"Inventory Management","href":"/next/inventory-management","docId":"inventory-management","unlisted":false},{"type":"link","label":"Machine Reset","href":"/next/reset","docId":"reset","unlisted":false},{"type":"link","label":"Channels","href":"/next/channels","docId":"channels","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Backup","items":[{"type":"link","label":"Backup","href":"/next/backup","docId":"backup","unlisted":false},{"type":"link","label":"Restore","href":"/next/restore","docId":"restore","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"How to","items":[{"type":"link","label":"Build Custom OS Images","href":"/next/custom-images","docId":"custom-images","unlisted":false},{"type":"link","label":"Elemental behind proxy","href":"/next/elemental_behind_proxy","docId":"elemental_behind_proxy","unlisted":false},{"type":"link","label":"Customize hostname","href":"/next/hostname","docId":"hostname","unlisted":false},{"type":"link","label":"Configure NTP","href":"/next/ntp","docId":"ntp","unlisted":false},{"type":"link","label":"How to use Elemental with Rancher and VMware","href":"/next/rancher-vmware","docId":"rancher-vmware","unlisted":false},{"type":"link","label":"Include cloud-config from removable devices","href":"/next/removable-device-cloudconfig","docId":"removable-device-cloudconfig","unlisted":false},{"type":"link","label":"Add a custom certificate","href":"/next/custom-certificate","docId":"custom-certificate","unlisted":false},{"type":"link","label":"Air-Gapped Installation","href":"/next/airgap","docId":"airgap","unlisted":false},{"type":"link","label":"Building raw disk images for Raspberry Pi","href":"/next/raspi-disk","docId":"raspi-disk","unlisted":false},{"type":"link","label":"Trusted Platform Module (TPM)","href":"/next/tpm","docId":"tpm","unlisted":false},{"type":"link","label":"Register an Unmanaged OS","href":"/next/unmanaged-os","docId":"unmanaged-os","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Troubleshooting","items":[{"type":"link","label":"Support","href":"/next/troubleshooting-support","docId":"troubleshooting-support","unlisted":false},{"type":"link","label":"Rancher upgrades","href":"/next/troubleshooting-rancher-upgrades","docId":"troubleshooting-rancher-upgrades","unlisted":false},{"type":"link","label":"Restore","href":"/next/troubleshooting-restore","docId":"troubleshooting-restore","unlisted":false},{"type":"link","label":"Upgrade","href":"/next/troubleshooting-upgrade","docId":"troubleshooting-upgrade","unlisted":false},{"type":"link","label":"Reset","href":"/next/troubleshooting-reset","docId":"troubleshooting-reset","unlisted":false},{"type":"link","label":"Declarative Networking","href":"/next/troubleshooting-network","docId":"troubleshooting-network","unlisted":false}]},{"type":"link","label":"Release Notes","href":"/next/release-notes","docId":"release-notes","unlisted":false}]},"docs":{"airgap":{"id":"airgap","title":"","description":"Install Elemental in an Air-Gapped Environment","sidebar":"docs"},"architecture":{"id":"architecture","title":"","description":"Elemental is the combination of two main projects: the and the .","sidebar":"docs"},"architecture-clusterdeployment":{"id":"architecture-clusterdeployment","title":"","description":"Kubernetes cluster provisioning","sidebar":"docs"},"architecture-components":{"id":"architecture-components","title":"","description":"The components required to provide the Elemental services are:","sidebar":"docs"},"architecture-machineonboarding":{"id":"architecture-machineonboarding","title":"","description":"Machine onboarding","sidebar":"docs"},"architecture-services":{"id":"architecture-services","title":"Services","description":"Elemental functionality is provided through the following list of services:","sidebar":"docs"},"authentication":{"id":"authentication","title":"","description":"Authentication happens during Machine onboarding, when the Machine registers to the","sidebar":"docs"},"backup":{"id":"backup","title":"","description":"Since Elemental runs as part of Rancher, the Elemental resources are bundled in the Rancher backup.","sidebar":"docs"},"channels":{"id":"channels","title":"","description":"Channels","sidebar":"docs"},"cloud-config-reference":{"id":"cloud-config-reference","title":"","description":"Node OS images build using the Elemental Toolkit are expected","sidebar":"docs"},"cluster-reference":{"id":"cluster-reference","title":"","description":"A Cluster definition includes a kubernetesVersion and a list of machinePools to deploy the cluster to.","sidebar":"docs"},"custom-certificate":{"id":"custom-certificate","title":"","description":"How to add a custom certificate","sidebar":"docs"},"custom-images":{"id":"custom-images","title":"","description":"Remastering an OS image with a custom Dockerfile","sidebar":"docs"},"custom-install":{"id":"custom-install","title":"","description":"Elemental installed OS images can be customized in different ways.","sidebar":"docs"},"custom-resources":{"id":"custom-resources","title":"","description":"The allows control of the Elemental Nodes by extending the Kubernetes APIs with a set of elemental.cattle.io Kubernetes CRDs:","sidebar":"docs"},"elemental_behind_proxy":{"id":"elemental_behind_proxy","title":"","description":"Introduction","sidebar":"docs"},"elemental-plans":{"id":"elemental-plans","title":"","description":"Introduction","sidebar":"docs"},"elementaloperatorchart-reference":{"id":"elementaloperatorchart-reference","title":"","description":"The is responsible for managing the Elemental versions and maintaining a machine inventory to assist with edge or bare metal installations.","sidebar":"docs"},"hardwarelabels":{"id":"hardwarelabels","title":"","description":"Hardware Template Variables","sidebar":"docs"},"hostname":{"id":"hostname","title":"","description":"Customize hostname","sidebar":"docs"},"index":{"id":"index","title":"","description":"Elemental is a software stack enabling centralized, full cloud-native OS management with Kubernetes.","sidebar":"docs"},"installation":{"id":"installation","title":"","description":"Overview","sidebar":"docs"},"inventory-management":{"id":"inventory-management","title":"","description":"Inventory Management","sidebar":"docs"},"kubernetesversions":{"id":"kubernetesversions","title":"","description":"Valid Versions","sidebar":"docs"},"label-templates":{"id":"label-templates","title":"","description":"Elemental allows to specify label templates in the spec.machineInventoryLabels section of the","sidebar":"docs"},"label-templates-random":{"id":"label-templates-random","title":"","description":"Random Template Variables","sidebar":"docs"},"machineinventory-reference":{"id":"machineinventory-reference","title":"","description":"When a new host registers successfully, the creates a MachineInventory resource representing that particular host.","sidebar":"docs"},"machineinventoryselector-reference":{"id":"machineinventoryselector-reference","title":"","description":"A MachineInventorySelector selects MachineInventories based on applied selectors (usually pattern matching on MachineInventory label values).","sidebar":"docs"},"machineinventoryselectortemplate-reference":{"id":"machineinventoryselectortemplate-reference","title":"","description":"The MachineInventorySelectorTemplate is a user defined resource that will be used as the blueprint to create the required MachineInventorySelectors.","sidebar":"docs"},"machineregistration-reference":{"id":"machineregistration-reference","title":"","description":"The MachineRegistration resource allows:","sidebar":"docs"},"managedosimage-reference":{"id":"managedosimage-reference","title":"","description":"The ManagedOSImage resource is responsible of defining an OS image or image version that needs to be applied to each node in a set of targeted Clusters.","sidebar":"docs"},"managedosversion-reference":{"id":"managedosversion-reference","title":"","description":"The ManagedOSVersion resource is responsible of defining an OS image version that can be used with SeedImage or ManagedOSImage resources.","sidebar":"docs"},"managedosversionchannel-reference":{"id":"managedosversionchannel-reference","title":"","description":"The ManagedOSVersionChannel resource is responsible of defining OS image channel.","sidebar":"docs"},"networking":{"id":"networking","title":"","description":"Network configuration with Elemental","sidebar":"docs"},"networking-static":{"id":"networking-static","title":"","description":"Static Network with nm-configurator","sidebar":"docs"},"ntp":{"id":"ntp","title":"","description":"NTP configuration with Elemental","sidebar":"docs"},"quickstart-cli":{"id":"quickstart-cli","title":"","description":"Follow this guide to have an auto-deployed cluster via rke2/k3s and managed by Rancher","sidebar":"docs"},"quickstart-ui":{"id":"quickstart-ui","title":"","description":"The following instructions need Rancher 2.8.x at least.","sidebar":"docs"},"rancher-vmware":{"id":"rancher-vmware","title":"","description":"Excerpt","sidebar":"docs"},"raspi-disk":{"id":"raspi-disk","title":"","description":"How to build raw disk images for Raspberry Pi","sidebar":"docs"},"release-notes":{"id":"release-notes","title":"","description":"The Elemental project stack is made of various components such as the Operator and UI for example.","sidebar":"docs"},"removable-device-cloudconfig":{"id":"removable-device-cloudconfig","title":"","description":"How to include cloud-config files from removable devices","sidebar":"docs"},"reset":{"id":"reset","title":"","description":"Machine Reset","sidebar":"docs"},"restore":{"id":"restore","title":"","description":"Follow this guide to restore an Elemental configuration from a backup with Rancher.","sidebar":"docs"},"seedimage-reference":{"id":"seedimage-reference","title":"","description":"A SeedImage resource allows to build an installation media that can be used to install Elemental onto a node.","sidebar":"docs"},"smbios":{"id":"smbios","title":"","description":"SMBIOS Template Variables","sidebar":"docs"},"tpm":{"id":"tpm","title":"","description":"Trusted Platform Module (TPM, also known as ISO/IEC 11889) is an international standard for a secure cryptoprocessor, a dedicated microcontroller designed to secure hardware through integrated cryptographic keys. The term can also refer to a chip conforming to the standard.","sidebar":"docs"},"troubleshooting-network":{"id":"troubleshooting-network","title":"","description":"Given the following sample registration:","sidebar":"docs"},"troubleshooting-rancher-upgrades":{"id":"troubleshooting-rancher-upgrades","title":"","description":"Upgrading to Rancher v2.7.2 will fail if Elemental clusters are defined. The rancher pod gets stuck in a crash loop (see https://github.com/rancher/rancher/issues/41145).","sidebar":"docs"},"troubleshooting-reset":{"id":"troubleshooting-reset","title":"","description":"Each MachineInventory with the elemental.cattle.io/resettable: \\"true\\" annotation will trigger the execution of a reset plan, upon deletion.","sidebar":"docs"},"troubleshooting-restore":{"id":"troubleshooting-restore","title":"","description":"When a restore is performed, do not restart the rancher-system-agent on elemental nodes as it can stale and end with the following error:","sidebar":"docs"},"troubleshooting-support":{"id":"troubleshooting-support","title":"","description":"The elemental-support is a utility program that collects all information about the machine where the Elemental stack is running.","sidebar":"docs"},"troubleshooting-upgrade":{"id":"troubleshooting-upgrade","title":"","description":"For a high level overview of the upgrade lifecycle and components, please refer to the related document.","sidebar":"docs"},"unmanaged-os":{"id":"unmanaged-os","title":"","description":"Normally, the manages operating systems that are installed and configured by the .","sidebar":"docs"},"upgrade":{"id":"upgrade","title":"","description":"All components in Elemental are managed using Kubernetes. Below is how","sidebar":"docs"},"upgrade-lifecycle":{"id":"upgrade-lifecycle","title":"","description":"Upgrade Flow","sidebar":"docs"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.fdefa21d.js b/assets/js/935f2afb.fdefa21d.js deleted file mode 100644 index 90f8e9f96..000000000 --- a/assets/js/935f2afb.fdefa21d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[5696],{35988:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next \ud83d\udea7","banner":"unreleased","badge":false,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"docs":[{"type":"link","label":"Overview","href":"/next/","docId":"index","unlisted":false},{"type":"category","collapsible":true,"collapsed":false,"label":"Quickstarts","items":[{"type":"link","label":"Elemental the visual way","href":"/next/quickstart-ui","docId":"quickstart-ui","unlisted":false},{"type":"link","label":"Elemental the command line way","href":"/next/quickstart-cli","docId":"quickstart-cli","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Architecture","items":[{"type":"link","label":"Elemental components","href":"/next/architecture-components","docId":"architecture-components","unlisted":false},{"type":"link","label":"Custom Resources","href":"/next/custom-resources","docId":"custom-resources","unlisted":false},{"type":"category","collapsible":true,"collapsed":true,"label":"Services","items":[{"type":"link","label":"Machine onboarding","href":"/next/architecture-machineonboarding","docId":"architecture-machineonboarding","unlisted":false},{"type":"link","label":"Kubernetes cluster provisioning","href":"/next/architecture-clusterdeployment","docId":"architecture-clusterdeployment","unlisted":false}],"href":"/next/architecture-services"}],"href":"/next/architecture"},{"type":"category","collapsible":true,"collapsed":true,"label":"Install/Upgrade","items":[{"type":"link","label":"Installation","href":"/next/installation","docId":"installation","unlisted":false},{"type":"link","label":"Upgrade","href":"/next/upgrade","docId":"upgrade","unlisted":false},{"type":"link","label":"Upgrade Lifecycle","href":"/next/upgrade-lifecycle","docId":"upgrade-lifecycle","unlisted":false},{"type":"link","label":"Customize Elemental Installation","href":"/next/custom-install","docId":"custom-install","unlisted":false},{"type":"link","label":"Elemental plans","href":"/next/elemental-plans","docId":"elemental-plans","unlisted":false}]},{"type":"link","label":"Authentication","href":"/next/authentication","docId":"authentication","unlisted":false},{"type":"category","collapsible":true,"collapsed":true,"label":"Label Templates","items":[{"type":"link","label":"SMBIOS","href":"/next/smbios","docId":"smbios","unlisted":false},{"type":"link","label":"Hardware","href":"/next/hardwarelabels","docId":"hardwarelabels","unlisted":false},{"type":"link","label":"Random","href":"/next/label-templates-random","docId":"label-templates-random","unlisted":false}],"href":"/next/label-templates"},{"type":"category","collapsible":true,"collapsed":true,"label":"Declarative Networking","items":[{"type":"link","label":"IPAM Driven Networking","href":"/next/networking","docId":"networking","unlisted":false},{"type":"link","label":"Static Configuration","href":"/next/networking-static","docId":"networking-static","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Reference","items":[{"type":"link","label":"Cloud-config reference","href":"/next/cloud-config-reference","docId":"cloud-config-reference","unlisted":false},{"type":"link","label":"MachineRegistration","href":"/next/machineregistration-reference","docId":"machineregistration-reference","unlisted":false},{"type":"link","label":"MachineInventory reference","href":"/next/machineinventory-reference","docId":"machineinventory-reference","unlisted":false},{"type":"link","label":"MachineInventorySelector reference","href":"/next/machineinventoryselector-reference","docId":"machineinventoryselector-reference","unlisted":false},{"type":"link","label":"MachineInventorySelectorTemplate reference","href":"/next/machineinventoryselectortemplate-reference","docId":"machineinventoryselectortemplate-reference","unlisted":false},{"type":"link","label":"ManagedOSImage reference","href":"/next/managedosimage-reference","docId":"managedosimage-reference","unlisted":false},{"type":"link","label":"ManagedOSVersionChannel reference","href":"/next/managedosversionchannel-reference","docId":"managedosversionchannel-reference","unlisted":false},{"type":"link","label":"ManagedOSVersion reference","href":"/next/managedosversion-reference","docId":"managedosversion-reference","unlisted":false},{"type":"link","label":"SeedImage reference","href":"/next/seedimage-reference","docId":"seedimage-reference","unlisted":false},{"type":"link","label":"Cluster reference","href":"/next/cluster-reference","docId":"cluster-reference","unlisted":false},{"type":"link","label":"Elemental Operator Helm Chart","href":"/next/elementaloperatorchart-reference","docId":"elementaloperatorchart-reference","unlisted":false},{"type":"link","label":"Kubernetes versions","href":"/next/kubernetesversions","docId":"kubernetesversions","unlisted":false},{"type":"link","label":"SMBIOS","href":"/next/smbios","docId":"smbios","unlisted":false},{"type":"link","label":"Hardware","href":"/next/hardwarelabels","docId":"hardwarelabels","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Operator","items":[{"type":"link","label":"Inventory Management","href":"/next/inventory-management","docId":"inventory-management","unlisted":false},{"type":"link","label":"Machine Reset","href":"/next/reset","docId":"reset","unlisted":false},{"type":"link","label":"Channels","href":"/next/channels","docId":"channels","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Backup","items":[{"type":"link","label":"Backup","href":"/next/backup","docId":"backup","unlisted":false},{"type":"link","label":"Restore","href":"/next/restore","docId":"restore","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"How to","items":[{"type":"link","label":"Build Custom OS Images","href":"/next/custom-images","docId":"custom-images","unlisted":false},{"type":"link","label":"Elemental behind proxy","href":"/next/elemental_behind_proxy","docId":"elemental_behind_proxy","unlisted":false},{"type":"link","label":"Customize hostname","href":"/next/hostname","docId":"hostname","unlisted":false},{"type":"link","label":"Configure NTP","href":"/next/ntp","docId":"ntp","unlisted":false},{"type":"link","label":"How to use Elemental with Rancher and VMware","href":"/next/rancher-vmware","docId":"rancher-vmware","unlisted":false},{"type":"link","label":"Include cloud-config from removable devices","href":"/next/removable-device-cloudconfig","docId":"removable-device-cloudconfig","unlisted":false},{"type":"link","label":"Add a custom certificate","href":"/next/custom-certificate","docId":"custom-certificate","unlisted":false},{"type":"link","label":"Air-Gapped Installation","href":"/next/airgap","docId":"airgap","unlisted":false},{"type":"link","label":"Building raw disk images for Raspberry Pi","href":"/next/raspi-disk","docId":"raspi-disk","unlisted":false},{"type":"link","label":"Trusted Platform Module (TPM)","href":"/next/tpm","docId":"tpm","unlisted":false},{"type":"link","label":"Register an Unmanaged OS","href":"/next/unmanaged-os","docId":"unmanaged-os","unlisted":false}]},{"type":"category","collapsible":true,"collapsed":true,"label":"Troubleshooting","items":[{"type":"link","label":"Support","href":"/next/troubleshooting-support","docId":"troubleshooting-support","unlisted":false},{"type":"link","label":"Rancher upgrades","href":"/next/troubleshooting-rancher-upgrades","docId":"troubleshooting-rancher-upgrades","unlisted":false},{"type":"link","label":"Restore","href":"/next/troubleshooting-restore","docId":"troubleshooting-restore","unlisted":false},{"type":"link","label":"Upgrade","href":"/next/troubleshooting-upgrade","docId":"troubleshooting-upgrade","unlisted":false},{"type":"link","label":"Reset","href":"/next/troubleshooting-reset","docId":"troubleshooting-reset","unlisted":false},{"type":"link","label":"Declarative Networking","href":"/next/troubleshooting-network","docId":"troubleshooting-network","unlisted":false}]},{"type":"link","label":"Release Notes","href":"/next/release-notes","docId":"release-notes","unlisted":false}]},"docs":{"airgap":{"id":"airgap","title":"","description":"Install Elemental in an Air-Gapped Environment","sidebar":"docs"},"architecture":{"id":"architecture","title":"","description":"Elemental is the combination of two main projects: the and the .","sidebar":"docs"},"architecture-clusterdeployment":{"id":"architecture-clusterdeployment","title":"","description":"Kubernetes cluster provisioning","sidebar":"docs"},"architecture-components":{"id":"architecture-components","title":"","description":"The components required to provide the Elemental services are:","sidebar":"docs"},"architecture-machineonboarding":{"id":"architecture-machineonboarding","title":"","description":"Machine onboarding","sidebar":"docs"},"architecture-services":{"id":"architecture-services","title":"Services","description":"Elemental functionality is provided through the following list of services:","sidebar":"docs"},"authentication":{"id":"authentication","title":"","description":"Authentication happens during Machine onboarding, when the Machine registers to the","sidebar":"docs"},"backup":{"id":"backup","title":"","description":"Since Elemental runs as part of Rancher, the Elemental resources are bundled in the Rancher backup.","sidebar":"docs"},"channels":{"id":"channels","title":"","description":"Channels","sidebar":"docs"},"cloud-config-reference":{"id":"cloud-config-reference","title":"","description":"Node OS images build using the Elemental Toolkit are expected","sidebar":"docs"},"cluster-reference":{"id":"cluster-reference","title":"","description":"A Cluster definition includes a kubernetesVersion and a list of machinePools to deploy the cluster to.","sidebar":"docs"},"custom-certificate":{"id":"custom-certificate","title":"","description":"How to add a custom certificate","sidebar":"docs"},"custom-images":{"id":"custom-images","title":"","description":"Remastering an OS image with a custom Dockerfile","sidebar":"docs"},"custom-install":{"id":"custom-install","title":"","description":"Elemental installed OS images can be customized in different ways.","sidebar":"docs"},"custom-resources":{"id":"custom-resources","title":"","description":"The allows control of the Elemental Nodes by extending the Kubernetes APIs with a set of elemental.cattle.io Kubernetes CRDs:","sidebar":"docs"},"elemental_behind_proxy":{"id":"elemental_behind_proxy","title":"","description":"Introduction","sidebar":"docs"},"elemental-plans":{"id":"elemental-plans","title":"","description":"Introduction","sidebar":"docs"},"elementaloperatorchart-reference":{"id":"elementaloperatorchart-reference","title":"","description":"The is responsible for managing the Elemental versions and maintaining a machine inventory to assist with edge or bare metal installations.","sidebar":"docs"},"hardwarelabels":{"id":"hardwarelabels","title":"","description":"Hardware Template Variables","sidebar":"docs"},"hostname":{"id":"hostname","title":"","description":"Customize hostname","sidebar":"docs"},"index":{"id":"index","title":"","description":"Elemental is a software stack enabling centralized, full cloud-native OS management with Kubernetes.","sidebar":"docs"},"installation":{"id":"installation","title":"","description":"Overview","sidebar":"docs"},"inventory-management":{"id":"inventory-management","title":"","description":"Inventory Management","sidebar":"docs"},"kubernetesversions":{"id":"kubernetesversions","title":"","description":"Valid Versions","sidebar":"docs"},"label-templates":{"id":"label-templates","title":"","description":"Elemental allows to specify label templates in the spec.machineInventoryLabels section of the","sidebar":"docs"},"label-templates-random":{"id":"label-templates-random","title":"","description":"Random Template Variables","sidebar":"docs"},"machineinventory-reference":{"id":"machineinventory-reference","title":"","description":"When a new host registers successfully, the creates a MachineInventory resource representing that particular host.","sidebar":"docs"},"machineinventoryselector-reference":{"id":"machineinventoryselector-reference","title":"","description":"A MachineInventorySelector selects MachineInventories based on applied selectors (usually pattern matching on MachineInventory label values).","sidebar":"docs"},"machineinventoryselectortemplate-reference":{"id":"machineinventoryselectortemplate-reference","title":"","description":"The MachineInventorySelectorTemplate is a user defined resource that will be used as the blueprint to create the required MachineInventorySelectors.","sidebar":"docs"},"machineregistration-reference":{"id":"machineregistration-reference","title":"","description":"The MachineRegistration resource allows:","sidebar":"docs"},"managedosimage-reference":{"id":"managedosimage-reference","title":"","description":"The ManagedOSImage resource is responsible of defining an OS image or image version that needs to be applied to each node in a set of targeted Clusters.","sidebar":"docs"},"managedosversion-reference":{"id":"managedosversion-reference","title":"","description":"The ManagedOSVersion resource is responsible of defining an OS image version that can be used with SeedImage or ManagedOSImage resources.","sidebar":"docs"},"managedosversionchannel-reference":{"id":"managedosversionchannel-reference","title":"","description":"The ManagedOSVersionChannel resource is responsible of defining OS image channel.","sidebar":"docs"},"networking":{"id":"networking","title":"","description":"Network configuration with Elemental","sidebar":"docs"},"networking-static":{"id":"networking-static","title":"","description":"Static Network with nm-configurator","sidebar":"docs"},"ntp":{"id":"ntp","title":"","description":"NTP configuration with Elemental","sidebar":"docs"},"quickstart-cli":{"id":"quickstart-cli","title":"","description":"Follow this guide to have an auto-deployed cluster via rke2/k3s and managed by Rancher","sidebar":"docs"},"quickstart-ui":{"id":"quickstart-ui","title":"","description":"The following instructions need Rancher 2.8.x at least.","sidebar":"docs"},"rancher-vmware":{"id":"rancher-vmware","title":"","description":"Excerpt","sidebar":"docs"},"raspi-disk":{"id":"raspi-disk","title":"","description":"How to build raw disk images for Raspberry Pi","sidebar":"docs"},"release-notes":{"id":"release-notes","title":"","description":"The Elemental project stack is made of various components such as the Operator and UI for example.","sidebar":"docs"},"removable-device-cloudconfig":{"id":"removable-device-cloudconfig","title":"","description":"How to include cloud-config files from removable devices","sidebar":"docs"},"reset":{"id":"reset","title":"","description":"Machine Reset","sidebar":"docs"},"restore":{"id":"restore","title":"","description":"Follow this guide to restore an Elemental configuration from a backup with Rancher.","sidebar":"docs"},"seedimage-reference":{"id":"seedimage-reference","title":"","description":"A SeedImage resource allows to build an installation media that can be used to install Elemental onto a node.","sidebar":"docs"},"smbios":{"id":"smbios","title":"","description":"SMBIOS Template Variables","sidebar":"docs"},"tpm":{"id":"tpm","title":"","description":"Trusted Platform Module (TPM, also known as ISO/IEC 11889) is an international standard for a secure cryptoprocessor, a dedicated microcontroller designed to secure hardware through integrated cryptographic keys. The term can also refer to a chip conforming to the standard.","sidebar":"docs"},"troubleshooting-network":{"id":"troubleshooting-network","title":"","description":"Given the following sample registration:","sidebar":"docs"},"troubleshooting-rancher-upgrades":{"id":"troubleshooting-rancher-upgrades","title":"","description":"Upgrading to Rancher v2.7.2 will fail if Elemental clusters are defined. The rancher pod gets stuck in a crash loop (see https://github.com/rancher/rancher/issues/41145).","sidebar":"docs"},"troubleshooting-reset":{"id":"troubleshooting-reset","title":"","description":"Each MachineInventory with the elemental.cattle.io/resettable: \\"true\\" annotation will trigger the execution of a reset plan, upon deletion.","sidebar":"docs"},"troubleshooting-restore":{"id":"troubleshooting-restore","title":"","description":"When a restore is performed, do not restart the rancher-system-agent on elemental nodes as it can stale and end with the following error:","sidebar":"docs"},"troubleshooting-support":{"id":"troubleshooting-support","title":"","description":"The elemental-support is a utility program that collects all information about the machine where the Elemental stack is running.","sidebar":"docs"},"troubleshooting-upgrade":{"id":"troubleshooting-upgrade","title":"","description":"For a high level overview of the upgrade lifecycle and components, please refer to the related document.","sidebar":"docs"},"unmanaged-os":{"id":"unmanaged-os","title":"","description":"Normally, the manages operating systems that are installed and configured by the .","sidebar":"docs"},"upgrade":{"id":"upgrade","title":"","description":"All components in Elemental are managed using Kubernetes. Below is how","sidebar":"docs"},"upgrade-lifecycle":{"id":"upgrade-lifecycle","title":"","description":"Upgrade Flow","sidebar":"docs"}}}')}}]); \ No newline at end of file diff --git a/assets/js/d49b78bc.6d5be92b.js b/assets/js/d49b78bc.d7a13b63.js similarity index 80% rename from assets/js/d49b78bc.6d5be92b.js rename to assets/js/d49b78bc.d7a13b63.js index eaf595cac..0f82c6af9 100644 --- a/assets/js/d49b78bc.6d5be92b.js +++ b/assets/js/d49b78bc.d7a13b63.js @@ -1 +1 @@ -"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[6365],{24308:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var i=t(17624),s=t(4552);const r={sidebar_label:"MachineRegistration",title:""},l="MachineRegistration reference",d={id:"machineregistration-reference",title:"",description:"The MachineRegistration resource allows:",source:"@site/docs/machineregistration-reference.md",sourceDirName:".",slug:"/machineregistration-reference",permalink:"/next/machineregistration-reference",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"MachineRegistration",title:""},sidebar:"docs",previous:{title:"Cloud-config reference",permalink:"/next/cloud-config-reference"},next:{title:"MachineInventory reference",permalink:"/next/machineinventory-reference"}},a={},c=[{value:"config.cloud-config",id:"configcloud-config",level:4},{value:"config.network",id:"confignetwork",level:4},{value:"config.elemental.registration",id:"configelementalregistration",level:4},{value:"config.elemental.install",id:"configelementalinstall",level:4},{value:"config.elemental.install.device-selector",id:"configelementalinstalldevice-selector",level:4},{value:"config.elemental.reset",id:"configelementalreset",level:4},{value:"machineName",id:"machinename",level:4},{value:"machineInventoryLabels",id:"machineinventorylabels",level:4},{value:"machineInventoryAnnotations",id:"machineinventoryannotations",level:4}];function o(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",em:"em",h1:"h1",h4:"h4",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.M)(),...e.components},{Details:t,Head:r,Vars:l}=n;return t||x("Details",!0),r||x("Head",!0),l||x("Vars",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r,{children:(0,i.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/machineregistration"})}),"\n",(0,i.jsx)(n.h1,{id:"machineregistration-reference",children:"MachineRegistration reference"}),"\n",(0,i.jsx)(n.p,{children:"The MachineRegistration resource allows:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"to configure the registration process"}),"\n",(0,i.jsx)(n.li,{children:"to provide OS installation parameters"}),"\n",(0,i.jsxs)(n.li,{children:["to define the ",(0,i.jsx)(n.a,{href:"/next/architecture-services",children:"Elemental services"})," enabled for the registering machine\nOnce created it generates the registration URL used by nodes to register and start the ",(0,i.jsx)(n.a,{href:"/next/architecture-machineonboarding",children:"machine onboarding"})," process."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["The MachineRegistration has a ",(0,i.jsx)(n.code,{children:"Ready"})," condition which turns to true when the ",(0,i.jsx)(l,{name:"elemental_operator_name"})," has successfully generated the registration URL and an associated ",(0,i.jsx)(n.code,{children:"ServiceAccount"}),". From this point on the target host can connect to the registration URL to kick off the provisioning process."]}),"\n",(0,i.jsxs)(n.p,{children:["An HTTP GET request against the registration URL returns the ",(0,i.jsx)(n.em,{children:"registration file"}),": a .yaml file containing the registration data (i.e., the ",(0,i.jsx)(n.em,{children:"spec:config:elemental:registration"})," section from the just created MachineRegistration).\nThe registration file contains all the required data to allow the target host to perform self registration and start the Elemental provisioning."]}),"\n",(0,i.jsxs)(n.p,{children:["There are several keys that can be configured under a ",(0,i.jsx)(n.code,{children:"MachineRegistration"})," resource spec."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:'title="MachineRegistration" showLineNumbers',children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineName: name\n machineInventoryLabels:\n label: value\n machineInventoryAnnotations:\n annotation: value\n config:\n cloud-config:\n ...\n elemental:\n registration:\n ...\n install:\n ... \n"})}),"\n",(0,i.jsx)(n.h4,{id:"configcloud-config",children:"config.cloud-config"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the cloud-configuration to be injected in the node.",(0,i.jsx)(n.br,{}),"\n","Both yip and cloud-init syntax are supported. See the ",(0,i.jsx)(n.a,{href:"/next/cloud-config-reference",children:"Cloud Config Reference"})," for full information."]}),"\n",(0,i.jsx)(n.h4,{id:"confignetwork",children:"config.network"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the Declarative Networking configuration, supporting integration with ",(0,i.jsx)(n.a,{href:"https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20220125-ipam-integration.md#ipam-provider",children:"CAPI IPAM Providers"}),".",(0,i.jsx)(n.br,{}),"\n","See the ",(0,i.jsx)(n.a,{href:"/next/networking",children:"Declarative Networking Reference"})," for full information."]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"configurator"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"nmc"}),(0,i.jsxs)(n.td,{children:["The network configurator type to use (",(0,i.jsx)(n.code,{children:"nmc"}),", ",(0,i.jsx)(n.code,{children:"nmstate"}),", or ",(0,i.jsx)(n.code,{children:"nmconnections"}),")"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"ipAddresses"}),(0,i.jsx)(n.td,{children:"objRefMap"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["A map of ",(0,i.jsx)(n.code,{children:"IPPool"})," references. Map keys can be used for IPAddress substitution in the network config template."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"config"}),(0,i.jsx)(n.td,{children:"obj"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["The network config template. Syntax varies depending on the ",(0,i.jsx)(n.code,{children:"configurator"})," in use."]})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"configelementalregistration",children:"config.elemental.registration"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the configuration used for the connection and the initial registration to the ",(0,i.jsx)(l,{name:"elemental_operator_name"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Supports the following values:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"url"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["URL to connect to the ",(0,i.jsx)(l,{name:"elemental_operator_name"})]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"ca-cert"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"CA to validate the certificate provided by the server at 'url' (required if the certificate is not signed by a public CA)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"no-smbios"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsxs)(n.td,{children:["Whether SMBIOS data should be sent to the ",(0,i.jsx)(l,{name:"elemental_operator_name"})," (see the ",(0,i.jsx)(n.a,{href:"/next/smbios",children:"SMBIOS reference"})," for more information)"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"no-toolkit"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsxs)(n.td,{children:["Disables the ",(0,i.jsx)(l,{name:"elemental_toolkit_name",link:"elemental_toolkit_url"})," support and allows registration of an ",(0,i.jsx)(n.a,{href:"/next/unmanaged-os",children:"unmanaged OS"})]})]})]})]}),"\n",(0,i.jsxs)(n.admonition,{type:"warning",children:[(0,i.jsx)(n.p,{children:"The following values are for development purposes only."}),(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"auth"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"tpm"}),(0,i.jsxs)(n.td,{children:["Authentication method to use during registration, one of ",(0,i.jsx)(n.code,{children:"tpm"}),", ",(0,i.jsx)(n.code,{children:"mac"})," or ",(0,i.jsx)(n.code,{children:"sys-uuid"}),". See ",(0,i.jsx)(n.a,{href:"/next/authentication",children:"Authentication"})," for more information"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"emulate-tpm"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"This will use software emulation of the TPM (required for hosts without TPM hardware)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"emulated-tpm-seed"}),(0,i.jsx)(n.td,{children:"int64"}),(0,i.jsx)(n.td,{children:"1"}),(0,i.jsxs)(n.td,{children:["Fixed seed to use with 'emulate-tpm'. Set to -1 to get a random seed. See ",(0,i.jsx)(n.a,{href:"/next/tpm",children:"TPM"})," for more information"]})]})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"configelementalinstall",children:"config.elemental.install"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the installation configuration that would be applied via ",(0,i.jsx)(n.code,{children:"elemental-register --install"})," when booted from an ISO and passed to ",(0,i.jsx)(n.a,{href:"https://github.com/rancher/elemental-toolkit/blob/main/docs/elemental_install.md",children:(0,i.jsx)(n.code,{children:"elemental install"})})]}),"\n",(0,i.jsx)(n.p,{children:"Supports the following values:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"firmware"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"efi"}),(0,i.jsx)(n.td,{children:"Firmware to install ('efi' or 'bios')"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"device"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Device to install the system to"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"device-selector"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Rules for picking device to install the system to"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"no-format"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Don\u2019t format disks. It is implied that COS_STATE, COS_RECOVERY, COS_PERSISTENT, COS_OEM partitions are already existing on the target disk"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"config-urls"}),(0,i.jsx)(n.td,{children:"list"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Cloud-init config files locations"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"iso"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Performs an installation from the ISO url instead of the running ISO"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"system-uri"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["Sets the system image source and its type (e.g. 'docker",":registry",".org/image",":tag","') instead of using the running ISO"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"debug"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Enable debug output"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"tty"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Add named tty to grub"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"poweroff"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Shutdown the system after install"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"reboot"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Reboot the system after install"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"snapshotter"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"loopdevice"}),(0,i.jsx)(n.td,{children:"Type of device used to manage snapshots in OS images ('loopdevice' or 'btrfs')."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"eject-cd"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Try to eject the cd on reboot"})]})]})]}),"\n",(0,i.jsx)(n.admonition,{title:"warning",type:"warning",children:(0,i.jsxs)(n.p,{children:["In case of using both ",(0,i.jsx)(n.code,{children:"iso"})," and ",(0,i.jsx)(n.code,{children:"system-uri"})," the ",(0,i.jsx)(n.code,{children:"iso"})," value takes precedence"]})}),"\n",(0,i.jsxs)(n.p,{children:["It is only required to specify either the ",(0,i.jsx)(n.code,{children:"device"})," or ",(0,i.jsx)(n.code,{children:"device-selector"})," fields for a successful install, the rest of the parameters are all optional."]}),"\n",(0,i.jsxs)(n.p,{children:["If both ",(0,i.jsx)(n.code,{children:"device"})," and ",(0,i.jsx)(n.code,{children:"device-selector"})," is specified the value of ",(0,i.jsx)(n.code,{children:"device"})," is used and ",(0,i.jsx)(n.code,{children:"device-selector"})," is ignored."]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n config:\n elemental:\n install:\n device: /dev/sda\n debug: true\n reboot: true\n eject-cd: true\n system-uri: registry.suse.com/rancher/sle-micro/5.5:latest\n"})})]}),"\n",(0,i.jsx)(n.h4,{id:"configelementalinstalldevice-selector",children:"config.elemental.install.device-selector"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"device-selector"})," field can be used to dynamically pick device during installation. The field contains a list of rules that looks like the following:"]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example device-selector based on device name"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"device-selector:\n- key: Name\n operator: In\n values:\n - /dev/sda\n - /dev/vda\n - /dev/nvme0\n"})})]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example device-selector based on device size"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"device-selector:\n- key: Size\n operator: Lt\n values:\n - 100Gi\n- key: Size\n operator: Gt\n values:\n - 30Gi\n"})})]}),"\n",(0,i.jsx)(n.p,{children:"The currently supported operators are:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Operator"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"In"}),(0,i.jsx)(n.td,{children:"The key matches one of the provided values"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"NotIn"}),(0,i.jsx)(n.td,{children:"The key does not match any of the provided values"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"Gt"}),(0,i.jsx)(n.td,{children:"The key is greater than a single provided value"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"Lt"}),(0,i.jsx)(n.td,{children:"The key is lesser than a single provided value"})]})]})]}),"\n",(0,i.jsx)(n.p,{children:"The currently supported keys are:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"Name"}),(0,i.jsx)(n.td,{children:"The device name (eg. /dev/sda)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"Size"}),(0,i.jsx)(n.td,{children:"The device size (values can be specified using kubernetes resources, eg 100Gi)"})]})]})]}),"\n",(0,i.jsxs)(n.p,{children:["The rules are AND",":ed"," together, which means all rules must match the targeted device."]}),"\n",(0,i.jsx)(n.h4,{id:"configelementalreset",children:"config.elemental.reset"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the reset configuration that would be applied via ",(0,i.jsx)(n.code,{children:"elemental-register --reset"}),", when booted from the recovery partition and passed to ",(0,i.jsx)(n.a,{href:"https://github.com/rancher/elemental-toolkit/blob/main/docs/elemental_reset.md",children:(0,i.jsx)(n.code,{children:"elemental reset"})})]}),"\n",(0,i.jsx)(n.p,{children:"Supports the following values:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"enabled"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"MachineInventories created from this MachineRegistration will have reset functionality enabled"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"reset-persistent"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"true"}),(0,i.jsx)(n.td,{children:"Format the COS_PERSISTENT partition"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"reset-oem"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"true"}),(0,i.jsx)(n.td,{children:"Format the COS_OEM partition"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"config-urls"}),(0,i.jsx)(n.td,{children:"list"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Cloud-init config files"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"system-uri"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["Sets the system image source and its type (e.g. 'docker",":registry",".org/image",":tag","') instead of using the running ISO"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"debug"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Enable debug output"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"poweroff"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Shutdown the system after reset"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"reboot"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"true"}),(0,i.jsx)(n.td,{children:"Reboot the system after reset"})]})]})]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n config:\n elemental:\n reset:\n enabled: true\n debug: true\n reset-persistent: true\n reset-oem: true\n reboot: true\n system-uri: registry.suse.com/rancher/sle-micro/5.5:latest\n"})})]}),"\n",(0,i.jsx)(n.h4,{id:"machinename",children:"machineName"}),"\n",(0,i.jsxs)(n.p,{children:["This refers to the name that will be set to the node and the kubernetes resources that require a hostname (rke2 deployed pods for example, they use the node hostname as part of the pod names)\n",(0,i.jsx)(n.code,{children:"String"})," type."]}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["When ",(0,i.jsx)(n.code,{children:"elemental:registration:no-smbios"})," is set to ",(0,i.jsx)(n.code,{children:"false"})," (default), machineName is interpolated with ",(0,i.jsx)(n.a,{href:"https://www.dmtf.org/standards/smbios",children:"SMBIOS"})," data which allows you to store hardware information.\nSee our ",(0,i.jsx)(n.a,{href:"/next/smbios",children:"SMBIOS docs"})," for more information.\nIf no ",(0,i.jsx)(n.code,{children:"machineName"})," is specified, a default one in the form ",(0,i.jsx)(n.code,{children:"m-$UUID"})," will be set.\nThe UUID will be retrieved from the SMBIOS data if available, otherwise a random UUID will be generated."]})}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineName: hostname-test-4\n"})})]}),"\n",(0,i.jsx)(n.h4,{id:"machineinventorylabels",children:"machineInventoryLabels"}),"\n",(0,i.jsxs)(n.p,{children:["Labels that will be set to the ",(0,i.jsx)(n.code,{children:"MachineInventory"})," that is created from this ",(0,i.jsx)(n.code,{children:"MachineRegistration"}),"\n",(0,i.jsx)(n.code,{children:"Key: value"})," type. These labels will be used to establish a selection criteria in ",(0,i.jsx)(n.a,{href:"/next/machineinventoryselectortemplate-reference",children:"MachineInventorySelectorTemplate"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Elemental nodes will run ",(0,i.jsx)(n.code,{children:"elemental-register"})," every 24 hours.",(0,i.jsx)(n.br,{}),"\n","It is possible to update the ",(0,i.jsx)(n.code,{children:"machineInventoryLabels"})," so that all registered nodes will apply the new labels on the next successfull registration update."]}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["When ",(0,i.jsx)(n.code,{children:"elemental:registration:no-smbios"})," is set to ",(0,i.jsx)(n.code,{children:"false"})," (default), Labels are interpolated with ",(0,i.jsx)(n.a,{href:"https://www.dmtf.org/standards/smbios",children:"SMBIOS"})," data. This allows to store hardware information in custom labels.\nSee our ",(0,i.jsx)(n.a,{href:"/next/smbios",children:"SMBIOS docs"})," for more information."]})}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:'apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineInventoryLabels:\n my.prefix.io/element: fire\n my.prefix.io/cpus: 32\n my.prefix.io/manufacturer: "${System Information/Manufacturer}"\n my.prefix.io/productName: "${System Information/Product Name}"\n my.prefix.io/serialNumber: "${System Information/Serial Number}"\n my.prefix.io/machineUUID: "${System Information/UUID}"\n'})})]}),"\n",(0,i.jsx)(n.h4,{id:"machineinventoryannotations",children:"machineInventoryAnnotations"}),"\n",(0,i.jsxs)(n.p,{children:["Annotations that will be set to the ",(0,i.jsx)(n.code,{children:"MachineInventory"})," that is created from this ",(0,i.jsx)(n.code,{children:"MachineRegistration"}),"\n",(0,i.jsx)(n.code,{children:"Key: value"})," type"]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineInventoryAnnotations:\n owner: bob\n version: 1.0.0\n"})})]})]})}function h(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}function x(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},4552:(e,n,t)=>{t.d(n,{I:()=>d,M:()=>l});var i=t(11504);const s={},r=i.createContext(s);function l(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[6365],{24308:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>d,toc:()=>a});var i=t(17624),s=t(4552);const r={sidebar_label:"MachineRegistration",title:""},l="MachineRegistration reference",d={id:"machineregistration-reference",title:"",description:"The MachineRegistration resource allows:",source:"@site/docs/machineregistration-reference.md",sourceDirName:".",slug:"/machineregistration-reference",permalink:"/next/machineregistration-reference",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"MachineRegistration",title:""},sidebar:"docs",previous:{title:"Cloud-config reference",permalink:"/next/cloud-config-reference"},next:{title:"MachineInventory reference",permalink:"/next/machineinventory-reference"}},c={},a=[{value:"config.cloud-config",id:"configcloud-config",level:4},{value:"config.network",id:"confignetwork",level:4},{value:"config.elemental.registration",id:"configelementalregistration",level:4},{value:"config.elemental.install",id:"configelementalinstall",level:4},{value:"config.elemental.install.device-selector",id:"configelementalinstalldevice-selector",level:4},{value:"config.elemental.reset",id:"configelementalreset",level:4},{value:"machineName",id:"machinename",level:4},{value:"machineInventoryLabels",id:"machineinventorylabels",level:4},{value:"machineInventoryAnnotations",id:"machineinventoryannotations",level:4}];function o(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",em:"em",h1:"h1",h4:"h4",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.M)(),...e.components},{Details:t,Head:r,Vars:l}=n;return t||x("Details",!0),r||x("Head",!0),l||x("Vars",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r,{children:(0,i.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/machineregistration"})}),"\n",(0,i.jsx)(n.h1,{id:"machineregistration-reference",children:"MachineRegistration reference"}),"\n",(0,i.jsx)(n.p,{children:"The MachineRegistration resource allows:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"to configure the registration process"}),"\n",(0,i.jsx)(n.li,{children:"to provide OS installation parameters"}),"\n",(0,i.jsxs)(n.li,{children:["to define the ",(0,i.jsx)(n.a,{href:"/next/architecture-services",children:"Elemental services"})," enabled for the registering machine\nOnce created it generates the registration URL used by nodes to register and start the ",(0,i.jsx)(n.a,{href:"/next/architecture-machineonboarding",children:"machine onboarding"})," process."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["The MachineRegistration has a ",(0,i.jsx)(n.code,{children:"Ready"})," condition which turns to true when the ",(0,i.jsx)(l,{name:"elemental_operator_name"})," has successfully generated the registration URL and an associated ",(0,i.jsx)(n.code,{children:"ServiceAccount"}),". From this point on the target host can connect to the registration URL to kick off the provisioning process."]}),"\n",(0,i.jsxs)(n.p,{children:["An HTTP GET request against the registration URL returns the ",(0,i.jsx)(n.em,{children:"registration file"}),": a .yaml file containing the registration data (i.e., the ",(0,i.jsx)(n.em,{children:"spec:config:elemental:registration"})," section from the just created MachineRegistration).\nThe registration file contains all the required data to allow the target host to perform self registration and start the Elemental provisioning."]}),"\n",(0,i.jsxs)(n.p,{children:["There are several keys that can be configured under a ",(0,i.jsx)(n.code,{children:"MachineRegistration"})," resource spec."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:'title="MachineRegistration" showLineNumbers',children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineName: name\n machineInventoryLabels:\n label: value\n machineInventoryAnnotations:\n annotation: value\n config:\n cloud-config:\n ...\n elemental:\n registration:\n ...\n install:\n ... \n"})}),"\n",(0,i.jsx)(n.h4,{id:"configcloud-config",children:"config.cloud-config"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the cloud-configuration to be injected in the node.",(0,i.jsx)(n.br,{}),"\n","Both yip and cloud-init syntax are supported. See the ",(0,i.jsx)(n.a,{href:"/next/cloud-config-reference",children:"Cloud Config Reference"})," for full information."]}),"\n",(0,i.jsx)(n.h4,{id:"confignetwork",children:"config.network"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the Declarative Networking configuration, supporting integration with ",(0,i.jsx)(n.a,{href:"https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20220125-ipam-integration.md#ipam-provider",children:"CAPI IPAM Providers"}),".",(0,i.jsx)(n.br,{}),"\n","See the ",(0,i.jsx)(n.a,{href:"/next/networking",children:"Declarative Networking Reference"})," for full information."]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"configurator"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"nmc"}),(0,i.jsxs)(n.td,{children:["The network configurator type to use (",(0,i.jsx)(n.code,{children:"nmc"}),", ",(0,i.jsx)(n.code,{children:"nmstate"}),", or ",(0,i.jsx)(n.code,{children:"nmconnections"}),")"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"ipAddresses"}),(0,i.jsx)(n.td,{children:"objRefMap"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["A map of ",(0,i.jsx)(n.code,{children:"IPPool"})," references. Map keys can be used for IPAddress substitution in the network config template."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"config"}),(0,i.jsx)(n.td,{children:"obj"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["The network config template. Syntax varies depending on the ",(0,i.jsx)(n.code,{children:"configurator"})," in use."]})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"configelementalregistration",children:"config.elemental.registration"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the configuration used for the connection and the initial registration to the ",(0,i.jsx)(l,{name:"elemental_operator_name"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Supports the following values:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"url"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["URL to connect to the ",(0,i.jsx)(l,{name:"elemental_operator_name"})]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"ca-cert"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"CA to validate the certificate provided by the server at 'url' (required if the certificate is not signed by a public CA)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"no-smbios"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsxs)(n.td,{children:["Whether SMBIOS data should be sent to the ",(0,i.jsx)(l,{name:"elemental_operator_name"})," (see the ",(0,i.jsx)(n.a,{href:"/next/smbios",children:"SMBIOS reference"})," for more information)"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"no-toolkit"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsxs)(n.td,{children:["Disables the ",(0,i.jsx)(l,{name:"elemental_toolkit_name",link:"elemental_toolkit_url"})," support and allows registration of an ",(0,i.jsx)(n.a,{href:"/next/unmanaged-os",children:"unmanaged OS"})]})]})]})]}),"\n",(0,i.jsxs)(n.admonition,{type:"warning",children:[(0,i.jsx)(n.p,{children:"The following values are for development purposes only."}),(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"auth"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"tpm"}),(0,i.jsxs)(n.td,{children:["Authentication method to use during registration, one of ",(0,i.jsx)(n.code,{children:"tpm"}),", ",(0,i.jsx)(n.code,{children:"mac"})," or ",(0,i.jsx)(n.code,{children:"sys-uuid"}),". See ",(0,i.jsx)(n.a,{href:"/next/authentication",children:"Authentication"})," for more information"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"emulate-tpm"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"This will use software emulation of the TPM (required for hosts without TPM hardware)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"emulated-tpm-seed"}),(0,i.jsx)(n.td,{children:"int64"}),(0,i.jsx)(n.td,{children:"1"}),(0,i.jsxs)(n.td,{children:["Fixed seed to use with 'emulate-tpm'. Set to -1 to get a random seed. See ",(0,i.jsx)(n.a,{href:"/next/tpm",children:"TPM"})," for more information"]})]})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"configelementalinstall",children:"config.elemental.install"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the installation configuration that would be applied via ",(0,i.jsx)(n.code,{children:"elemental-register --install"})," when booted from an ISO and passed to ",(0,i.jsx)(n.a,{href:"https://github.com/rancher/elemental-toolkit/blob/main/docs/elemental_install.md",children:(0,i.jsx)(n.code,{children:"elemental install"})})]}),"\n",(0,i.jsx)(n.p,{children:"Supports the following values:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"firmware"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"efi"}),(0,i.jsx)(n.td,{children:"Firmware to install ('efi' or 'bios')"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"device"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Device to install the system to"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"device-selector"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Rules for picking device to install the system to"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"no-format"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Don\u2019t format disks. It is implied that COS_STATE, COS_RECOVERY, COS_PERSISTENT, COS_OEM partitions are already existing on the target disk"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"config-urls"}),(0,i.jsx)(n.td,{children:"list"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Cloud-init config files locations"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"iso"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Performs an installation from the ISO url instead of the running ISO"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"system-uri"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["Sets the system image source and its type (e.g. 'docker",":registry",".org/image",":tag","') instead of using the running ISO"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"debug"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Enable debug output"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"tty"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Add named tty to grub"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"poweroff"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Shutdown the system after install"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"reboot"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Reboot the system after install"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"snapshotter"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"loopdevice"}),(0,i.jsx)(n.td,{children:"Type of device used to manage snapshots in OS images ('loopdevice' or 'btrfs')."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"eject-cd"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Try to eject the cd on reboot"})]})]})]}),"\n",(0,i.jsx)(n.admonition,{title:"warning",type:"warning",children:(0,i.jsxs)(n.p,{children:["In case of using both ",(0,i.jsx)(n.code,{children:"iso"})," and ",(0,i.jsx)(n.code,{children:"system-uri"})," the ",(0,i.jsx)(n.code,{children:"iso"})," value takes precedence"]})}),"\n",(0,i.jsxs)(n.p,{children:["It is only required to specify either the ",(0,i.jsx)(n.code,{children:"device"})," or ",(0,i.jsx)(n.code,{children:"device-selector"})," fields for a successful install, the rest of the parameters are all optional."]}),"\n",(0,i.jsxs)(n.p,{children:["If both ",(0,i.jsx)(n.code,{children:"device"})," and ",(0,i.jsx)(n.code,{children:"device-selector"})," is specified the value of ",(0,i.jsx)(n.code,{children:"device"})," is used and ",(0,i.jsx)(n.code,{children:"device-selector"})," is ignored."]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n config:\n elemental:\n install:\n device: /dev/sda\n debug: true\n reboot: true\n eject-cd: true\n system-uri: registry.suse.com/rancher/sle-micro/5.5:latest\n"})})]}),"\n",(0,i.jsx)(n.h4,{id:"configelementalinstalldevice-selector",children:"config.elemental.install.device-selector"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"device-selector"})," field can be used to dynamically pick device during installation. The field contains a list of rules that looks like the following:"]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example device-selector based on device name"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"device-selector:\n- key: Name\n operator: In\n values:\n - /dev/sda\n - /dev/vda\n - /dev/nvme0\n"})})]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example device-selector based on device size"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"device-selector:\n- key: Size\n operator: Lt\n values:\n - 100Gi\n- key: Size\n operator: Gt\n values:\n - 30Gi\n"})})]}),"\n",(0,i.jsx)(n.p,{children:"The currently supported operators are:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Operator"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"In"}),(0,i.jsx)(n.td,{children:"The key matches one of the provided values"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"NotIn"}),(0,i.jsx)(n.td,{children:"The key does not match any of the provided values"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"Gt"}),(0,i.jsx)(n.td,{children:"The key is greater than a single provided value"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"Lt"}),(0,i.jsx)(n.td,{children:"The key is lesser than a single provided value"})]})]})]}),"\n",(0,i.jsx)(n.p,{children:"The currently supported keys are:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"Name"}),(0,i.jsx)(n.td,{children:"The device name (eg. /dev/sda)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"Size"}),(0,i.jsx)(n.td,{children:"The device size (values can be specified using kubernetes resources, eg 100Gi)"})]})]})]}),"\n",(0,i.jsxs)(n.p,{children:["The rules are AND",":ed"," together, which means all rules must match the targeted device."]}),"\n",(0,i.jsx)(n.h4,{id:"configelementalreset",children:"config.elemental.reset"}),"\n",(0,i.jsxs)(n.p,{children:["Contains the reset configuration that would be applied via ",(0,i.jsx)(n.code,{children:"elemental-register --reset"}),", when booted from the recovery partition and passed to ",(0,i.jsx)(n.a,{href:"https://github.com/rancher/elemental-toolkit/blob/main/docs/elemental_reset.md",children:(0,i.jsx)(n.code,{children:"elemental reset"})})]}),"\n",(0,i.jsx)(n.p,{children:"Supports the following values:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Key"}),(0,i.jsx)(n.th,{children:"Type"}),(0,i.jsx)(n.th,{children:"Default value"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"enabled"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"MachineInventories created from this MachineRegistration will have reset functionality enabled"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"reset-persistent"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"true"}),(0,i.jsx)(n.td,{children:"Format the COS_PERSISTENT partition"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"reset-oem"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"true"}),(0,i.jsx)(n.td,{children:"Format the COS_OEM partition"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"config-urls"}),(0,i.jsx)(n.td,{children:"list"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsx)(n.td,{children:"Cloud-init config files"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"system-uri"}),(0,i.jsx)(n.td,{children:"string"}),(0,i.jsx)(n.td,{children:"empty"}),(0,i.jsxs)(n.td,{children:["Sets the system image source and its type (e.g. 'docker",":registry",".org/image",":tag","') instead of using the running ISO"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"debug"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Enable debug output"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"poweroff"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Shutdown the system after reset"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"reboot"}),(0,i.jsx)(n.td,{children:"bool"}),(0,i.jsx)(n.td,{children:"true"}),(0,i.jsx)(n.td,{children:"Reboot the system after reset"})]})]})]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n config:\n elemental:\n reset:\n enabled: true\n debug: true\n reset-persistent: true\n reset-oem: true\n reboot: true\n system-uri: registry.suse.com/rancher/sle-micro/5.5:latest\n"})})]}),"\n",(0,i.jsx)(n.h4,{id:"machinename",children:"machineName"}),"\n",(0,i.jsxs)(n.p,{children:["Template used to derive the hostname to be set to the node and as the name of the associated ",(0,i.jsx)(n.a,{href:"/next/machineinventory-reference",children:"MachineInventory"})," kubernetes resource."]}),"\n",(0,i.jsxs)(n.p,{children:["The value is interpolated using ",(0,i.jsx)(n.a,{href:"/next/label-templates",children:"Label Templates"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:["If no ",(0,i.jsx)(n.code,{children:"machineName"})," is specified, a default one in the form ",(0,i.jsx)(n.code,{children:"m-$UUID"})," will be set."]}),(0,i.jsxs)(n.p,{children:["See the ",(0,i.jsx)(n.a,{href:"/next/hostname#customize-hostname",children:"Customize Hostname section"})," for further details."]})]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineName: hostname-test-4\n"})})]}),"\n",(0,i.jsx)(n.h4,{id:"machineinventorylabels",children:"machineInventoryLabels"}),"\n",(0,i.jsxs)(n.p,{children:["Labels to be set to the ",(0,i.jsx)(n.code,{children:"MachineInventory"})," created from this ",(0,i.jsx)(n.code,{children:"MachineRegistration"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["The label values are interpolated using ",(0,i.jsx)(n.a,{href:"/next/label-templates",children:"Label Templates"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["These labels could be used to establish a selection criteria in ",(0,i.jsx)(n.a,{href:"/next/machineinventoryselectortemplate-reference",children:"MachineInventorySelectorTemplate"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Elemental nodes will run ",(0,i.jsx)(n.code,{children:"elemental-register"})," every 30 minutes."]}),"\n",(0,i.jsxs)(n.p,{children:["It is possible to update the ",(0,i.jsx)(n.code,{children:"machineInventoryLabels"})," so that all registered nodes apply the new labels on the next successfull registration update."]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:'apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineInventoryLabels:\n my.prefix.io/element: fire\n my.prefix.io/cpus: 32\n my.prefix.io/manufacturer: "${System Information/Manufacturer}"\n my.prefix.io/productName: "${System Information/Product Name}"\n my.prefix.io/serialNumber: "${System Information/Serial Number}"\n my.prefix.io/machineUUID: "${System Information/UUID}"\n'})})]}),"\n",(0,i.jsx)(n.h4,{id:"machineinventoryannotations",children:"machineInventoryAnnotations"}),"\n",(0,i.jsxs)(n.p,{children:["Annotations that will be set to the ",(0,i.jsx)(n.code,{children:"MachineInventory"})," that is created from this ",(0,i.jsx)(n.code,{children:"MachineRegistration"}),"\n",(0,i.jsx)(n.code,{children:"Key: value"})," type"]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:"showLineNumbers",children:"apiVersion: elemental.cattle.io/v1beta1\nkind: MachineRegistration\nmetadata:\n name: my-nodes\n namespace: fleet-default\nspec:\n machineInventoryAnnotations:\n owner: bob\n version: 1.0.0\n"})})]})]})}function h(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}function x(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},4552:(e,n,t)=>{t.d(n,{I:()=>d,M:()=>l});var i=t(11504);const s={},r=i.createContext(s);function l(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e16d4658.5328fee7.js b/assets/js/e16d4658.5328fee7.js new file mode 100644 index 000000000..7c9b85e74 --- /dev/null +++ b/assets/js/e16d4658.5328fee7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[6032],{52904:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>o});var s=i(17624),t=i(4552);const a={sidebar_label:"Label Templates",title:""},r="Label Templates Overview",l={id:"label-templates",title:"",description:"Elemental allows to specify label templates in the spec.machineInventoryLabels section of the",source:"@site/docs/label-templates.md",sourceDirName:".",slug:"/label-templates",permalink:"/next/label-templates",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"Label Templates",title:""},sidebar:"docs",previous:{title:"Authentication",permalink:"/next/authentication"},next:{title:"SMBIOS",permalink:"/next/smbios"}},c={},o=[{value:"Label Template Variables",id:"label-template-variables",level:2},{value:"Sanitization",id:"sanitization",level:2},{value:"Usage of template labels",id:"usage-of-template-labels",level:2},{value:"Hardware data for the Elemental catalog",id:"hardware-data-for-the-elemental-catalog",level:3},{value:"Selectors for Cluster Provisioning",id:"selectors-for-cluster-provisioning",level:3},{value:"Custom Machine Names",id:"custom-machine-names",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.M)(),...e.components},{Head:i}=n;return i||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i,{children:(0,s.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/label-templates"})}),"\n",(0,s.jsx)(n.h1,{id:"label-templates-overview",children:"Label Templates Overview"}),"\n",(0,s.jsxs)(n.p,{children:["Elemental allows to specify ",(0,s.jsx)(n.em,{children:"label templates"})," in the ",(0,s.jsx)(n.code,{children:"spec.machineInventoryLabels"})," section of the\n",(0,s.jsx)(n.a,{href:"machineregistration-reference",children:"MachineRegistration"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["Their format is the canonical ",(0,s.jsx)(n.code,{children:"key"}),":",(0,s.jsx)(n.code,{children:"value"})," used in Kubernetes labels."]}),"\n",(0,s.jsxs)(n.p,{children:["These label templates are converted to actual labels attached to each\n",(0,s.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," resources created during the\n",(0,s.jsx)(n.a,{href:"architecture-machineonboarding",children:"machine onboarding"})," phase."]}),"\n",(0,s.jsxs)(n.p,{children:["The resulting labels have the same ",(0,s.jsx)(n.code,{children:"key"})," of the label template."]}),"\n",(0,s.jsxs)(n.p,{children:["The associated ",(0,s.jsx)(n.code,{children:"value"})," is generated:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsxs)(n.strong,{children:["rendering the ",(0,s.jsx)(n.a,{href:"#label-template-variables",children:(0,s.jsx)(n.code,{children:"label template variables"})})]})," (if present)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.code,{children:"sanitizing"})})," the resulting value"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{type:"info",children:[(0,s.jsxs)(n.p,{children:["The Elemental templating functionality covers also the [MachineRegistration] ",(0,s.jsx)(n.code,{children:"spec.machineName"})," field,\nwhich defines the resulting hostname of the registering machine and the ",(0,s.jsx)(n.code,{children:"name"})," of the associated\n",(0,s.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," resource."]}),(0,s.jsxs)(n.p,{children:["See the ",(0,s.jsx)(n.a,{href:"#custom-machine-names",children:"Machine Name"})," section for more details."]})]}),"\n",(0,s.jsx)(n.h2,{id:"label-template-variables",children:"Label Template Variables"}),"\n",(0,s.jsxs)(n.p,{children:["Elemental Label Templating includes a set of predefined variables that could be used inside the ",(0,s.jsx)(n.code,{children:"value"})," of\nthe ",(0,s.jsx)(n.em,{children:"label templates"})," specified in the ",(0,s.jsx)(n.a,{href:"machineregistration-reference",children:"MachineRegistration"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"The syntax used to specify template variables is:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["${ ",(0,s.jsx)(n.em,{children:"VARFAMILY"})," / ",(0,s.jsx)(n.em,{children:"VARPATH"})," }"]})}),"\n",(0,s.jsxs)(n.p,{children:["where ",(0,s.jsx)(n.em,{children:"VARFAMILY"})," defines a group (family) of supported variables and ",(0,s.jsx)(n.em,{children:"VARPATH"})," defines the actual variable\nname inside the belonging family group."]}),"\n",(0,s.jsx)(n.p,{children:"Elemental currently supports three families of template variables:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"SMBIOS"}),": ",(0,s.jsx)(n.strong,{children:"${ System Information /"})," ",(0,s.jsx)(n.em,{children:"VARPATH"})," ",(0,s.jsx)(n.strong,{children:"}"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Hardware"}),": ",(0,s.jsx)(n.strong,{children:"${ System Data /"})," ",(0,s.jsx)(n.em,{children:"VARPATH"})," ",(0,s.jsx)(n.strong,{children:"}"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Random"}),": ",(0,s.jsx)(n.strong,{children:"${ Random /"})," ",(0,s.jsx)(n.em,{children:"VARPATH"})," ",(0,s.jsx)(n.strong,{children:"}"})]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{type:"warning",children:[(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"SMBIOS"})," and ",(0,s.jsx)(n.strong,{children:"Hardware"})," variables are enabled only if ",(0,s.jsx)(n.a,{href:"/next/machineregistration-reference",children:"MachineRegistration"}),"\n",(0,s.jsx)(n.code,{children:"elemental:registration:no-smbios"})," field is set to ",(0,s.jsx)(n.code,{children:"false"})," (default)."]}),(0,s.jsxs)(n.p,{children:["When ",(0,s.jsx)(n.code,{children:"elemental:registration:no-smbios"})," field is set to ",(0,s.jsx)(n.code,{children:"true"}),", the registering machines do not send any\nSMBIOS and hardware data and the ",(0,s.jsx)(n.strong,{children:"SMBIOS"})," and ",(0,s.jsx)(n.strong,{children:"Hardware"})," data will not be available."]}),(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Random"})," variables are always available instead."]})]}),"\n",(0,s.jsxs)(n.p,{children:["Template variables can be mixed with static text to form the actual labels assigned to\n(",(0,s.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventories"}),")."]}),"\n",(0,s.jsx)(n.admonition,{title:"Rendering Examples",type:"note",children:(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Template label tracking the number of CPU cores of the registering host (assume host has 4 cores):","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["template label: ",(0,s.jsx)(n.strong,{children:"cpu: ${System Data/CPU/Total Cores}-cores"})]}),"\n",(0,s.jsxs)(n.li,{children:["rendered label: ",(0,s.jsx)(n.strong,{children:"cpu: 4-cores"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Template label to track the SMBIOS UUID of the registering host:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["template label: ",(0,s.jsx)(n.strong,{children:"sbios-UUID: ${System Information/UUID}"})]}),"\n",(0,s.jsxs)(n.li,{children:["rendered label: ",(0,s.jsx)(n.strong,{children:"sbios-UUID: fd95324a-c26b-4e28-8727-1dcec293a0ec"})]}),"\n"]}),"\n"]}),"\n"]})}),"\n",(0,s.jsx)(n.h2,{id:"sanitization",children:"Sanitization"}),"\n",(0,s.jsxs)(n.p,{children:["Once the label template value has been rendered accordingly to the included ",(0,s.jsx)(n.a,{href:"#label-template-variables",children:"label template variables"}),", the resulting value is ",(0,s.jsx)(n.code,{children:"sanitized"})," before being assigned to the resulting label."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"sanitization"})," enforce the label value to only contain letters (capitalized or not), numbers and the hyphen (",(0,s.jsx)(n.code,{children:"-"}),"), point (",(0,s.jsx)(n.code,{children:"."}),") and underscore (",(0,s.jsx)(n.code,{children:"_"}),") characters"]}),":\nall the characters not included are substituted with an hyphen."]}),"\n",(0,s.jsx)(n.p,{children:"Any character at the beginning and at the end of the label value must be a letter or a number.\nIf it is not, it is dropped."}),"\n",(0,s.jsx)(n.p,{children:"Two consecutive hyphens are replaced with one."}),"\n",(0,s.jsx)(n.admonition,{title:"Rendering Example",type:"note",children:(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Template label with not allowed chars sanitization:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["template label: ",(0,s.jsxs)(n.strong,{children:["sanitized: this",":needs--sanitizing","!"]})]}),"\n",(0,s.jsxs)(n.li,{children:["rendered label: ",(0,s.jsx)(n.strong,{children:"sanitized: this-needs-sanitizing"})]}),"\n"]}),"\n"]}),"\n"]})}),"\n",(0,s.jsx)(n.h2,{id:"usage-of-template-labels",children:"Usage of template labels"}),"\n",(0,s.jsxs)(n.p,{children:["Template labels allow to automatically attach labels to each host's\n",(0,s.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," every time an host register to the Elemental Operator."]}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsxs)(n.p,{children:["Registration happens not only during the ",(0,s.jsx)(n.a,{href:"architecture-machineonboarding",children:"onboarding phase"}),": each host\nre-registers every 30 minutes (and every time it reboots).\nDuring the re-registration, the template labels in the associated\n",(0,s.jsx)(n.a,{href:"machineregistration-reference",children:"MachineRegistration"})," are re-evaluated and added/updated in the\n",(0,s.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"}),"."]})}),"\n",(0,s.jsx)(n.p,{children:"There are basically three main cases where the template labels are handy:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"as hardware data added to the Elemental catalog"}),"\n",(0,s.jsx)(n.li,{children:"as selectors for Cluster Provisioning"}),"\n",(0,s.jsx)(n.li,{children:"as template for custom Machine Names"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"hardware-data-for-the-elemental-catalog",children:"Hardware data for the Elemental catalog"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.a,{href:"smbios",children:"SMBIOS"})," and ",(0,s.jsx)(n.a,{href:"hardwarelabels",children:"Hardware"})," template variables can be used to attach to each\n",(0,s.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," hardware and system data of each host."]}),"\n",(0,s.jsx)(n.h3,{id:"selectors-for-cluster-provisioning",children:"Selectors for Cluster Provisioning"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"template labels"})," can be used to indentify and select machines with special properties to form\na new Kubernetes Cluster."]}),"\n",(0,s.jsxs)(n.p,{children:["The labels generated for each ",(0,s.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," are an handy selector for the\n",(0,s.jsx)(n.a,{href:"machineinventoryselectortemplate-reference",children:"MachineInventorySelectorTemplate"})," resource\n(see the ",(0,s.jsx)(n.a,{href:"architecture-clusterdeployment#kubernetes-cluster-provisioning",children:"Kubernetes Cluster provisioning"}),"\nsection for more details)."]}),"\n",(0,s.jsx)(n.h3,{id:"custom-machine-names",children:"Custom Machine Names"}),"\n",(0,s.jsxs)(n.p,{children:["The hostname of the onboarding machine can be specified using the\n",(0,s.jsx)(n.a,{href:"machineregistration-reference",children:"MachineRegistration"})," ",(0,s.jsx)(n.code,{children:"spec.machineName"})," field."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"spec.machineName"})," value undergoes the same ",(0,s.jsx)(n.code,{children:"label templates variables"})," and ",(0,s.jsx)(n.code,{children:"sanitization"})," process reserved\nto the ",(0,s.jsx)(n.code,{children:"spec.machineInventoryLabels"})," label values."]}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsxs)(n.p,{children:["There is one notable difference during the ",(0,s.jsx)(n.a,{href:"#sanitization",children:"sanitization"})," rendering: the underscore (",(0,s.jsx)(n.code,{children:"_"}),") is\nnot allowed and is dealt as the other forbidden characters (i.e., it is substituted by an hyphen: ",(0,s.jsx)(n.code,{children:"-"}),").\nThis is required as the underscore is not allowed in the OS hostnames."]})}),"\n",(0,s.jsxs)(n.p,{children:["For more information on how to define the hostname for Elemental hosts, see the\n",(0,s.jsx)(n.a,{href:"hostname",children:"HowTo/Customize hostname"})," section."]}),"\n",(0,s.jsx)(n.admonition,{title:"Rendering Example",type:"note",children:(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Define an hostname template like ",(0,s.jsx)(n.code,{children:"SLE-Micro-[random string of 6 hexadecimal values]"}),":","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["MachineRegistration spec: ",(0,s.jsx)(n.strong,{children:"machineName: SLE-Micro-${Random/Hex/6}"})]}),"\n",(0,s.jsxs)(n.li,{children:["MachineInventory name: ",(0,s.jsx)(n.strong,{children:"SLE-Micro-32ad41"})]}),"\n"]}),"\n"]}),"\n"]})})]})}function d(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},4552:(e,n,i)=>{i.d(n,{I:()=>l,M:()=>r});var s=i(11504);const t={},a=s.createContext(t);function r(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e16d4658.b07338a9.js b/assets/js/e16d4658.b07338a9.js deleted file mode 100644 index eb60cd7de..000000000 --- a/assets/js/e16d4658.b07338a9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkelemental_docs=self.webpackChunkelemental_docs||[]).push([[6032],{52904:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var i=t(17624),s=t(4552);const a={sidebar_label:"Label Templates",title:""},r="Label Templates Overview",l={id:"label-templates",title:"",description:"Elemental allows to specify label templates in the spec.machineInventoryLabels section of the",source:"@site/docs/label-templates.md",sourceDirName:".",slug:"/label-templates",permalink:"/next/label-templates",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{sidebar_label:"Label Templates",title:""},sidebar:"docs",previous:{title:"Authentication",permalink:"/next/authentication"},next:{title:"SMBIOS",permalink:"/next/smbios"}},c={},h=[{value:"Label Template Variables",id:"label-template-variables",level:2},{value:"Sanitization",id:"sanitization",level:2},{value:"Usage of template labels",id:"usage-of-template-labels",level:2},{value:"Hardware data for the Elemental catalog",id:"hardware-data-for-the-elemental-catalog",level:3},{value:"Selectors for Cluster Provisioning",id:"selectors-for-cluster-provisioning",level:3},{value:"Custom Machine Names",id:"custom-machine-names",level:3}];function o(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.M)(),...e.components},{Head:t}=n;return t||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t,{children:(0,i.jsx)("link",{rel:"canonical",href:"https://elemental.docs.rancher.com/label-templates"})}),"\n",(0,i.jsx)(n.h1,{id:"label-templates-overview",children:"Label Templates Overview"}),"\n",(0,i.jsxs)(n.p,{children:["Elemental allows to specify ",(0,i.jsx)(n.em,{children:"label templates"})," in the ",(0,i.jsx)(n.code,{children:"spec.machineInventoryLabels"})," section of the\n",(0,i.jsx)(n.a,{href:"machineregistration-reference",children:"MachineRegistration"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Their format is the canonical ",(0,i.jsx)(n.code,{children:"key"}),":",(0,i.jsx)(n.code,{children:"value"})," used in Kubernetes labels."]}),"\n",(0,i.jsxs)(n.p,{children:["These label templates are converted to actual labels attached to each\n",(0,i.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," resources created during the\n",(0,i.jsx)(n.a,{href:"architecture-machineonboarding",children:"machine onboarding"})," phase."]}),"\n",(0,i.jsxs)(n.p,{children:["The resulting labels have the same ",(0,i.jsx)(n.code,{children:"key"})," of the label template."]}),"\n",(0,i.jsxs)(n.p,{children:["The associated ",(0,i.jsx)(n.code,{children:"value"})," is generated:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsxs)(n.strong,{children:["rendering the ",(0,i.jsx)(n.a,{href:"#label-template-variables",children:(0,i.jsx)(n.code,{children:"label template variables"})})]})," (if present)"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"sanitizing"})})," the resulting value"]}),"\n"]}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:["The Elemental templating functionality covers also the [MachineRegistration] ",(0,i.jsx)(n.code,{children:"spec.machineName"})," field,\nwhich defines the resulting hostname of the registering machine and the ",(0,i.jsx)(n.code,{children:"name"})," of the associated\n",(0,i.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," resource."]}),(0,i.jsxs)(n.p,{children:["See the ",(0,i.jsx)(n.a,{href:"#custom-machine-names",children:"Machine Name"})," section for more details."]})]}),"\n",(0,i.jsx)(n.h2,{id:"label-template-variables",children:"Label Template Variables"}),"\n",(0,i.jsxs)(n.p,{children:["Elemental Label Templating includes a set of predefined variables that could be used inside the ",(0,i.jsx)(n.code,{children:"value"})," of\nthe ",(0,i.jsx)(n.em,{children:"label templates"})," specified in the ",(0,i.jsx)(n.a,{href:"machineregistration-reference",children:"MachineRegistration"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"The syntax used to specify template variables is:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["${ ",(0,i.jsx)(n.em,{children:"VARFAMILY"})," / ",(0,i.jsx)(n.em,{children:"VARPATH"})," }"]})}),"\n",(0,i.jsxs)(n.p,{children:["where ",(0,i.jsx)(n.em,{children:"VARFAMILY"})," defines a group (family) of supported variables and ",(0,i.jsx)(n.em,{children:"VARPATH"})," defines the actual variable\nname inside the belonging family group."]}),"\n",(0,i.jsx)(n.p,{children:"Elemental currently supports three families of template variables:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"SMBIOS"}),": ",(0,i.jsx)(n.strong,{children:"${ System Information /"})," ",(0,i.jsx)(n.em,{children:"VARPATH"})," ",(0,i.jsx)(n.strong,{children:"}"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"HARDWARE"}),": ",(0,i.jsx)(n.strong,{children:"${ System Data /"})," ",(0,i.jsx)(n.em,{children:"VARPATH"})," ",(0,i.jsx)(n.strong,{children:"}"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"RANDOM"}),": ",(0,i.jsx)(n.strong,{children:"${ Random /"})," ",(0,i.jsx)(n.em,{children:"VARPATH"})," ",(0,i.jsx)(n.strong,{children:"}"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Template variables can be mixed with static text to form the actual labels assigned to\n(",(0,i.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventories"}),")."]}),"\n",(0,i.jsx)(n.admonition,{title:"Rendering Examples",type:"note",children:(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Template label tracking the number of CPU cores of the registering host (assume host has 4 cores):","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["template label: ",(0,i.jsx)(n.strong,{children:"cpu: ${System Data/CPU/Total Cores}-cores"})]}),"\n",(0,i.jsxs)(n.li,{children:["rendered label: ",(0,i.jsx)(n.strong,{children:"cpu: 4-cores"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Template label to track the SMBIOS UUID of the registering host:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["template label: ",(0,i.jsx)(n.strong,{children:"sbios-UUID: ${System Information/UUID}"})]}),"\n",(0,i.jsxs)(n.li,{children:["rendered label: ",(0,i.jsx)(n.strong,{children:"sbios-UUID: fd95324a-c26b-4e28-8727-1dcec293a0ec"})]}),"\n"]}),"\n"]}),"\n"]})}),"\n",(0,i.jsx)(n.h2,{id:"sanitization",children:"Sanitization"}),"\n",(0,i.jsxs)(n.p,{children:["Once the label template value has been rendered accordingly to the included ",(0,i.jsx)(n.a,{href:"#label-template-variables",children:"label template variables"}),", the resulting value is ",(0,i.jsx)(n.code,{children:"sanitized"})," before being assigned to the resulting label."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsxs)(n.strong,{children:["The ",(0,i.jsx)(n.code,{children:"sanitization"})," enforce the label value to only contain letters (capitalized or not), numbers and the hyphen (",(0,i.jsx)(n.code,{children:"-"}),"), point (",(0,i.jsx)(n.code,{children:"."}),") and underscore (",(0,i.jsx)(n.code,{children:"_"}),") characters"]}),":\nall the characters not included are substituted with an hyphen."]}),"\n",(0,i.jsx)(n.p,{children:"Any character at the beginning and at the end of the label value must be a letter or a number.\nIf it is not, it is dropped."}),"\n",(0,i.jsx)(n.p,{children:"Two consecutive hyphens are replaced with one."}),"\n",(0,i.jsx)(n.admonition,{title:"Rendering Example",type:"note",children:(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Template label with not allowed chars sanitization:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["template label: ",(0,i.jsxs)(n.strong,{children:["sanitized: this",":needs--sanitizing","!"]})]}),"\n",(0,i.jsxs)(n.li,{children:["rendered label: ",(0,i.jsx)(n.strong,{children:"sanitized: this-needs-sanitizing"})]}),"\n"]}),"\n"]}),"\n"]})}),"\n",(0,i.jsx)(n.h2,{id:"usage-of-template-labels",children:"Usage of template labels"}),"\n",(0,i.jsxs)(n.p,{children:["Template labels allow to automatically attach labels to each host's\n",(0,i.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," every time an host register to the Elemental Operator."]}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["Registration happens not only during the ",(0,i.jsx)(n.a,{href:"architecture-machineonboarding",children:"onboarding phase"}),": each host\nre-registers every 30 minutes (and every time it reboots).\nDuring the re-registration, the template labels in the associated\n",(0,i.jsx)(n.a,{href:"machineregistration-reference",children:"MachineRegistration"})," are re-evaluated and added/updated in the\n",(0,i.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"}),"."]})}),"\n",(0,i.jsx)(n.p,{children:"There are basically three main cases where the template labels are handy:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"as hardware data added to the Elemental catalog"}),"\n",(0,i.jsx)(n.li,{children:"as selectors for Cluster Provisioning"}),"\n",(0,i.jsx)(n.li,{children:"as template for custom Machine Names"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"hardware-data-for-the-elemental-catalog",children:"Hardware data for the Elemental catalog"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.a,{href:"smbios",children:"SMBIOS"})," and ",(0,i.jsx)(n.a,{href:"hardwarelabels",children:"Hardware"})," template variables can be used to attach to each\n",(0,i.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," hardware and system data of each host."]}),"\n",(0,i.jsx)(n.h3,{id:"selectors-for-cluster-provisioning",children:"Selectors for Cluster Provisioning"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"template labels"})," can be used to indentify and select machines with special properties to form\na new Kubernetes Cluster."]}),"\n",(0,i.jsxs)(n.p,{children:["The labels generated for each ",(0,i.jsx)(n.a,{href:"machineinventory-reference",children:"MachineInventory"})," are an handy selector for the\n",(0,i.jsx)(n.a,{href:"machineinventoryselectortemplate-reference",children:"MachineInventorySelectorTemplate"})," resource\n(see the ",(0,i.jsx)(n.a,{href:"architecture-clusterdeployment#kubernetes-cluster-provisioning",children:"Kubernetes Cluster provisioning"}),"\nsection for more details)."]}),"\n",(0,i.jsx)(n.h3,{id:"custom-machine-names",children:"Custom Machine Names"}),"\n",(0,i.jsxs)(n.p,{children:["The hostname of the onboarding machine can be specified using the\n",(0,i.jsx)(n.a,{href:"machineregistration-reference",children:"MachineRegistration"})," ",(0,i.jsx)(n.code,{children:"spec.machineName"})," field."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"spec.machineName"})," value undergoes the same ",(0,i.jsx)(n.code,{children:"label templates variables"})," and ",(0,i.jsx)(n.code,{children:"sanitization"})," process reserved\nto the ",(0,i.jsx)(n.code,{children:"spec.machineInventoryLabels"})," label values."]}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["There is one notable difference during the ",(0,i.jsx)(n.a,{href:"#sanitization",children:"sanitization"})," rendering: the underscore (",(0,i.jsx)(n.code,{children:"_"}),") is\nnot allowed and is dealt as the other forbidden characters (i.e., it is substituted by an hyphen: ",(0,i.jsx)(n.code,{children:"-"}),").\nThis is required as the underscore is not allowed in the OS hostnames."]})}),"\n",(0,i.jsxs)(n.p,{children:["For more information on how to define the hostname for Elemental hosts, see the\n",(0,i.jsx)(n.a,{href:"hostname",children:"HowTo/Customize hostname"})," section."]}),"\n",(0,i.jsx)(n.admonition,{title:"Rendering Example",type:"note",children:(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Define an hostname template like ",(0,i.jsx)(n.code,{children:"SLE-Micro-[random string of 6 hexadecimal values]"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["MachineRegistration spec: ",(0,i.jsx)(n.strong,{children:"machineName: SLE-Micro-${Random/Hex/6}"})]}),"\n",(0,i.jsxs)(n.li,{children:["MachineInventory name: ",(0,i.jsx)(n.strong,{children:"SLE-Micro-32ad41"})]}),"\n"]}),"\n"]}),"\n"]})})]})}function d(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>r});var i=t(11504);const s={},a=i.createContext(s);function r(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.dded7d82.js b/assets/js/runtime~main.d406f83a.js similarity index 97% rename from assets/js/runtime~main.dded7d82.js rename to assets/js/runtime~main.d406f83a.js index 4e26e4afd..f2c633c20 100644 --- a/assets/js/runtime~main.dded7d82.js +++ b/assets/js/runtime~main.d406f83a.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,b,f,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return d[e].call(c.exports,c,c.exports,r),c.exports}r.m=d,e=[],r.O=(a,c,b,f)=>{if(!c){var d=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,b,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&b&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(f,d),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({20:"95bd2a41",126:"3238e5ae",128:"4d8a8205",160:"5ad2e5b9",208:"0b077f72",316:"188fc7b1",328:"a978daef",336:"d0681c17",356:"007e4478",366:"99ca7d3f",480:"53c63982",544:"9eec8908",548:"6192f308",580:"8d83cde9",620:"c541ae51",660:"fdc326ca",756:"5cf61b7a",876:"d80c5295",960:"807ea154",992:"b037c97a",996:"6ebe8e1c",1e3:"d8f7dbb7",1104:"57c9a158",1124:"21fae2b4",1136:"008566e2",1204:"58980358",1268:"c3242275",1328:"a7697abd",1460:"82e5335b",1472:"5792c77d",1536:"639e78ad",1556:"1c67841d",1568:"3038574b",1620:"e647254d",1668:"11bdcead",1830:"97e43d76",1932:"c395f53e",1944:"145698e6",1948:"bd2c0bea",2048:"137e76cb",2064:"296664ef",2080:"5281b7a2",2208:"d47a13c6",2294:"c71e04ef",2333:"41313f25",2356:"9c9092b4",2384:"ba423a75",2408:"8a54026e",2480:"3d72abfc",2500:"98a47304",2554:"17f29b2a",2576:"2a824f8b",2684:"ef84f3e4",2737:"8d2cc0d5",2748:"3e2a6114",2788:"8f1b3481",2808:"e001e136",2896:"19ee97c7",2902:"f86526c6",2915:"5f11e417",2964:"da69869a",3016:"33ba5abb",3024:"d562565f",3080:"15ce4190",3088:"f281580c",3124:"1b33c654",3178:"ccc14432",3192:"aba5156d",3224:"866c3a03",3248:"eb5114f3",3300:"44234b90",3308:"e24c3caa",3320:"c1791647",3348:"8699bfc7",3358:"ebb8f20b",3396:"26511e9d",3452:"ae2e4aa4",3480:"aa67c710",3612:"98c44b37",3624:"7bd4b363",3664:"0c8d57b0",3666:"a4e3af3f",3676:"5f577c6c",3840:"515d27de",3880:"9c0d6c45",3936:"114b75df",3976:"298ea87f",4052:"2b774dce",4084:"add2b110",4228:"c9fc215e",4232:"b02e4210",4236:"2cfa747d",4304:"5e95c892",4328:"3f318b85",4352:"7aebf77f",4368:"6654e683",4416:"4c3c6984",4434:"149833a6",4504:"083e3b70",4516:"95f992ec",4544:"65295181",4552:"bb3fbf9f",4580:"9e058f31",4608:"eba81707",4628:"fc133fbd",4666:"a94703ab",4688:"ea530098",4792:"60bbac50",4800:"b63c06ff",4860:"af45e7ba",4868:"5d71dc3d",4872:"db6512d3",4896:"71ace346",4952:"bb5aac5d",4984:"1e6929a8",5008:"43c9fc1f",5048:"b58b9700",5164:"a555a233",5200:"d55ae9e7",5284:"aa0df749",5296:"1b0f8c91",5300:"01042c73",5368:"c2b51ae6",5668:"f0ff739a",5696:"935f2afb",5744:"5c2870c5",5780:"cc55a3ba",5972:"cc145b26",5980:"0f607c7e",5988:"0ac76489",6032:"e16d4658",6036:"c377a04b",6059:"acc249a7",6148:"93551644",6184:"72c75985",6256:"acd44f35",6272:"d68e3ab2",6365:"d49b78bc",6408:"41a53309",6421:"0ebef319",6436:"eff9ec8d",6468:"76faf03d",6500:"a7bd4aaa",6508:"b80d3b11",6520:"9ff227f5",6536:"7f011206",6604:"8d09d3e9",6608:"713da73e",6616:"dbdd7f94",6652:"8428c8a0",6672:"993703a3",6696:"3b8c55ea",6752:"17896441",6768:"76d06312",6880:"473e310b",6892:"1b128653",6956:"3b67b0f7",6968:"54dca98f",7e3:"a6d686fb",7132:"553bd836",7140:"a584eeb7",7152:"0ec254a1",7236:"6ffb9ece",7308:"53863b09",7332:"8c62f1ec",7336:"ec72597d",7472:"33b676a1",7478:"ef801d26",7492:"c035a521",7504:"9de08282",7520:"cf169a96",7560:"8a4c2839",7568:"f2e9af65",7600:"34e5c9d0",7744:"8ec79bf6",7748:"56f5f6f1",7776:"035bc7b1",7784:"27b1daa2",7812:"d633ffc1",7833:"9df06569",7944:"80d021e3",7956:"625b1ed7",8010:"ab80ec4b",8016:"b3210992",8024:"2e280beb",8070:"8a4439a6",8096:"8a7bb5c3",8152:"5178bbf4",8180:"d239a6bb",8200:"eb028090",8252:"1b3b303d",8288:"84d5212b",8304:"353df350",8310:"6e738032",8340:"3cb329d3",8396:"ae61c247",8412:"dd6e5f02",8416:"c107dc26",8424:"4d053b2e",8480:"886448fe",8520:"d4763c32",8688:"6314a1d1",8720:"70b99476",8868:"0bd2e79c",8904:"111ce12b",8932:"2fdc1115",8988:"0a18055d",9e3:"aa481173",9064:"4601e8b1",9088:"906c60a4",9096:"5d57b743",9112:"06b06a7e",9128:"65c702c2",9152:"408f33a2",9160:"2b72e16c",9168:"f20e33d3",9184:"82d729f6",9280:"b966e052",9296:"578c0857",9328:"0c9f3389",9332:"48d1cef4",9368:"426e6027",9404:"cc40f78a",9637:"475573de",9644:"c395c3b1",9648:"1a4e3797",9728:"314a742e",9736:"128442da",9740:"3147db6f",9836:"f3d26829",9932:"ce8372b3",9936:"2035b66c",9972:"e397c2a6",9985:"45b5d4a5"}[e]||e)+"."+{20:"cc182ae3",126:"53a83e5f",128:"4e2759dc",160:"4b5870e3",208:"923a32e1",316:"3f775325",328:"17c5513a",336:"349589cb",356:"d50f3084",366:"a27eff80",480:"57391155",544:"2e017d05",548:"9a349de4",580:"d424a30a",620:"22812214",660:"ebef96f5",756:"4e72ff16",876:"3f4fd214",960:"a7233e02",992:"56419555",996:"1efbbb4e",1e3:"8d0d7552",1104:"14c12ef6",1124:"ffb7ae3f",1136:"337cad24",1204:"ddf860df",1268:"1d426375",1328:"47c1e48c",1460:"a63fa240",1472:"7c5bc2cd",1536:"3ef22295",1556:"cadd77dd",1568:"daf7e221",1620:"a79bbc3a",1668:"e4bfce4c",1676:"ce2a4e75",1830:"08f6b976",1932:"39017782",1944:"f78e5573",1948:"a9c33a63",2048:"a4cf8136",2064:"a0afe4ce",2080:"efbd0a7d",2172:"63e88344",2208:"a1663b28",2294:"438ea4e6",2333:"32d7cf13",2356:"5ca1398a",2384:"65eb4446",2408:"360799b0",2480:"f9d3386e",2500:"d93dee34",2528:"b614975d",2554:"71bcdb18",2576:"85af4391",2684:"98dde1bd",2737:"460c8121",2748:"54376966",2788:"0d30e181",2808:"59246428",2896:"d853be60",2902:"22d759ff",2915:"302bdfa4",2964:"f3808c7a",3016:"fba19f60",3024:"a637148d",3080:"ce17bec3",3088:"24d9e90c",3124:"e3c5d2cf",3178:"c47766ab",3192:"9dec1f1c",3224:"236b384e",3248:"f4279e01",3300:"c68e0efd",3308:"301d94ac",3320:"b728ddbd",3348:"040eb8a2",3358:"753e27c2",3396:"312c439a",3452:"b776ce65",3480:"9cdd1d13",3612:"cb21c645",3624:"ed9a58a4",3664:"1b7d439d",3666:"ef12ddca",3676:"6beb1cce",3840:"ce7fc345",3880:"473ac853",3936:"9570eef8",3976:"131b2461",4052:"69496209",4084:"b40602e2",4228:"bc1e0073",4232:"1a1f5505",4236:"e19dcd0c",4304:"062c4f40",4328:"d7b3321b",4352:"3bc85cae",4368:"4174a9b4",4416:"2db192a5",4434:"ae1e0963",4504:"704b2e8c",4516:"1cdb7217",4544:"c09f6f80",4552:"398d76a6",4580:"650eef3c",4608:"5b0bd9eb",4628:"ddbda7a0",4666:"f9a4c606",4688:"09253dd9",4792:"009bd6b3",4800:"815e0e19",4860:"49c1e427",4868:"8f3e968c",4872:"317043d3",4896:"df5ebb21",4952:"1715ea04",4984:"cba144fa",5008:"0d4692e4",5048:"f27879f1",5164:"8060fad0",5200:"8fa3d5cb",5284:"95266c15",5296:"87a1f3e3",5300:"85a69b74",5368:"309ddb5a",5668:"ae5762fc",5696:"fdefa21d",5744:"d05e5c62",5780:"430e31f6",5972:"f6d43577",5980:"4b9e23f3",5988:"ed3f512a",6032:"b07338a9",6036:"f097c444",6059:"f7fe9bef",6148:"790b882b",6184:"8553ce88",6256:"f407e9db",6272:"0be640fb",6365:"6d5be92b",6408:"14eede29",6421:"5d947cc5",6436:"c4112aa4",6468:"80093193",6500:"fe0aa00b",6508:"ffabae22",6520:"b09d9096",6536:"4e027cb4",6604:"2ac01ad6",6608:"20ae6f46",6616:"54316497",6652:"f4aedd6e",6672:"f1eeecc3",6696:"ad3dcb9e",6752:"4cef0c76",6768:"def88ab9",6880:"7c92cd6a",6892:"608f1ea3",6956:"de060481",6968:"5b009a2b",7e3:"4a1af6d6",7132:"41c3621b",7140:"99cb1e84",7152:"1e79e879",7236:"9c43b75f",7308:"73f76d30",7332:"c026574c",7336:"c76eb2a4",7472:"3874c4e3",7478:"b89c21df",7492:"ea3a4fba",7504:"0e9287fd",7520:"417024bd",7560:"437ccd41",7568:"823e3e92",7600:"1410e5ae",7744:"75f5d815",7748:"3c1fbaf7",7776:"98f8a817",7784:"b8e4640c",7812:"05380aa9",7833:"170235db",7944:"80595862",7956:"93e8cbe9",8010:"9170e808",8016:"8166b9ee",8024:"5b9616ef",8070:"707308c8",8096:"b6fae8e7",8152:"3987fd57",8180:"bc7ae0d1",8200:"92718ded",8208:"53fca05b",8252:"77f3055c",8288:"a1989e87",8304:"a023ec5e",8310:"89e6df25",8340:"512d378c",8396:"1923b536",8412:"babdd9b0",8416:"f343c8f9",8424:"7416b10b",8480:"c6281f3e",8520:"d6b7bec5",8688:"e4fa19d5",8720:"04ddaa6f",8868:"9f46026c",8879:"1b5a9f31",8904:"7e3e741e",8932:"b3dc2336",8988:"07a0076c",9e3:"2d9cc8a2",9064:"2f93e4b2",9088:"da39c5c8",9096:"c6233bec",9112:"fdb8642f",9128:"9a17986b",9152:"e5f148e4",9160:"3e7461a7",9168:"8d60290d",9184:"ae121798",9280:"106b2544",9296:"e995277c",9328:"f5ca3395",9332:"01b72593",9368:"1ed2ae13",9404:"b7d42c21",9637:"8cd2cfd4",9644:"3975a1a3",9648:"d9bdc228",9728:"e4994038",9736:"5071d469",9740:"a78f424c",9836:"64365dbd",9932:"805c0a69",9936:"d53ef6af",9972:"c2d19744",9985:"8e2a5002"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),b={},f="elemental-docs:",r.l=(e,a,c,d)=>{if(b[e])b[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=b[e];if(delete b[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"6752",58980358:"1204",65295181:"4544",93551644:"6148","95bd2a41":"20","3238e5ae":"126","4d8a8205":"128","5ad2e5b9":"160","0b077f72":"208","188fc7b1":"316",a978daef:"328",d0681c17:"336","007e4478":"356","99ca7d3f":"366","53c63982":"480","9eec8908":"544","6192f308":"548","8d83cde9":"580",c541ae51:"620",fdc326ca:"660","5cf61b7a":"756",d80c5295:"876","807ea154":"960",b037c97a:"992","6ebe8e1c":"996",d8f7dbb7:"1000","57c9a158":"1104","21fae2b4":"1124","008566e2":"1136",c3242275:"1268",a7697abd:"1328","82e5335b":"1460","5792c77d":"1472","639e78ad":"1536","1c67841d":"1556","3038574b":"1568",e647254d:"1620","11bdcead":"1668","97e43d76":"1830",c395f53e:"1932","145698e6":"1944",bd2c0bea:"1948","137e76cb":"2048","296664ef":"2064","5281b7a2":"2080",d47a13c6:"2208",c71e04ef:"2294","41313f25":"2333","9c9092b4":"2356",ba423a75:"2384","8a54026e":"2408","3d72abfc":"2480","98a47304":"2500","17f29b2a":"2554","2a824f8b":"2576",ef84f3e4:"2684","8d2cc0d5":"2737","3e2a6114":"2748","8f1b3481":"2788",e001e136:"2808","19ee97c7":"2896",f86526c6:"2902","5f11e417":"2915",da69869a:"2964","33ba5abb":"3016",d562565f:"3024","15ce4190":"3080",f281580c:"3088","1b33c654":"3124",ccc14432:"3178",aba5156d:"3192","866c3a03":"3224",eb5114f3:"3248","44234b90":"3300",e24c3caa:"3308",c1791647:"3320","8699bfc7":"3348",ebb8f20b:"3358","26511e9d":"3396",ae2e4aa4:"3452",aa67c710:"3480","98c44b37":"3612","7bd4b363":"3624","0c8d57b0":"3664",a4e3af3f:"3666","5f577c6c":"3676","515d27de":"3840","9c0d6c45":"3880","114b75df":"3936","298ea87f":"3976","2b774dce":"4052",add2b110:"4084",c9fc215e:"4228",b02e4210:"4232","2cfa747d":"4236","5e95c892":"4304","3f318b85":"4328","7aebf77f":"4352","6654e683":"4368","4c3c6984":"4416","149833a6":"4434","083e3b70":"4504","95f992ec":"4516",bb3fbf9f:"4552","9e058f31":"4580",eba81707:"4608",fc133fbd:"4628",a94703ab:"4666",ea530098:"4688","60bbac50":"4792",b63c06ff:"4800",af45e7ba:"4860","5d71dc3d":"4868",db6512d3:"4872","71ace346":"4896",bb5aac5d:"4952","1e6929a8":"4984","43c9fc1f":"5008",b58b9700:"5048",a555a233:"5164",d55ae9e7:"5200",aa0df749:"5284","1b0f8c91":"5296","01042c73":"5300",c2b51ae6:"5368",f0ff739a:"5668","935f2afb":"5696","5c2870c5":"5744",cc55a3ba:"5780",cc145b26:"5972","0f607c7e":"5980","0ac76489":"5988",e16d4658:"6032",c377a04b:"6036",acc249a7:"6059","72c75985":"6184",acd44f35:"6256",d68e3ab2:"6272",d49b78bc:"6365","41a53309":"6408","0ebef319":"6421",eff9ec8d:"6436","76faf03d":"6468",a7bd4aaa:"6500",b80d3b11:"6508","9ff227f5":"6520","7f011206":"6536","8d09d3e9":"6604","713da73e":"6608",dbdd7f94:"6616","8428c8a0":"6652","993703a3":"6672","3b8c55ea":"6696","76d06312":"6768","473e310b":"6880","1b128653":"6892","3b67b0f7":"6956","54dca98f":"6968",a6d686fb:"7000","553bd836":"7132",a584eeb7:"7140","0ec254a1":"7152","6ffb9ece":"7236","53863b09":"7308","8c62f1ec":"7332",ec72597d:"7336","33b676a1":"7472",ef801d26:"7478",c035a521:"7492","9de08282":"7504",cf169a96:"7520","8a4c2839":"7560",f2e9af65:"7568","34e5c9d0":"7600","8ec79bf6":"7744","56f5f6f1":"7748","035bc7b1":"7776","27b1daa2":"7784",d633ffc1:"7812","9df06569":"7833","80d021e3":"7944","625b1ed7":"7956",ab80ec4b:"8010",b3210992:"8016","2e280beb":"8024","8a4439a6":"8070","8a7bb5c3":"8096","5178bbf4":"8152",d239a6bb:"8180",eb028090:"8200","1b3b303d":"8252","84d5212b":"8288","353df350":"8304","6e738032":"8310","3cb329d3":"8340",ae61c247:"8396",dd6e5f02:"8412",c107dc26:"8416","4d053b2e":"8424","886448fe":"8480",d4763c32:"8520","6314a1d1":"8688","70b99476":"8720","0bd2e79c":"8868","111ce12b":"8904","2fdc1115":"8932","0a18055d":"8988",aa481173:"9000","4601e8b1":"9064","906c60a4":"9088","5d57b743":"9096","06b06a7e":"9112","65c702c2":"9128","408f33a2":"9152","2b72e16c":"9160",f20e33d3:"9168","82d729f6":"9184",b966e052:"9280","578c0857":"9296","0c9f3389":"9328","48d1cef4":"9332","426e6027":"9368",cc40f78a:"9404","475573de":"9637",c395c3b1:"9644","1a4e3797":"9648","314a742e":"9728","128442da":"9736","3147db6f":"9740",f3d26829:"9836",ce8372b3:"9932","2035b66c":"9936",e397c2a6:"9972","45b5d4a5":"9985"}[e]||e,r.p+r.u(e)},(()=>{var e={296:0,2176:0};r.f.j=(a,c)=>{var b=r.o(e,a)?e[a]:void 0;if(0!==b)if(b)c.push(b[2]);else if(/^2(17|9)6$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>b=e[a]=[c,f]));c.push(b[2]=f);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(b=e[a])&&(e[a]=void 0),b)){var f=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+d+")",t.name="ChunkLoadError",t.type=f,t.request=d,b[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var b,f,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(b in t)r.o(t,b)&&(r.m[b]=t[b]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,b,f,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return d[e].call(c.exports,c,c.exports,r),c.exports}r.m=d,e=[],r.O=(a,c,b,f)=>{if(!c){var d=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,b,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&b&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(f,d),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({20:"95bd2a41",126:"3238e5ae",128:"4d8a8205",160:"5ad2e5b9",208:"0b077f72",316:"188fc7b1",328:"a978daef",336:"d0681c17",356:"007e4478",366:"99ca7d3f",480:"53c63982",544:"9eec8908",548:"6192f308",580:"8d83cde9",620:"c541ae51",660:"fdc326ca",756:"5cf61b7a",876:"d80c5295",960:"807ea154",992:"b037c97a",996:"6ebe8e1c",1e3:"d8f7dbb7",1104:"57c9a158",1124:"21fae2b4",1136:"008566e2",1204:"58980358",1268:"c3242275",1328:"a7697abd",1460:"82e5335b",1472:"5792c77d",1536:"639e78ad",1556:"1c67841d",1568:"3038574b",1620:"e647254d",1668:"11bdcead",1830:"97e43d76",1932:"c395f53e",1944:"145698e6",1948:"bd2c0bea",2048:"137e76cb",2064:"296664ef",2080:"5281b7a2",2208:"d47a13c6",2294:"c71e04ef",2333:"41313f25",2356:"9c9092b4",2384:"ba423a75",2408:"8a54026e",2480:"3d72abfc",2500:"98a47304",2554:"17f29b2a",2576:"2a824f8b",2684:"ef84f3e4",2737:"8d2cc0d5",2748:"3e2a6114",2788:"8f1b3481",2808:"e001e136",2896:"19ee97c7",2902:"f86526c6",2915:"5f11e417",2964:"da69869a",3016:"33ba5abb",3024:"d562565f",3080:"15ce4190",3088:"f281580c",3124:"1b33c654",3178:"ccc14432",3192:"aba5156d",3224:"866c3a03",3248:"eb5114f3",3300:"44234b90",3308:"e24c3caa",3320:"c1791647",3348:"8699bfc7",3358:"ebb8f20b",3396:"26511e9d",3452:"ae2e4aa4",3480:"aa67c710",3612:"98c44b37",3624:"7bd4b363",3664:"0c8d57b0",3666:"a4e3af3f",3676:"5f577c6c",3840:"515d27de",3880:"9c0d6c45",3936:"114b75df",3976:"298ea87f",4052:"2b774dce",4084:"add2b110",4228:"c9fc215e",4232:"b02e4210",4236:"2cfa747d",4304:"5e95c892",4328:"3f318b85",4352:"7aebf77f",4368:"6654e683",4416:"4c3c6984",4434:"149833a6",4504:"083e3b70",4516:"95f992ec",4544:"65295181",4552:"bb3fbf9f",4580:"9e058f31",4608:"eba81707",4628:"fc133fbd",4666:"a94703ab",4688:"ea530098",4792:"60bbac50",4800:"b63c06ff",4860:"af45e7ba",4868:"5d71dc3d",4872:"db6512d3",4896:"71ace346",4952:"bb5aac5d",4984:"1e6929a8",5008:"43c9fc1f",5048:"b58b9700",5164:"a555a233",5200:"d55ae9e7",5284:"aa0df749",5296:"1b0f8c91",5300:"01042c73",5368:"c2b51ae6",5668:"f0ff739a",5696:"935f2afb",5744:"5c2870c5",5780:"cc55a3ba",5972:"cc145b26",5980:"0f607c7e",5988:"0ac76489",6032:"e16d4658",6036:"c377a04b",6059:"acc249a7",6148:"93551644",6184:"72c75985",6256:"acd44f35",6272:"d68e3ab2",6365:"d49b78bc",6408:"41a53309",6421:"0ebef319",6436:"eff9ec8d",6468:"76faf03d",6500:"a7bd4aaa",6508:"b80d3b11",6520:"9ff227f5",6536:"7f011206",6604:"8d09d3e9",6608:"713da73e",6616:"dbdd7f94",6652:"8428c8a0",6672:"993703a3",6696:"3b8c55ea",6752:"17896441",6768:"76d06312",6880:"473e310b",6892:"1b128653",6956:"3b67b0f7",6968:"54dca98f",7e3:"a6d686fb",7132:"553bd836",7140:"a584eeb7",7152:"0ec254a1",7236:"6ffb9ece",7308:"53863b09",7332:"8c62f1ec",7336:"ec72597d",7472:"33b676a1",7478:"ef801d26",7492:"c035a521",7504:"9de08282",7520:"cf169a96",7560:"8a4c2839",7568:"f2e9af65",7600:"34e5c9d0",7744:"8ec79bf6",7748:"56f5f6f1",7776:"035bc7b1",7784:"27b1daa2",7812:"d633ffc1",7833:"9df06569",7944:"80d021e3",7956:"625b1ed7",8010:"ab80ec4b",8016:"b3210992",8024:"2e280beb",8070:"8a4439a6",8096:"8a7bb5c3",8152:"5178bbf4",8180:"d239a6bb",8200:"eb028090",8252:"1b3b303d",8288:"84d5212b",8304:"353df350",8310:"6e738032",8340:"3cb329d3",8396:"ae61c247",8412:"dd6e5f02",8416:"c107dc26",8424:"4d053b2e",8480:"886448fe",8520:"d4763c32",8688:"6314a1d1",8720:"70b99476",8868:"0bd2e79c",8904:"111ce12b",8932:"2fdc1115",8988:"0a18055d",9e3:"aa481173",9064:"4601e8b1",9088:"906c60a4",9096:"5d57b743",9112:"06b06a7e",9128:"65c702c2",9152:"408f33a2",9160:"2b72e16c",9168:"f20e33d3",9184:"82d729f6",9280:"b966e052",9296:"578c0857",9328:"0c9f3389",9332:"48d1cef4",9368:"426e6027",9404:"cc40f78a",9637:"475573de",9644:"c395c3b1",9648:"1a4e3797",9728:"314a742e",9736:"128442da",9740:"3147db6f",9836:"f3d26829",9932:"ce8372b3",9936:"2035b66c",9972:"e397c2a6",9985:"45b5d4a5"}[e]||e)+"."+{20:"cc182ae3",126:"53a83e5f",128:"4e2759dc",160:"4b5870e3",208:"923a32e1",316:"3f775325",328:"17c5513a",336:"349589cb",356:"d50f3084",366:"a27eff80",480:"57391155",544:"2e017d05",548:"9a349de4",580:"592120fd",620:"22812214",660:"ebef96f5",756:"4e72ff16",876:"3f4fd214",960:"a7233e02",992:"56419555",996:"1efbbb4e",1e3:"8d0d7552",1104:"14c12ef6",1124:"ffb7ae3f",1136:"337cad24",1204:"ddf860df",1268:"1d426375",1328:"47c1e48c",1460:"a63fa240",1472:"7c5bc2cd",1536:"3ef22295",1556:"cadd77dd",1568:"daf7e221",1620:"a79bbc3a",1668:"e4bfce4c",1676:"ce2a4e75",1830:"08f6b976",1932:"39017782",1944:"f78e5573",1948:"a9c33a63",2048:"a4cf8136",2064:"a0afe4ce",2080:"efbd0a7d",2172:"63e88344",2208:"a1663b28",2294:"438ea4e6",2333:"32d7cf13",2356:"5ca1398a",2384:"65eb4446",2408:"360799b0",2480:"f9d3386e",2500:"d93dee34",2528:"b614975d",2554:"71bcdb18",2576:"85af4391",2684:"98dde1bd",2737:"460c8121",2748:"54376966",2788:"0d30e181",2808:"59246428",2896:"d853be60",2902:"22d759ff",2915:"302bdfa4",2964:"f3808c7a",3016:"fba19f60",3024:"a637148d",3080:"ce17bec3",3088:"24d9e90c",3124:"e3c5d2cf",3178:"c47766ab",3192:"9dec1f1c",3224:"236b384e",3248:"f4279e01",3300:"c68e0efd",3308:"301d94ac",3320:"b728ddbd",3348:"040eb8a2",3358:"753e27c2",3396:"312c439a",3452:"b776ce65",3480:"9cdd1d13",3612:"cb21c645",3624:"ed9a58a4",3664:"1b7d439d",3666:"ef12ddca",3676:"6beb1cce",3840:"ce7fc345",3880:"473ac853",3936:"9570eef8",3976:"131b2461",4052:"69496209",4084:"b40602e2",4228:"bc1e0073",4232:"1a1f5505",4236:"e19dcd0c",4304:"062c4f40",4328:"d7b3321b",4352:"3bc85cae",4368:"4174a9b4",4416:"2db192a5",4434:"ae1e0963",4504:"704b2e8c",4516:"1cdb7217",4544:"c09f6f80",4552:"398d76a6",4580:"650eef3c",4608:"5b0bd9eb",4628:"ddbda7a0",4666:"f9a4c606",4688:"09253dd9",4792:"009bd6b3",4800:"815e0e19",4860:"49c1e427",4868:"8f3e968c",4872:"317043d3",4896:"df5ebb21",4952:"1715ea04",4984:"cba144fa",5008:"0d4692e4",5048:"f27879f1",5164:"8060fad0",5200:"8fa3d5cb",5284:"95266c15",5296:"87a1f3e3",5300:"85a69b74",5368:"309ddb5a",5668:"ae5762fc",5696:"42a8b95e",5744:"d05e5c62",5780:"430e31f6",5972:"f6d43577",5980:"750e9d55",5988:"ed3f512a",6032:"5328fee7",6036:"f097c444",6059:"f7fe9bef",6148:"790b882b",6184:"8553ce88",6256:"f407e9db",6272:"0be640fb",6365:"d7a13b63",6408:"14eede29",6421:"5d947cc5",6436:"c4112aa4",6468:"80093193",6500:"fe0aa00b",6508:"ffabae22",6520:"b09d9096",6536:"4e027cb4",6604:"2ac01ad6",6608:"20ae6f46",6616:"54316497",6652:"f4aedd6e",6672:"f1eeecc3",6696:"ad3dcb9e",6752:"4cef0c76",6768:"def88ab9",6880:"7c92cd6a",6892:"608f1ea3",6956:"de060481",6968:"5b009a2b",7e3:"4a1af6d6",7132:"41c3621b",7140:"99cb1e84",7152:"1e79e879",7236:"9c43b75f",7308:"73f76d30",7332:"c026574c",7336:"c76eb2a4",7472:"3874c4e3",7478:"b89c21df",7492:"ea3a4fba",7504:"0e9287fd",7520:"417024bd",7560:"437ccd41",7568:"823e3e92",7600:"1410e5ae",7744:"75f5d815",7748:"3c1fbaf7",7776:"98f8a817",7784:"b8e4640c",7812:"05380aa9",7833:"170235db",7944:"80595862",7956:"93e8cbe9",8010:"9170e808",8016:"8166b9ee",8024:"5b9616ef",8070:"707308c8",8096:"b6fae8e7",8152:"3987fd57",8180:"bc7ae0d1",8200:"92718ded",8208:"53fca05b",8252:"77f3055c",8288:"a1989e87",8304:"a023ec5e",8310:"59d5643b",8340:"512d378c",8396:"1923b536",8412:"babdd9b0",8416:"f343c8f9",8424:"7416b10b",8480:"c6281f3e",8520:"d6b7bec5",8688:"e4fa19d5",8720:"04ddaa6f",8868:"9f46026c",8879:"1b5a9f31",8904:"7e3e741e",8932:"b3dc2336",8988:"07a0076c",9e3:"2d9cc8a2",9064:"2f93e4b2",9088:"da39c5c8",9096:"c6233bec",9112:"fdb8642f",9128:"9a17986b",9152:"e5f148e4",9160:"3e7461a7",9168:"8d60290d",9184:"ae121798",9280:"106b2544",9296:"e995277c",9328:"f5ca3395",9332:"01b72593",9368:"1ed2ae13",9404:"b7d42c21",9637:"8cd2cfd4",9644:"3975a1a3",9648:"d9bdc228",9728:"e4994038",9736:"5071d469",9740:"a78f424c",9836:"64365dbd",9932:"805c0a69",9936:"d53ef6af",9972:"c2d19744",9985:"8e2a5002"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),b={},f="elemental-docs:",r.l=(e,a,c,d)=>{if(b[e])b[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=b[e];if(delete b[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"6752",58980358:"1204",65295181:"4544",93551644:"6148","95bd2a41":"20","3238e5ae":"126","4d8a8205":"128","5ad2e5b9":"160","0b077f72":"208","188fc7b1":"316",a978daef:"328",d0681c17:"336","007e4478":"356","99ca7d3f":"366","53c63982":"480","9eec8908":"544","6192f308":"548","8d83cde9":"580",c541ae51:"620",fdc326ca:"660","5cf61b7a":"756",d80c5295:"876","807ea154":"960",b037c97a:"992","6ebe8e1c":"996",d8f7dbb7:"1000","57c9a158":"1104","21fae2b4":"1124","008566e2":"1136",c3242275:"1268",a7697abd:"1328","82e5335b":"1460","5792c77d":"1472","639e78ad":"1536","1c67841d":"1556","3038574b":"1568",e647254d:"1620","11bdcead":"1668","97e43d76":"1830",c395f53e:"1932","145698e6":"1944",bd2c0bea:"1948","137e76cb":"2048","296664ef":"2064","5281b7a2":"2080",d47a13c6:"2208",c71e04ef:"2294","41313f25":"2333","9c9092b4":"2356",ba423a75:"2384","8a54026e":"2408","3d72abfc":"2480","98a47304":"2500","17f29b2a":"2554","2a824f8b":"2576",ef84f3e4:"2684","8d2cc0d5":"2737","3e2a6114":"2748","8f1b3481":"2788",e001e136:"2808","19ee97c7":"2896",f86526c6:"2902","5f11e417":"2915",da69869a:"2964","33ba5abb":"3016",d562565f:"3024","15ce4190":"3080",f281580c:"3088","1b33c654":"3124",ccc14432:"3178",aba5156d:"3192","866c3a03":"3224",eb5114f3:"3248","44234b90":"3300",e24c3caa:"3308",c1791647:"3320","8699bfc7":"3348",ebb8f20b:"3358","26511e9d":"3396",ae2e4aa4:"3452",aa67c710:"3480","98c44b37":"3612","7bd4b363":"3624","0c8d57b0":"3664",a4e3af3f:"3666","5f577c6c":"3676","515d27de":"3840","9c0d6c45":"3880","114b75df":"3936","298ea87f":"3976","2b774dce":"4052",add2b110:"4084",c9fc215e:"4228",b02e4210:"4232","2cfa747d":"4236","5e95c892":"4304","3f318b85":"4328","7aebf77f":"4352","6654e683":"4368","4c3c6984":"4416","149833a6":"4434","083e3b70":"4504","95f992ec":"4516",bb3fbf9f:"4552","9e058f31":"4580",eba81707:"4608",fc133fbd:"4628",a94703ab:"4666",ea530098:"4688","60bbac50":"4792",b63c06ff:"4800",af45e7ba:"4860","5d71dc3d":"4868",db6512d3:"4872","71ace346":"4896",bb5aac5d:"4952","1e6929a8":"4984","43c9fc1f":"5008",b58b9700:"5048",a555a233:"5164",d55ae9e7:"5200",aa0df749:"5284","1b0f8c91":"5296","01042c73":"5300",c2b51ae6:"5368",f0ff739a:"5668","935f2afb":"5696","5c2870c5":"5744",cc55a3ba:"5780",cc145b26:"5972","0f607c7e":"5980","0ac76489":"5988",e16d4658:"6032",c377a04b:"6036",acc249a7:"6059","72c75985":"6184",acd44f35:"6256",d68e3ab2:"6272",d49b78bc:"6365","41a53309":"6408","0ebef319":"6421",eff9ec8d:"6436","76faf03d":"6468",a7bd4aaa:"6500",b80d3b11:"6508","9ff227f5":"6520","7f011206":"6536","8d09d3e9":"6604","713da73e":"6608",dbdd7f94:"6616","8428c8a0":"6652","993703a3":"6672","3b8c55ea":"6696","76d06312":"6768","473e310b":"6880","1b128653":"6892","3b67b0f7":"6956","54dca98f":"6968",a6d686fb:"7000","553bd836":"7132",a584eeb7:"7140","0ec254a1":"7152","6ffb9ece":"7236","53863b09":"7308","8c62f1ec":"7332",ec72597d:"7336","33b676a1":"7472",ef801d26:"7478",c035a521:"7492","9de08282":"7504",cf169a96:"7520","8a4c2839":"7560",f2e9af65:"7568","34e5c9d0":"7600","8ec79bf6":"7744","56f5f6f1":"7748","035bc7b1":"7776","27b1daa2":"7784",d633ffc1:"7812","9df06569":"7833","80d021e3":"7944","625b1ed7":"7956",ab80ec4b:"8010",b3210992:"8016","2e280beb":"8024","8a4439a6":"8070","8a7bb5c3":"8096","5178bbf4":"8152",d239a6bb:"8180",eb028090:"8200","1b3b303d":"8252","84d5212b":"8288","353df350":"8304","6e738032":"8310","3cb329d3":"8340",ae61c247:"8396",dd6e5f02:"8412",c107dc26:"8416","4d053b2e":"8424","886448fe":"8480",d4763c32:"8520","6314a1d1":"8688","70b99476":"8720","0bd2e79c":"8868","111ce12b":"8904","2fdc1115":"8932","0a18055d":"8988",aa481173:"9000","4601e8b1":"9064","906c60a4":"9088","5d57b743":"9096","06b06a7e":"9112","65c702c2":"9128","408f33a2":"9152","2b72e16c":"9160",f20e33d3:"9168","82d729f6":"9184",b966e052:"9280","578c0857":"9296","0c9f3389":"9328","48d1cef4":"9332","426e6027":"9368",cc40f78a:"9404","475573de":"9637",c395c3b1:"9644","1a4e3797":"9648","314a742e":"9728","128442da":"9736","3147db6f":"9740",f3d26829:"9836",ce8372b3:"9932","2035b66c":"9936",e397c2a6:"9972","45b5d4a5":"9985"}[e]||e,r.p+r.u(e)},(()=>{var e={296:0,2176:0};r.f.j=(a,c)=>{var b=r.o(e,a)?e[a]:void 0;if(0!==b)if(b)c.push(b[2]);else if(/^2(17|9)6$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>b=e[a]=[c,f]));c.push(b[2]=f);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(b=e[a])&&(e[a]=void 0),b)){var f=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+d+")",t.name="ChunkLoadError",t.type=f,t.request=d,b[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var b,f,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(b in t)r.o(t,b)&&(r.m[b]=t[b]);if(o)var i=o(r)}for(a&&a(c);n