mirror of
https://github.com/siderolabs/talos.git
synced 2025-08-26 00:51:11 +02:00
50 lines
1.6 KiB
Go
50 lines
1.6 KiB
Go
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
package userdata
|
|
|
|
// Install represents the installation options for preparing a node.
|
|
type Install struct {
|
|
Boot *BootDevice `yaml:"boot,omitempty"`
|
|
Root *RootDevice `yaml:"root"`
|
|
Data *InstallDevice `yaml:"data,omitempty"`
|
|
ExtraDevices []*ExtraDevice `yaml:"extraDevices,omitempty"`
|
|
Wipe bool `yaml:"wipe"`
|
|
Force bool `yaml:"force"`
|
|
}
|
|
|
|
// BootDevice represents the install options specific to the boot partition.
|
|
type BootDevice struct {
|
|
InstallDevice `yaml:",inline"`
|
|
|
|
Kernel string `yaml:"kernel"`
|
|
Initramfs string `yaml:"initramfs"`
|
|
}
|
|
|
|
// RootDevice represents the install options specific to the root partition.
|
|
type RootDevice struct {
|
|
InstallDevice `yaml:",inline"`
|
|
|
|
Rootfs string `yaml:"rootfs"`
|
|
}
|
|
|
|
// InstallDevice represents the specific directions for each partition.
|
|
type InstallDevice struct {
|
|
Device string `yaml:"device,omitempty"`
|
|
Size uint `yaml:"size,omitempty"`
|
|
}
|
|
|
|
// ExtraDevice represents the options available for partitioning, formatting,
|
|
// and mounting extra disks.
|
|
type ExtraDevice struct {
|
|
Device string `yaml:"device,omitempty"`
|
|
Partitions []*ExtraDevicePartition `yaml:"partitions,omitempty"`
|
|
}
|
|
|
|
// ExtraDevicePartition represents the options for a device partition.
|
|
type ExtraDevicePartition struct {
|
|
Size uint `yaml:"size,omitempty"`
|
|
MountPoint string `yaml:"mountpoint,omitempty"`
|
|
}
|