Help us shape the future of Go! Take the 2026 Go Developer Survey

v1alpha1

package
v0.12.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2025 License: Apache-2.0 Imports: 7 Imported by: 21

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the Tinkerbell v1alpha1 API group

Index

Constants

View Source
const (
	// HardwareError represents hardware that is in an error state.
	HardwareError = HardwareState("Error")

	// HardwareReady represents hardware that is in a ready state.
	HardwareReady = HardwareState("Ready")
)
View Source
const (
	// TemplateError represents a template that is in an error state.
	TemplateError = TemplateState("Error")

	// TemplateReady represents a template that is in a ready state.
	TemplateReady = TemplateState("Ready")
)
View Source
const (
	WorkflowStatePreparing = WorkflowState("STATE_PREPARING")
	WorkflowStatePending   = WorkflowState("STATE_PENDING")
	WorkflowStateRunning   = WorkflowState("STATE_RUNNING")
	WorkflowStatePost      = WorkflowState("STATE_POST")
	WorkflowStateSuccess   = WorkflowState("STATE_SUCCESS")
	WorkflowStateFailed    = WorkflowState("STATE_FAILED")
	WorkflowStateTimeout   = WorkflowState("STATE_TIMEOUT")

	NetbootJobFailed        WorkflowConditionType = "NetbootJobFailed"
	NetbootJobComplete      WorkflowConditionType = "NetbootJobComplete"
	NetbootJobRunning       WorkflowConditionType = "NetbootJobRunning"
	NetbootJobSetupFailed   WorkflowConditionType = "NetbootJobSetupFailed"
	NetbootJobSetupComplete WorkflowConditionType = "NetbootJobSetupComplete"
	ToggleAllowNetbootTrue  WorkflowConditionType = "AllowNetbootTrue"
	ToggleAllowNetbootFalse WorkflowConditionType = "AllowNetbootFalse"
	TemplateRenderedSuccess WorkflowConditionType = "TemplateRenderedSuccess"

	TemplateRenderingSuccessful TemplateRendering = "successful"
	TemplateRenderingFailed     TemplateRendering = "failed"

	BootModeNetboot BootMode = "netboot"
	BootModeISO     BootMode = "iso"
)
View Source
const (
	// HardwareIDAnnotation is used by the controller to store the
	// ID assigned to the hardware by Tinkerbell for migrated hardware.
	HardwareIDAnnotation = "hardware.tinkerbell.org/id"
)
View Source
const (
	// TemplateIDAnnotation is used by the controller to store the
	// ID assigned to the template by Tinkerbell for migrated templates.
	TemplateIDAnnotation = "template.tinkerbell.org/id"
)
View Source
const (
	// WorkflowIDAnnotation is used by the controller to store the
	// ID assigned to the workflow by Tinkerbell for migrated workflows.
	WorkflowIDAnnotation = "workflow.tinkerbell.org/id"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "tinkerbell.org", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Action

type Action struct {
	Name        string            `json:"name,omitempty"`
	Image       string            `json:"image,omitempty"`
	Timeout     int64             `json:"timeout,omitempty"`
	Command     []string          `json:"command,omitempty"`
	Volumes     []string          `json:"volumes,omitempty"`
	Pid         string            `json:"pid,omitempty"`
	Environment map[string]string `json:"environment,omitempty"`
	Status      WorkflowState     `json:"status,omitempty"`
	StartedAt   *metav1.Time      `json:"startedAt,omitempty"`
	Seconds     int64             `json:"seconds,omitempty"`
	Message     string            `json:"message,omitempty"`
}

Action represents a workflow action.

func (*Action) DeepCopy

func (in *Action) DeepCopy() *Action

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Action.

func (*Action) DeepCopyInto

func (in *Action) DeepCopyInto(out *Action)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllowNetbootStatus added in v0.11.0

type AllowNetbootStatus struct {
	ToggledTrue  bool `json:"toggledTrue,omitempty"`
	ToggledFalse bool `json:"toggledFalse,omitempty"`
}

func (*AllowNetbootStatus) DeepCopy added in v0.11.0

func (in *AllowNetbootStatus) DeepCopy() *AllowNetbootStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowNetbootStatus.

func (*AllowNetbootStatus) DeepCopyInto added in v0.11.0

func (in *AllowNetbootStatus) DeepCopyInto(out *AllowNetbootStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootMode added in v0.11.0

type BootMode string

type BootOptions added in v0.11.0

type BootOptions struct {
	// ToggleAllowNetboot indicates whether the controller should toggle the field in the associated hardware for allowing PXE booting.
	// This will be enabled before a Workflow is executed and disabled after the Workflow has completed successfully.
	// A HardwareRef must be provided.
	// +optional
	ToggleAllowNetboot bool `json:"toggleAllowNetboot,omitempty"`

	// ISOURL is the URL of the ISO that will be one-time booted. When this field is set, the controller will create a job.bmc.tinkerbell.org object
	// for getting the associated hardware into a CDROM booting state.
	// A HardwareRef that contains a spec.BmcRef must be provided.
	// +optional
	// +kubebuilder:validation:Format=url
	ISOURL string `json:"isoURL,omitempty"`

	// BootMode is the type of booting that will be done.
	// +optional
	// +kubebuilder:validation:Enum=netboot;iso
	BootMode BootMode `json:"bootMode,omitempty"`
}

BootOptions are options that control the booting of Hardware.

func (*BootOptions) DeepCopy added in v0.11.0

func (in *BootOptions) DeepCopy() *BootOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootOptions.

func (*BootOptions) DeepCopyInto added in v0.11.0

func (in *BootOptions) DeepCopyInto(out *BootOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootOptionsStatus added in v0.11.0

type BootOptionsStatus struct {
	// AllowNetboot holds the state of the the controller's interactions with the allowPXE field in a Hardware object.
	AllowNetboot AllowNetbootStatus `json:"allowNetboot,omitempty"`
	// Jobs holds the state of any job.bmc.tinkerbell.org objects created.
	Jobs map[string]JobStatus `json:"jobs,omitempty"`
}

BootOptionsStatus holds the state of any boot options.

func (*BootOptionsStatus) DeepCopy added in v0.11.0

func (in *BootOptionsStatus) DeepCopy() *BootOptionsStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootOptionsStatus.

func (*BootOptionsStatus) DeepCopyInto added in v0.11.0

func (in *BootOptionsStatus) DeepCopyInto(out *BootOptionsStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DHCP

type DHCP struct {
	// +kubebuilder:validation:Pattern="([0-9a-f]{2}[:]){5}([0-9a-f]{2})"
	MAC         string   `json:"mac,omitempty"`
	Hostname    string   `json:"hostname,omitempty"`
	LeaseTime   int64    `json:"lease_time,omitempty"`
	NameServers []string `json:"name_servers,omitempty"`
	TimeServers []string `json:"time_servers,omitempty"`
	Arch        string   `json:"arch,omitempty"`
	UEFI        bool     `json:"uefi,omitempty"`
	IfaceName   string   `json:"iface_name,omitempty"`
	IP          *IP      `json:"ip,omitempty"`
	// validation pattern for VLANDID is a string number between 0-4096
	// +kubebuilder:validation:Pattern="^(([0-9][0-9]{0,2}|[1-3][0-9][0-9][0-9]|40([0-8][0-9]|9[0-6]))(,[1-9][0-9]{0,2}|[1-3][0-9][0-9][0-9]|40([0-8][0-9]|9[0-6]))*)$"
	VLANID string `json:"vlan_id,omitempty"`
}

DHCP configuration.

func (*DHCP) DeepCopy

func (in *DHCP) DeepCopy() *DHCP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DHCP.

func (*DHCP) DeepCopyInto

func (in *DHCP) DeepCopyInto(out *DHCP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Disk

type Disk struct {
	//+optional
	Device string `json:"device,omitempty"`
}

Disk represents a disk device for Tinkerbell Hardware.

func (*Disk) DeepCopy

func (in *Disk) DeepCopy() *Disk

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Disk.

func (*Disk) DeepCopyInto

func (in *Disk) DeepCopyInto(out *Disk)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Hardware

type Hardware struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   HardwareSpec   `json:"spec,omitempty"`
	Status HardwareStatus `json:"status,omitempty"`
}

Hardware is the Schema for the Hardware API.

func (*Hardware) DeepCopy

func (in *Hardware) DeepCopy() *Hardware

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hardware.

func (*Hardware) DeepCopyInto

func (in *Hardware) DeepCopyInto(out *Hardware)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Hardware) DeepCopyObject

func (in *Hardware) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Hardware) SetTinkID

func (h *Hardware) SetTinkID(id string)

SetTinkID sets the Tinkerbell ID associated with this Hardware.

func (*Hardware) TinkID

func (h *Hardware) TinkID() string

TinkID returns the Tinkerbell ID associated with this Hardware.

type HardwareList

type HardwareList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Hardware `json:"items"`
}

HardwareList contains a list of Hardware.

func (*HardwareList) DeepCopy

func (in *HardwareList) DeepCopy() *HardwareList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareList.

func (*HardwareList) DeepCopyInto

func (in *HardwareList) DeepCopyInto(out *HardwareList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HardwareList) DeepCopyObject

func (in *HardwareList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HardwareMetadata

type HardwareMetadata struct {
	State        string                `json:"state,omitempty"`
	BondingMode  int64                 `json:"bonding_mode,omitempty"`
	Manufacturer *MetadataManufacturer `json:"manufacturer,omitempty"`
	Instance     *MetadataInstance     `json:"instance,omitempty"`
	Custom       *MetadataCustom       `json:"custom,omitempty"`
	Facility     *MetadataFacility     `json:"facility,omitempty"`
}

func (*HardwareMetadata) DeepCopy

func (in *HardwareMetadata) DeepCopy() *HardwareMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareMetadata.

func (*HardwareMetadata) DeepCopyInto

func (in *HardwareMetadata) DeepCopyInto(out *HardwareMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HardwareSpec

type HardwareSpec struct {
	// BMCRef contains a relation to a BMC state management type in the same
	// namespace as the Hardware. This may be used for BMC management by
	// orchestrators.
	//+optional
	BMCRef *corev1.TypedLocalObjectReference `json:"bmcRef,omitempty"`

	//+optional
	Interfaces []Interface `json:"interfaces,omitempty"`

	//+optional
	Metadata *HardwareMetadata `json:"metadata,omitempty"`

	//+optional
	TinkVersion int64 `json:"tinkVersion,omitempty"`

	//+optional
	Disks []Disk `json:"disks,omitempty"`

	// Resources represents known resources that are available on a machine.
	// Resources may be used for scheduling by orchestrators.
	//+optional
	Resources map[string]resource.Quantity `json:"resources,omitempty"`

	// UserData is the user data to configure in the hardware's
	// metadata
	//+optional
	UserData *string `json:"userData,omitempty"`

	// VendorData is the vendor data to configure in the hardware's
	// metadata
	//+optional
	VendorData *string `json:"vendorData,omitempty"`
}

HardwareSpec defines the desired state of Hardware.

func (*HardwareSpec) DeepCopy

func (in *HardwareSpec) DeepCopy() *HardwareSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareSpec.

func (*HardwareSpec) DeepCopyInto

func (in *HardwareSpec) DeepCopyInto(out *HardwareSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HardwareState

type HardwareState string

HardwareState represents the hardware state.

type HardwareStatus

type HardwareStatus struct {
	//+optional
	State HardwareState `json:"state,omitempty"`
}

HardwareStatus defines the observed state of Hardware.

func (*HardwareStatus) DeepCopy

func (in *HardwareStatus) DeepCopy() *HardwareStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareStatus.

func (*HardwareStatus) DeepCopyInto

func (in *HardwareStatus) DeepCopyInto(out *HardwareStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IP

type IP struct {
	Address string `json:"address,omitempty"`
	Netmask string `json:"netmask,omitempty"`
	Gateway string `json:"gateway,omitempty"`
	Family  int64  `json:"family,omitempty"`
}

IP configuration.

func (*IP) DeepCopy

func (in *IP) DeepCopy() *IP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IP.

func (*IP) DeepCopyInto

func (in *IP) DeepCopyInto(out *IP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPXE

type IPXE struct {
	URL      string `json:"url,omitempty"`
	Contents string `json:"contents,omitempty"`
}

IPXE configuration.

func (*IPXE) DeepCopy

func (in *IPXE) DeepCopy() *IPXE

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPXE.

func (*IPXE) DeepCopyInto

func (in *IPXE) DeepCopyInto(out *IPXE)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Interface

type Interface struct {
	//+optional
	Netboot *Netboot `json:"netboot,omitempty"`

	//+optional
	DHCP *DHCP `json:"dhcp,omitempty"`

	// DisableDHCP disables DHCP for this interface.
	// +kubebuilder:default=false
	// +optional
	DisableDHCP bool `json:"disableDhcp,omitempty"`
}

Interface represents a network interface configuration for Hardware.

func (*Interface) DeepCopy

func (in *Interface) DeepCopy() *Interface

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Interface.

func (*Interface) DeepCopyInto

func (in *Interface) DeepCopyInto(out *Interface)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JobStatus added in v0.11.0

type JobStatus struct {
	// UID is the UID of the job.bmc.tinkerbell.org object associated with this workflow.
	// This is used to uniquely identify the job.bmc.tinkerbell.org object, as
	// all objects for a specific Hardware/Machine.bmc.tinkerbell.org are created with the same name.
	UID types.UID `json:"uid,omitempty"`

	// Complete indicates whether the created job.bmc.tinkerbell.org has reported its conditions as complete.
	Complete bool `json:"complete,omitempty"`

	// ExistingJobDeleted indicates whether any existing job.bmc.tinkerbell.org was deleted.
	// The name of each job.bmc.tinkerbell.org object created by the controller is the same, so only one can exist at a time.
	// Using the same name was chosen so that there is only ever 1 job.bmc.tinkerbell.org per Hardware/Machine.bmc.tinkerbell.org.
	// This makes clean up easier and we dont just orphan jobs every time.
	ExistingJobDeleted bool `json:"existingJobDeleted,omitempty"`
}

JobStatus holds the state of a specific job.bmc.tinkerbell.org object created.

func (*JobStatus) DeepCopy added in v0.11.0

func (in *JobStatus) DeepCopy() *JobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus.

func (*JobStatus) DeepCopyInto added in v0.11.0

func (in *JobStatus) DeepCopyInto(out *JobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataCustom

type MetadataCustom struct {
	PreinstalledOperatingSystemVersion *MetadataInstanceOperatingSystem `json:"preinstalled_operating_system_version,omitempty"`
	PrivateSubnets                     []string                         `json:"private_subnets,omitempty"`
}

func (*MetadataCustom) DeepCopy

func (in *MetadataCustom) DeepCopy() *MetadataCustom

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataCustom.

func (*MetadataCustom) DeepCopyInto

func (in *MetadataCustom) DeepCopyInto(out *MetadataCustom)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataFacility

type MetadataFacility struct {
	PlanSlug        string `json:"plan_slug,omitempty"`
	PlanVersionSlug string `json:"plan_version_slug,omitempty"`
	FacilityCode    string `json:"facility_code,omitempty"`
}

func (*MetadataFacility) DeepCopy

func (in *MetadataFacility) DeepCopy() *MetadataFacility

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFacility.

func (*MetadataFacility) DeepCopyInto

func (in *MetadataFacility) DeepCopyInto(out *MetadataFacility)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstance

type MetadataInstance struct {
	ID                  string                           `json:"id,omitempty"`
	State               string                           `json:"state,omitempty"`
	Hostname            string                           `json:"hostname,omitempty"`
	AllowPxe            bool                             `json:"allow_pxe,omitempty"`
	Rescue              bool                             `json:"rescue,omitempty"`
	OperatingSystem     *MetadataInstanceOperatingSystem `json:"operating_system,omitempty"`
	AlwaysPxe           bool                             `json:"always_pxe,omitempty"`
	IpxeScriptURL       string                           `json:"ipxe_script_url,omitempty"`
	Ips                 []*MetadataInstanceIP            `json:"ips,omitempty"`
	Userdata            string                           `json:"userdata,omitempty"`
	CryptedRootPassword string                           `json:"crypted_root_password,omitempty"`
	Tags                []string                         `json:"tags,omitempty"`
	Storage             *MetadataInstanceStorage         `json:"storage,omitempty"`
	SSHKeys             []string                         `json:"ssh_keys,omitempty"`
	NetworkReady        bool                             `json:"network_ready,omitempty"`
}

func (*MetadataInstance) DeepCopy

func (in *MetadataInstance) DeepCopy() *MetadataInstance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstance.

func (*MetadataInstance) DeepCopyInto

func (in *MetadataInstance) DeepCopyInto(out *MetadataInstance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceIP

type MetadataInstanceIP struct {
	Address    string `json:"address,omitempty"`
	Netmask    string `json:"netmask,omitempty"`
	Gateway    string `json:"gateway,omitempty"`
	Family     int64  `json:"family,omitempty"`
	Public     bool   `json:"public,omitempty"`
	Management bool   `json:"management,omitempty"`
}

func (*MetadataInstanceIP) DeepCopy

func (in *MetadataInstanceIP) DeepCopy() *MetadataInstanceIP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceIP.

func (*MetadataInstanceIP) DeepCopyInto

func (in *MetadataInstanceIP) DeepCopyInto(out *MetadataInstanceIP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceOperatingSystem

type MetadataInstanceOperatingSystem struct {
	Slug     string `json:"slug,omitempty"`
	Distro   string `json:"distro,omitempty"`
	Version  string `json:"version,omitempty"`
	ImageTag string `json:"image_tag,omitempty"`
	OsSlug   string `json:"os_slug,omitempty"`
}

func (*MetadataInstanceOperatingSystem) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceOperatingSystem.

func (*MetadataInstanceOperatingSystem) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceStorage

type MetadataInstanceStorage struct {
	Disks       []*MetadataInstanceStorageDisk       `json:"disks,omitempty"`
	Raid        []*MetadataInstanceStorageRAID       `json:"raid,omitempty"`
	Filesystems []*MetadataInstanceStorageFilesystem `json:"filesystems,omitempty"`
}

func (*MetadataInstanceStorage) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceStorage.

func (*MetadataInstanceStorage) DeepCopyInto

func (in *MetadataInstanceStorage) DeepCopyInto(out *MetadataInstanceStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceStorageDisk

type MetadataInstanceStorageDisk struct {
	Device     string                                  `json:"device,omitempty"`
	WipeTable  bool                                    `json:"wipe_table,omitempty"`
	Partitions []*MetadataInstanceStorageDiskPartition `json:"partitions,omitempty"`
}

func (*MetadataInstanceStorageDisk) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceStorageDisk.

func (*MetadataInstanceStorageDisk) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceStorageDiskPartition

type MetadataInstanceStorageDiskPartition struct {
	Label    string `json:"label,omitempty"`
	Number   int64  `json:"number,omitempty"`
	Size     int64  `json:"size,omitempty"`
	Start    int64  `json:"start,omitempty"`
	TypeGUID string `json:"type_guid,omitempty"`
}

func (*MetadataInstanceStorageDiskPartition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceStorageDiskPartition.

func (*MetadataInstanceStorageDiskPartition) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceStorageFile

type MetadataInstanceStorageFile struct {
	Path     string `json:"path,omitempty"`
	Contents string `json:"contents,omitempty"`
	Mode     int64  `json:"mode,omitempty"`
	UID      int64  `json:"uid,omitempty"`
	GID      int64  `json:"gid,omitempty"`
}

func (*MetadataInstanceStorageFile) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceStorageFile.

func (*MetadataInstanceStorageFile) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceStorageFilesystem

type MetadataInstanceStorageFilesystem struct {
	Mount *MetadataInstanceStorageMount `json:"mount,omitempty"`
}

func (*MetadataInstanceStorageFilesystem) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceStorageFilesystem.

func (*MetadataInstanceStorageFilesystem) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceStorageMount

type MetadataInstanceStorageMount struct {
	Device string                                         `json:"device,omitempty"`
	Format string                                         `json:"format,omitempty"`
	Files  []*MetadataInstanceStorageFile                 `json:"files,omitempty"`
	Create *MetadataInstanceStorageMountFilesystemOptions `json:"create,omitempty"`
	Point  string                                         `json:"point,omitempty"`
}

func (*MetadataInstanceStorageMount) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceStorageMount.

func (*MetadataInstanceStorageMount) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceStorageMountFilesystemOptions

type MetadataInstanceStorageMountFilesystemOptions struct {
	Force   bool     `json:"force,omitempty"`
	Options []string `json:"options,omitempty"`
}

func (*MetadataInstanceStorageMountFilesystemOptions) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceStorageMountFilesystemOptions.

func (*MetadataInstanceStorageMountFilesystemOptions) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataInstanceStorageRAID

type MetadataInstanceStorageRAID struct {
	Name    string   `json:"name,omitempty"`
	Level   string   `json:"level,omitempty"`
	Devices []string `json:"devices,omitempty"`
	Spare   int64    `json:"spare,omitempty"`
}

func (*MetadataInstanceStorageRAID) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInstanceStorageRAID.

func (*MetadataInstanceStorageRAID) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataManufacturer

type MetadataManufacturer struct {
	ID   string `json:"id,omitempty"`
	Slug string `json:"slug,omitempty"`
}

func (*MetadataManufacturer) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataManufacturer.

func (*MetadataManufacturer) DeepCopyInto

func (in *MetadataManufacturer) DeepCopyInto(out *MetadataManufacturer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Netboot

type Netboot struct {
	//+optional
	AllowPXE *bool `json:"allowPXE,omitempty"`

	//+optional
	AllowWorkflow *bool `json:"allowWorkflow,omitempty"`

	//+optional
	IPXE *IPXE `json:"ipxe,omitempty"`

	//+optional
	OSIE *OSIE `json:"osie,omitempty"`
}

Netboot configuration.

func (*Netboot) DeepCopy

func (in *Netboot) DeepCopy() *Netboot

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Netboot.

func (*Netboot) DeepCopyInto

func (in *Netboot) DeepCopyInto(out *Netboot)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OSIE

type OSIE struct {
	BaseURL string `json:"baseURL,omitempty"`
	Kernel  string `json:"kernel,omitempty"`
	Initrd  string `json:"initrd,omitempty"`
}

OSIE configuration.

func (*OSIE) DeepCopy

func (in *OSIE) DeepCopy() *OSIE

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSIE.

func (*OSIE) DeepCopyInto

func (in *OSIE) DeepCopyInto(out *OSIE)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Task

type Task struct {
	Name        string            `json:"name"`
	WorkerAddr  string            `json:"worker"`
	Actions     []Action          `json:"actions"`
	Volumes     []string          `json:"volumes,omitempty"`
	Environment map[string]string `json:"environment,omitempty"`
}

Task represents a series of actions to be completed by a worker.

func (*Task) DeepCopy

func (in *Task) DeepCopy() *Task

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Task.

func (*Task) DeepCopyInto

func (in *Task) DeepCopyInto(out *Task)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Template

type Template struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TemplateSpec   `json:"spec,omitempty"`
	Status TemplateStatus `json:"status,omitempty"`
}

Template is the Schema for the Templates API.

func (*Template) DeepCopy

func (in *Template) DeepCopy() *Template

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template.

func (*Template) DeepCopyInto

func (in *Template) DeepCopyInto(out *Template)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Template) DeepCopyObject

func (in *Template) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Template) SetTinkID

func (t *Template) SetTinkID(id string)

SetTinkID sets the Tinkerbell ID associated with this Template.

func (*Template) TinkID

func (t *Template) TinkID() string

TinkID returns the Tinkerbell ID associated with this Template.

type TemplateList

type TemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Template `json:"items"`
}

TemplateList contains a list of Templates.

func (*TemplateList) DeepCopy

func (in *TemplateList) DeepCopy() *TemplateList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateList.

func (*TemplateList) DeepCopyInto

func (in *TemplateList) DeepCopyInto(out *TemplateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TemplateList) DeepCopyObject

func (in *TemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TemplateRendering added in v0.11.0

type TemplateRendering string

type TemplateSpec

type TemplateSpec struct {
	// +optional
	Data *string `json:"data,omitempty"`
}

TemplateSpec defines the desired state of Template.

func (*TemplateSpec) DeepCopy

func (in *TemplateSpec) DeepCopy() *TemplateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateSpec.

func (*TemplateSpec) DeepCopyInto

func (in *TemplateSpec) DeepCopyInto(out *TemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TemplateState

type TemplateState string

TemplateState represents the template state.

type TemplateStatus

type TemplateStatus struct {
	State TemplateState `json:"state,omitempty"`
}

TemplateStatus defines the observed state of Template.

func (*TemplateStatus) DeepCopy

func (in *TemplateStatus) DeepCopy() *TemplateStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateStatus.

func (*TemplateStatus) DeepCopyInto

func (in *TemplateStatus) DeepCopyInto(out *TemplateStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Workflow

type Workflow struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   WorkflowSpec   `json:"spec,omitempty"`
	Status WorkflowStatus `json:"status,omitempty"`
}

Workflow is the Schema for the Workflows API.

func (*Workflow) DeepCopy

func (in *Workflow) DeepCopy() *Workflow

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workflow.

func (*Workflow) DeepCopyInto

func (in *Workflow) DeepCopyInto(out *Workflow)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Workflow) DeepCopyObject

func (in *Workflow) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Workflow) GetCurrentAction

func (w *Workflow) GetCurrentAction() string

func (*Workflow) GetCurrentActionIndex

func (w *Workflow) GetCurrentActionIndex() int

func (*Workflow) GetCurrentActionState

func (w *Workflow) GetCurrentActionState() WorkflowState

func (*Workflow) GetCurrentTask

func (w *Workflow) GetCurrentTask() string

func (*Workflow) GetCurrentTaskIndex

func (w *Workflow) GetCurrentTaskIndex() int

func (*Workflow) GetCurrentWorker

func (w *Workflow) GetCurrentWorker() string

func (*Workflow) GetStartTime

func (w *Workflow) GetStartTime() *metav1.Time

GetStartTime returns the start time, for the first action of the first task.

func (*Workflow) GetTotalNumberOfActions

func (w *Workflow) GetTotalNumberOfActions() int

func (*Workflow) SetTinkID

func (w *Workflow) SetTinkID(id string)

SetTinkID sets the Tinkerbell ID associated with this Workflow.

func (*Workflow) TinkID

func (w *Workflow) TinkID() string

TinkID returns the Tinkerbell ID associated with this Workflow.

type WorkflowCondition added in v0.11.0

type WorkflowCondition struct {
	// Type of job condition, Complete or Failed.
	Type WorkflowConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=WorkflowConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status metav1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Reason is a (brief) reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"`
	// Message is a human readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
	// Time when the condition was created.
	// +optional
	Time *metav1.Time `json:"time,omitempty" protobuf:"bytes,7,opt,name=time"`
}

JobCondition describes current state of a job.

func (*WorkflowCondition) DeepCopy added in v0.11.0

func (in *WorkflowCondition) DeepCopy() *WorkflowCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowCondition.

func (*WorkflowCondition) DeepCopyInto added in v0.11.0

func (in *WorkflowCondition) DeepCopyInto(out *WorkflowCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkflowConditionType added in v0.11.0

type WorkflowConditionType string

type WorkflowList

type WorkflowList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Workflow `json:"items"`
}

WorkflowList contains a list of Workflows.

func (*WorkflowList) DeepCopy

func (in *WorkflowList) DeepCopy() *WorkflowList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowList.

func (*WorkflowList) DeepCopyInto

func (in *WorkflowList) DeepCopyInto(out *WorkflowList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WorkflowList) DeepCopyObject

func (in *WorkflowList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WorkflowSpec

type WorkflowSpec struct {
	// Name of the Template associated with this workflow.
	TemplateRef string `json:"templateRef,omitempty"`

	// Name of the Hardware associated with this workflow.
	// +optional
	HardwareRef string `json:"hardwareRef,omitempty"`

	// A mapping of template devices to hadware mac addresses.
	HardwareMap map[string]string `json:"hardwareMap,omitempty"`

	// BootOptions are options that control the booting of Hardware.
	BootOptions BootOptions `json:"bootOptions,omitempty"`
}

WorkflowSpec defines the desired state of Workflow.

func (*WorkflowSpec) DeepCopy

func (in *WorkflowSpec) DeepCopy() *WorkflowSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSpec.

func (*WorkflowSpec) DeepCopyInto

func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkflowState

type WorkflowState string

type WorkflowStatus

type WorkflowStatus struct {
	// State is the current overall state of the Workflow.
	State WorkflowState `json:"state,omitempty"`

	// CurrentAction is the action that is currently in the running state.
	CurrentAction string `json:"currentAction,omitempty"`

	// BootOptions holds the state of any boot options.
	BootOptions BootOptionsStatus `json:"bootOptions,omitempty"`

	// TemplateRendering indicates whether the template was rendered successfully.
	// Possible values are "successful" or "failed" or "unknown".
	TemplateRendering TemplateRendering `json:"templateRending,omitempty"`

	// GlobalTimeout represents the max execution time.
	GlobalTimeout int64 `json:"globalTimeout,omitempty"`

	// Tasks are the tasks to be run by the worker(s).
	Tasks []Task `json:"tasks,omitempty"`

	// Conditions are the latest available observations of an object's current state.
	//
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=atomic
	Conditions []WorkflowCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

WorkflowStatus defines the observed state of a Workflow.

func (*WorkflowStatus) DeepCopy

func (in *WorkflowStatus) DeepCopy() *WorkflowStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStatus.

func (*WorkflowStatus) DeepCopyInto

func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WorkflowStatus) HasCondition added in v0.11.0

HasCondition checks if the cType condition is present with status cStatus on a bmj.

func (*WorkflowStatus) SetCondition added in v0.11.0

func (w *WorkflowStatus) SetCondition(wc WorkflowCondition)

SetCondition updates conditions. If the condition already exists, it updates it. If the condition doesn't exist then it appends the new one (wc).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL