v1alpha1

package
v0.4.7 Latest Latest
Warning

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

Go to latest
Published: May 7, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the talos v1alpha1 API group. +kubebuilder:object:generate=true +groupName=talos.alperen.cloud

Index

Constants

View Source
const (
	ConditionDeleting                    = "Deleting"
	ConditionReady                       = "Ready"
	ConditionFailed                      = "Failed"
	ConditionProgressing                 = "Progressing"
	ConditionAvailable                   = "Available"
	ConditionKubernetesUpgradeInProgress = "KubernetesUpgradeInProgress"
	ConditionKubernetesUpgradeSucceeded  = "KubernetesUpgradeSucceeded"
	ConditionKubernetesUpgradeFailed     = "KubernetesUpgradeFailed"

	// State of the Talos control plane
	StateAvailable               = "Available"               // Control plane is ready to bootstrap the cluster
	StateInstalling              = "Installing"              // Machine is being installed
	StateUpgrading               = "Upgrading"               // Machine is being upgraded
	StateUpgradingKubernetes     = "UpgradingKubernetes"     // Machine is being upgraded to a new Kubernetes version
	StateBootstrapped            = "Bootstrapped"            // Control plane is ready to accept workloads
	StateReady                   = "Ready"                   // Control plane is fully operational
	StateFailed                  = "Failed"                  // Control plane creation failed
	StateKubernetesUpgradeFailed = "KubernetesUpgradeFailed" // Kubernetes upgrade failed
	// State for TalosMachine
	StateOrphaned = "Orphaned" // Machine is not managed by any TalosCluster or TalosControlPlane
	StateBooting  = "Booting"  // Machine is booting into Talos
	// State for TalosControlPlane and TalosMachine
	StatePending = "Pending" // Control plane is being created / Machine has finished booting into Talos

	// State secret labels — used to identify per-control-plane state backup Secrets
	StateSecretLabelKey   = "talos.alperen.cloud/type"
	StateSecretLabelValue = "state"

	// Finalizers
	TalosClusterFinalizer             = "taloscluster.talos.alperen.cloud/finalizer"
	TalosControlPlaneFinalizer        = "taloscontrolplane.talos.alperen.cloud/finalizer"
	TalosWorkerFinalizer              = "talosworker.talos.alperen.cloud/finalizer"
	TalosMachineFinalizer             = "talosmachine.talos.alperen.cloud/finalizer"
	TalosEtcdBackupFinalizer          = "talosetcdbackup.talos.alperen.cloud/finalizer"
	TalosEtcdBackupScheduleFinalizer  = "talosetcdbackupschedule.talos.alperen.cloud/finalizer"
	TalosClusterAddonFinalizer        = "talosclusteraddon.talos.alperen.cloud/finalizer"
	TalosClusterAddonReleaseFinalizer = "talosclusteraddonrelease.talos.alperen.cloud/finalizer"

	// GVK for the API group
	GroupName             = "talos.alperen.cloud"
	GroupKindCluster      = "TalosCluster"
	GroupKindControlPlane = "TalosControlPlane"
	GroupKindWorker       = "TalosWorker"
	GroupKindMachine      = "TalosMachine"

	//
	TalosEtcdBackupScheduleLabelKey = "talos.alperen.cloud/etcd-backup-schedule"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "talos.alperen.cloud", 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 BackupStorage added in v0.3.0

type BackupStorage struct {
	// s3 specifies the S3-compatible storage configuration for the etcd backup.
	// +kubebuilder:validation:Required
	S3 *S3Storage `json:"s3,omitempty"`
}

func (*BackupStorage) DeepCopy added in v0.3.0

func (in *BackupStorage) DeepCopy() *BackupStorage

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

func (*BackupStorage) DeepCopyInto added in v0.3.0

func (in *BackupStorage) DeepCopyInto(out *BackupStorage)

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

type CNIConfig added in v0.3.5

type CNIConfig struct {
	// name of CNI to use (flannel, custom, none).
	// +kubebuilder:validation:Enum=flannel;custom;none
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`

	// urls containing manifests to apply for the CNI.
	// Should be present for "custom", must be empty for "flannel" and "none".
	// +kubebuilder:validation:Optional
	URLs []string `json:"urls,omitempty"`

	// flannel configuration options.
	// +kubebuilder:validation:Optional
	Flannel *FlannelCNIConfig `json:"flannel,omitempty"`
}

CNIConfig represents the CNI configuration options.

func (*CNIConfig) DeepCopy added in v0.3.5

func (in *CNIConfig) DeepCopy() *CNIConfig

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

func (*CNIConfig) DeepCopyInto added in v0.3.5

func (in *CNIConfig) DeepCopyInto(out *CNIConfig)

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

type FlannelCNIConfig added in v0.3.5

type FlannelCNIConfig struct {
	// extraArgs are extra arguments for 'flanneld'.
	// +kubebuilder:validation:Optional
	ExtraArgs []string `json:"extraArgs,omitempty"`
}

FlannelCNIConfig represents the Flannel CNI configuration options.

func (*FlannelCNIConfig) DeepCopy added in v0.3.5

func (in *FlannelCNIConfig) DeepCopy() *FlannelCNIConfig

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

func (*FlannelCNIConfig) DeepCopyInto added in v0.3.5

func (in *FlannelCNIConfig) DeepCopyInto(out *FlannelCNIConfig)

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

type HelmSpec added in v0.3.6

type HelmSpec struct {
	// chartName is the name of the Helm chart in the repository.
	// e.g. chart-path oci://repo-url/chart-name as chartName: chart-name and https://repo-url/chart-name as chartName: chart-name
	ChartName string `json:"chartName"`

	// repoURL is the URL of the Helm chart repository.
	// e.g. chart-path oci://repo-url/chart-name as repoURL: oci://repo-url and https://repo-url/chart-name as repoURL: https://repo-url
	RepoURL string `json:"repoURL"`

	// releaseName is the release name of the installed Helm chart. If it is not specified, a name will be generated.
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// namespace is the namespace the Helm release will be installed on each selected
	// Cluster. If it is not specified, it will be set to the default namespace.
	// +optional
	// +kubebuilder:default:=default
	ReleaseNamespace string `json:"namespace,omitempty"`

	// version is the version of the Helm chart. If it is not specified, the chart will use
	// and be kept up to date with the latest version.
	// +optional
	Version string `json:"version,omitempty"`

	// valuesTemplate is an inline YAML representing the values for the Helm chart. This YAML supports Go templating to reference
	// fields from each selected workload Cluster and programatically create and set values.
	// +optional
	ValuesTemplate string `json:"valuesTemplate,omitempty"`

	// options represents CLI flags passed to Helm operations (i.e. install, upgrade, delete)
	// include options such as wait, skipCRDs, timeout, waitForJobs, etc.
	// Inherited from Cluster API Addons API.
	// +optional
	Options *capiaddons.HelmOptions `json:"options,omitempty"`

	// credentials is a reference to an object containing the OCI credentials. If it is not specified, no credentials will be used.
	// Inherited from Cluster API Addons API.
	// +optional
	Credentials *capiaddons.Credentials `json:"credentials,omitempty"`

	// tlsConfig contains the TLS configuration for a HelmChartProxy.
	// Inherited from Cluster API Addons API.
	// +optional
	TLSConfig *capiaddons.TLSConfig `json:"tlsConfig,omitempty"`
}

func (*HelmSpec) DeepCopy added in v0.3.6

func (in *HelmSpec) DeepCopy() *HelmSpec

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

func (*HelmSpec) DeepCopyInto added in v0.3.6

func (in *HelmSpec) DeepCopyInto(out *HelmSpec)

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

type META added in v0.2.5

type META struct {
	// hostname is the hostname for the Talos machines.
	Hostname string `json:"hostname,omitempty"`
	// interface is the network interface name for Talos machines.
	Interface string `json:"interface,omitempty"`
	// subnet is the subnet prefix length for the Talos machines.
	Subnet int `json:"subnet,omitempty"`
	// gateway is the gateway for the Talos machines.
	Gateway string `json:"gateway,omitempty"`
	// dnsServers is a list of DNS servers for the Talos machines.
	DNSServers []string `json:"dnsServers,omitempty"`
}

META is network metadata for Talos machines

func (*META) DeepCopy added in v0.2.5

func (in *META) DeepCopy() *META

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

func (*META) DeepCopyInto added in v0.2.5

func (in *META) DeepCopyInto(out *META)

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

type Machine added in v0.3.4

type Machine struct {
	// address is the IP address of the Talos machine.
	// +kubebuilder:validation:Pattern=`^(\d{1,3}\.){3}\d{1,3}$`
	Address *string `json:"address,omitempty"`
	// version of Talos to use for this machine (controller-manager, scheduler, kube-apiserver, etcd) -- e.g "v1.12.1"
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^v\d+\.\d+\.\d+(-\w+)?$`
	Version string `json:"version,omitempty"`
	// image is the Talos image to use for this machine
	// +kubebuilder:validation:Optional
	Image *string `json:"image,omitempty"`
	// pxeClientSpec defines the specifications of the machines relevant for PXE boot.
	// +kubebuilder:validation:Optional
	PxeClientSpec *PxeClientSpec `json:"pxeClientSpec,omitempty"`
	// machineRef is a reference to a Kubernetes object from which the machine IP address can be extracted.
	// +kubebuilder:validation:Optional
	MachineRef *corev1.ObjectReference `json:"machineRef,omitempty"`
	// configPatches is a list of machine-specific config patches applied per machine.
	// Only define the machine level configPatches here because it appended after the root machineSpec.configPatches.
	// +kubebuilder:validation:Optional
	ConfigPatches []runtime.RawExtension `json:"configPatches,omitempty"`
	// additionalConfig is machine-specific additional Talos configuration to append to the generated config.
	// When set, it appends the root machineSpec.additionalConfig for this machine.
	// +kubebuilder:validation:Optional
	AdditionalConfig []runtime.RawExtension `json:"additionalConfig,omitempty"`
}

+kubebuilder:validation:XValidation:rule="has(self.address) != has(self.machineRef)",message="address and machineRef are mutually exclusive"

func (*Machine) DeepCopy added in v0.3.4

func (in *Machine) DeepCopy() *Machine

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

func (*Machine) DeepCopyInto added in v0.3.4

func (in *Machine) DeepCopyInto(out *Machine)

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

type MachineSpec

type MachineSpec struct {
	// installDisk is the disk to use for installing Talos on the control plane machines.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^/dev/(sd[a-z][0-9]*|vd[a-z][0-9]*|nvme[0-9]+n[0-9]+(p[0-9]+)?)$`
	InstallDisk *string `json:"installDisk,omitempty"`
	// wipe indicates whether to wipe the disk before installation.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Wipe bool `json:"wipe,omitempty"`
	// image is the Talos image to use for this machine.
	// +kubebuilder:validation:Optional
	Image *string `json:"image,omitempty"`
	// meta is the meta partition used by Talos.
	// +kubebuilder:validation:Optional
	Meta *META `json:"meta,omitempty"`
	// airGap indicates whether the machine is in an air-gapped environment.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	AirGap bool `json:"airGap,omitempty"`
	// imageCache indicates whether to enable local image caching on the machine.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	ImageCache bool `json:"imageCache,omitempty"`
	// allowSchedulingOnControlPlanes indicates whether to allow scheduling workloads on control plane nodes.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	AllowSchedulingOnControlPlanes bool `json:"allowSchedulingOnControlPlanes,omitempty"`
	// registries is the path to a custom registries configuration file.
	// +kubebuilder:validation:Optional
	Registries *runtime.RawExtension `json:"registries,omitempty"`
	// additionalConfig is a list of additional Talos configuration documents to append to the
	// generated config, each separated by "---". Entries are appended in order: global first,
	// then machine-specific.
	// +kubebuilder:validation:Optional
	AdditionalConfig []runtime.RawExtension `json:"additionalConfig,omitempty"`
	// configPatches is a list of strategic merge patches applied to the generated Talos machine config.
	// Unlike additionalConfig (which appends a separate YAML document), each patch is merged into
	// the main machine config, allowing you to override or extend any field (e.g. machine.network).
	// +kubebuilder:validation:Optional
	ConfigPatches []runtime.RawExtension `json:"configPatches,omitempty"`
}

func (*MachineSpec) DeepCopy

func (in *MachineSpec) DeepCopy() *MachineSpec

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

func (*MachineSpec) DeepCopyInto

func (in *MachineSpec) DeepCopyInto(out *MachineSpec)

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

type MetalSpec

type MetalSpec struct {
	// machines is a list of machine specifications for the Talos control plane.
	// +listType=atomic
	Machines []Machine `json:"machines,omitempty"`
	// machineSpec defines the specifications for each Talos control plane machine.
	// +kubebuilder:validation:Optional
	MachineSpec *MachineSpec `json:"machineSpec,omitempty"`
}

func (*MetalSpec) DeepCopy

func (in *MetalSpec) DeepCopy() *MetalSpec

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

func (*MetalSpec) DeepCopyInto

func (in *MetalSpec) DeepCopyInto(out *MetalSpec)

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

type PxeClientSpec added in v0.4.6

type PxeClientSpec struct {
	// macAddress is the MAC address of the network interface used by the PXE firmware of the machine to boot Talos.
	// +kubebuilder:validation:Required
	MacAddress *string `json:"macAddress,omitempty"`
	// cpuArchitecture is the CPU architecture of the machine.
	// +kubebuilder:validation:Enum=amd64;arm64
	// +kubebuilder:validation:Required
	CpuArchitecture *string `json:"cpuArchitecture,omitempty"`
	// kernelCmdlineArgs specifies the additional kernel command line arguments to inject during PXE boot. These arguments are not preserved after installation.
	// +kubebuilder:validation:Optional
	KernelCmdlineArgs *string `json:"kernelCmdlineArgs,omitempty"`
}

func (*PxeClientSpec) DeepCopy added in v0.4.6

func (in *PxeClientSpec) DeepCopy() *PxeClientSpec

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

func (*PxeClientSpec) DeepCopyInto added in v0.4.6

func (in *PxeClientSpec) DeepCopyInto(out *PxeClientSpec)

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

type PxeServerSpec added in v0.4.6

type PxeServerSpec struct {
	// address is the IP address of the PXE server.
	// +kubebuilder:validation:Pattern=`^(\d{1,3}\.){3}\d{1,3}$`
	// +kubebuilder:validation:Required
	Address *string `json:"address,omitempty"`
	// interface is the interface connected to the network used for PXE boot (as given by Linux).
	// +kubebuilder:validation:Required
	Interface *string `json:"interface,omitempty"`
}

func (*PxeServerSpec) DeepCopy added in v0.4.6

func (in *PxeServerSpec) DeepCopy() *PxeServerSpec

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

func (*PxeServerSpec) DeepCopyInto added in v0.4.6

func (in *PxeServerSpec) DeepCopyInto(out *PxeServerSpec)

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

type S3Storage added in v0.3.0

type S3Storage struct {
	// bucket is the name of the S3 bucket to store the etcd backup.
	Bucket string `json:"bucket"`
	// region is the AWS region where the S3 bucket is located.
	Region string `json:"region"`
	// endpoint is the S3 service endpoint (optional, for custom S3-compatible services).
	Endpoint string `json:"endpoint,omitempty"`
	// accessKeyID is the access key ID for the S3 bucket.
	AccessKeyID *corev1.SecretKeySelector `json:"accessKeyID"`
	// secretAccessKey is the secret access key for the S3 bucket.
	SecretAccessKey *corev1.SecretKeySelector `json:"secretAccessKey"`
	// insecureSkipTLSVerify skips TLS verification for the S3 endpoint (optional).
	// +kubebuilder:default:=false
	InsecureSkipTLSVerify bool `json:"insecureSkipTLSVerify,omitempty"`
}

func (*S3Storage) DeepCopy added in v0.3.0

func (in *S3Storage) DeepCopy() *S3Storage

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

func (*S3Storage) DeepCopyInto added in v0.3.0

func (in *S3Storage) DeepCopyInto(out *S3Storage)

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

type TalosCluster

type TalosCluster struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec defines the desired state of TalosCluster.
	// +optional
	Spec TalosClusterSpec `json:"spec,omitempty"`

	// status defines the observed state of TalosCluster.
	// +optional
	Status TalosClusterStatus `json:"status,omitempty"`
}

TalosCluster is the Schema for the talosclusters API.

func (*TalosCluster) DeepCopy

func (in *TalosCluster) DeepCopy() *TalosCluster

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

func (*TalosCluster) DeepCopyInto

func (in *TalosCluster) DeepCopyInto(out *TalosCluster)

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

func (*TalosCluster) DeepCopyObject

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

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

type TalosClusterAddon added in v0.3.6

type TalosClusterAddon struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of TalosClusterAddon
	// +required
	Spec TalosClusterAddonSpec `json:"spec"`

	// status defines the observed state of TalosClusterAddon
	// +optional
	Status TalosClusterAddonStatus `json:"status,omitempty,omitzero"`
}

TalosClusterAddon is the Schema for the talosclusteraddons API.

func (*TalosClusterAddon) DeepCopy added in v0.3.6

func (in *TalosClusterAddon) DeepCopy() *TalosClusterAddon

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

func (*TalosClusterAddon) DeepCopyInto added in v0.3.6

func (in *TalosClusterAddon) DeepCopyInto(out *TalosClusterAddon)

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

func (*TalosClusterAddon) DeepCopyObject added in v0.3.6

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

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

type TalosClusterAddonList added in v0.3.6

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

TalosClusterAddonList contains a list of TalosClusterAddon

func (*TalosClusterAddonList) DeepCopy added in v0.3.6

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

func (*TalosClusterAddonList) DeepCopyInto added in v0.3.6

func (in *TalosClusterAddonList) DeepCopyInto(out *TalosClusterAddonList)

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

func (*TalosClusterAddonList) DeepCopyObject added in v0.3.6

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

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

type TalosClusterAddonRelease added in v0.3.6

type TalosClusterAddonRelease struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of TalosClusterAddonRelease
	// +required
	Spec TalosClusterAddonReleaseSpec `json:"spec"`

	// status defines the observed state of TalosClusterAddonRelease
	// +optional
	Status TalosClusterAddonReleaseStatus `json:"status,omitempty,omitzero"`
}

TalosClusterAddonRelease is the Schema for the talosclusteraddonreleases API

func (*TalosClusterAddonRelease) DeepCopy added in v0.3.6

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

func (*TalosClusterAddonRelease) DeepCopyInto added in v0.3.6

func (in *TalosClusterAddonRelease) DeepCopyInto(out *TalosClusterAddonRelease)

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

func (*TalosClusterAddonRelease) DeepCopyObject added in v0.3.6

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

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

type TalosClusterAddonReleaseList added in v0.3.6

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

TalosClusterAddonReleaseList contains a list of TalosClusterAddonRelease

func (*TalosClusterAddonReleaseList) DeepCopy added in v0.3.6

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

func (*TalosClusterAddonReleaseList) DeepCopyInto added in v0.3.6

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

func (*TalosClusterAddonReleaseList) DeepCopyObject added in v0.3.6

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

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

type TalosClusterAddonReleaseSpec added in v0.3.6

type TalosClusterAddonReleaseSpec struct {
	// clusterRef is a reference to the TalosCluster where the addon will be installed.
	// +kubebuilder:validation:Required
	ClusterRef corev1.ObjectReference `json:"clusterRef"`

	// helmSpec contains the configuration for the Helm chart that defines the addon.
	HelmSpec HelmSpec `json:"helmSpec,omitempty"`
}

TalosClusterAddonReleaseSpec defines the desired state of TalosClusterAddonRelease.

func (*TalosClusterAddonReleaseSpec) DeepCopy added in v0.3.6

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

func (*TalosClusterAddonReleaseSpec) DeepCopyInto added in v0.3.6

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

type TalosClusterAddonReleaseStatus added in v0.3.6

type TalosClusterAddonReleaseStatus struct {
	// conditions represent the current state of the TalosClusterAddonRelease resource.
	// Each condition has a unique type and reflects the status of a specific aspect of the resource.
	//
	// Standard condition types include:
	// - "Available": the resource is fully functional
	// - "Progressing": the resource is being created or updated
	// - "Degraded": the resource failed to reach or maintain its desired state
	//
	// The status of each condition is one of True, False, or Unknown.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TalosClusterAddonReleaseStatus defines the observed state of TalosClusterAddonRelease.

func (*TalosClusterAddonReleaseStatus) DeepCopy added in v0.3.6

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

func (*TalosClusterAddonReleaseStatus) DeepCopyInto added in v0.3.6

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

type TalosClusterAddonSpec added in v0.3.6

type TalosClusterAddonSpec struct {
	// clusterSelector is a label selector that matches the TalosCluster resources
	// to which this TalosClusterAddon should be applied.
	// It allows the addon to be associated with specific clusters based on their labels.
	ClusterSelector metav1.LabelSelector `json:"clusterSelector,omitempty"`

	// helmSpec contains the configuration for the Helm chart that defines the addon.
	HelmSpec HelmSpec `json:"helmSpec,omitempty"`
}

TalosClusterAddonSpec defines the desired state of TalosClusterAddon.

func (*TalosClusterAddonSpec) DeepCopy added in v0.3.6

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

func (*TalosClusterAddonSpec) DeepCopyInto added in v0.3.6

func (in *TalosClusterAddonSpec) DeepCopyInto(out *TalosClusterAddonSpec)

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

type TalosClusterAddonStatus added in v0.3.6

type TalosClusterAddonStatus struct {
	// conditions represent the latest available observations of the TalosClusterAddon's current state.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TalosClusterAddonStatus defines the observed state of TalosClusterAddon.

func (*TalosClusterAddonStatus) DeepCopy added in v0.3.6

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

func (*TalosClusterAddonStatus) DeepCopyInto added in v0.3.6

func (in *TalosClusterAddonStatus) DeepCopyInto(out *TalosClusterAddonStatus)

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

type TalosClusterList

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

TalosClusterList contains a list of TalosCluster.

func (*TalosClusterList) DeepCopy

func (in *TalosClusterList) DeepCopy() *TalosClusterList

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

func (*TalosClusterList) DeepCopyInto

func (in *TalosClusterList) DeepCopyInto(out *TalosClusterList)

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

func (*TalosClusterList) DeepCopyObject

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

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

type TalosClusterSpec

type TalosClusterSpec struct {

	// controlPlane defines the control plane configuration for the Talos cluster.
	// +kubebuilder:validation:Optional
	ControlPlane *TalosControlPlaneSpec `json:"controlPlane,omitempty"`

	// controlPlaneRef references the TalosControlPlane resource that manages the control plane.
	// +kubebuilder:validation:Optional
	ControlPlaneRef *corev1.LocalObjectReference `json:"controlPlaneRef,omitempty"`

	// worker defines the worker configuration for the Talos cluster.
	// +kubebuilder:validation:Optional
	Worker *TalosWorkerSpec `json:"worker,omitempty"`

	// workerRef references the TalosWorker resource that manages the worker nodes.
	// +kubebuilder:validation:Optional
	WorkerRef *corev1.LocalObjectReference `json:"workerRef,omitempty"`

	// pxeServerSpec defines the specifications of the server used for booting Talos using PXE.
	// +kubebuilder:validation:Optional
	PxeServerSpec *PxeServerSpec `json:"pxeServerSpec,omitempty"`
}

TalosClusterSpec defines the desired state of TalosCluster.

func (*TalosClusterSpec) DeepCopy

func (in *TalosClusterSpec) DeepCopy() *TalosClusterSpec

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

func (*TalosClusterSpec) DeepCopyInto

func (in *TalosClusterSpec) DeepCopyInto(out *TalosClusterSpec)

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

type TalosClusterStatus

type TalosClusterStatus struct {
	// conditions represent the current state of the TalosCluster resource.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TalosClusterStatus defines the observed state of TalosCluster.

func (*TalosClusterStatus) DeepCopy

func (in *TalosClusterStatus) DeepCopy() *TalosClusterStatus

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

func (*TalosClusterStatus) DeepCopyInto

func (in *TalosClusterStatus) DeepCopyInto(out *TalosClusterStatus)

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

type TalosControlPlane

type TalosControlPlane struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec defines the desired state of TalosControlPlane.
	// +optional
	Spec TalosControlPlaneSpec `json:"spec,omitempty"`

	// status defines the observed state of TalosControlPlane.
	// +optional
	Status TalosControlPlaneStatus `json:"status,omitempty"`
}

TalosControlPlane is the Schema for the taloscontrolplanes API.

func (*TalosControlPlane) DeepCopy

func (in *TalosControlPlane) DeepCopy() *TalosControlPlane

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

func (*TalosControlPlane) DeepCopyInto

func (in *TalosControlPlane) DeepCopyInto(out *TalosControlPlane)

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

func (*TalosControlPlane) DeepCopyObject

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

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

type TalosControlPlaneList

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

TalosControlPlaneList contains a list of TalosControlPlane.

func (*TalosControlPlaneList) DeepCopy

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

func (*TalosControlPlaneList) DeepCopyInto

func (in *TalosControlPlaneList) DeepCopyInto(out *TalosControlPlaneList)

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

func (*TalosControlPlaneList) DeepCopyObject

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

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

type TalosControlPlaneSpec

type TalosControlPlaneSpec struct {

	// version of Talos to use for the control plane(controller-manager, scheduler, kube-apiserver, etcd) -- e.g "v1.12.1"
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^v\d+\.\d+\.\d+(-\w+)?$`
	// +kubebuilder:default="v1.12.1"
	Version string `json:"version"`

	// mode specifies the deployment mode for the control plane (container, metal, or cloud).
	// TODO: Add support for cloud mode
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=container;metal;cloud
	Mode string `json:"mode"`

	// replicas is the number of control-plane machines to maintain. Only applies when mode is 'container'.
	// +kubebuilder:validation:Optional
	Replicas int32 `json:"replicas,omitempty"`

	// metalSpec is required when mode is 'metal'.
	MetalSpec MetalSpec `json:"metalSpec,omitempty"`

	// endpoint is the endpoint for the Kubernetes API Server.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^https?://[a-zA-Z0-9.-]+(:\d+)?$`
	Endpoint string `json:"endpoint,omitempty"`

	// kubeVersion is the version of Kubernetes to use for the control plane.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^v\d+\.\d+\.\d+(-\w+)?$`
	// +kubebuilder:default="v1.35.0"
	KubeVersion string `json:"kubeVersion"`

	// clusterDomain is the domain for the Kubernetes cluster.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^([a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])?\.)+[a-z]{2,}$`
	// +kubebuilder:default="cluster.local"
	ClusterDomain string `json:"clusterDomain,omitempty"`

	// storageClassName is the name of the storage class to use for persistent volumes.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^[a-zA-Z0-9][-a-zA-Z0-9_.]*[a-zA-Z0-9]$`
	StorageClassName *string `json:"storageClassName,omitempty"`

	// podCIDR is the list of CIDR ranges for pod IPs in the cluster.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MaxItems=4
	// +kubebuilder:validation:items:MaxLength=18
	// +kubebuilder:validation:items:Pattern=`^(\d{1,3}\.){3}\d{1,3}/\d{1,2}$`
	PodCIDR []string `json:"podCIDR,omitempty"`

	// serviceCIDR is the list of CIDR ranges for service IPs in the cluster.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MaxItems=4
	// +kubebuilder:validation:items:MaxLength=18
	// +kubebuilder:validation:items:Pattern=`^(\d{1,3}\.){3}\d{1,3}/\d{1,2}$`
	ServiceCIDR []string `json:"serviceCIDR,omitempty"`

	// configRef is a reference to a ConfigMap containing the Talos controlplane configuration.
	// +kubebuilder:validation:Optional
	ConfigRef *corev1.ConfigMapKeySelector `json:"configRef,omitempty"`

	// cni is the CNI configuration for the cluster.
	// +kubebuilder:validation:Optional
	CNI *CNIConfig `json:"cni,omitempty"`

	// deletionPolicy specifies the deletion policy for control plane machines when deleting this Kubernetes resource (reset or preserve).
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=reset;preserve
	// +kubebuilder:default=reset
	DeletionPolicy string `json:"deletionPolicy"`
}

TalosControlPlaneSpec defines the desired state of TalosControlPlane.

func (*TalosControlPlaneSpec) DeepCopy

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

func (*TalosControlPlaneSpec) DeepCopyInto

func (in *TalosControlPlaneSpec) DeepCopyInto(out *TalosControlPlaneSpec)

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

type TalosControlPlaneStatus

type TalosControlPlaneStatus struct {
	// state is the current state of the control plane.
	State string `json:"state,omitempty"`
	// conditions is a list of conditions for the Talos control plane.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// config is the reference to the Talos configuration used for the control plane.
	Config string `json:"config,omitempty"`
	// secretBundle is the reference to the secrets bundle used for the control plane.
	SecretBundle string `json:"secretBundle,omitempty"`
	// bundleConfig is the reference to the bundle configuration used for the control plane.
	BundleConfig string `json:"bundleConfig,omitempty"`
	// imported is only valid when ReconcileMode is 'import' and indicates whether the Talos control plane has been imported.
	Imported *bool `json:"imported,omitempty"`
	// observedKubeVersion is the observed version of Kubernetes.
	// +optional
	ObservedKubeVersion string `json:"observedKubeVersion,omitempty"`
}

TalosControlPlaneStatus defines the observed state of TalosControlPlane.

func (*TalosControlPlaneStatus) DeepCopy

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

func (*TalosControlPlaneStatus) DeepCopyInto

func (in *TalosControlPlaneStatus) DeepCopyInto(out *TalosControlPlaneStatus)

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

type TalosEtcdBackup added in v0.3.0

type TalosEtcdBackup struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of TalosEtcdBackup
	// +required
	Spec TalosEtcdBackupSpec `json:"spec"`

	// status defines the observed state of TalosEtcdBackup
	// +optional
	Status TalosEtcdBackupStatus `json:"status,omitempty,omitzero"`
}

TalosEtcdBackup is the Schema for the talosetcdbackups API.

func (*TalosEtcdBackup) DeepCopy added in v0.3.0

func (in *TalosEtcdBackup) DeepCopy() *TalosEtcdBackup

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

func (*TalosEtcdBackup) DeepCopyInto added in v0.3.0

func (in *TalosEtcdBackup) DeepCopyInto(out *TalosEtcdBackup)

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

func (*TalosEtcdBackup) DeepCopyObject added in v0.3.0

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

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

type TalosEtcdBackupList added in v0.3.0

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

TalosEtcdBackupList contains a list of TalosEtcdBackup

func (*TalosEtcdBackupList) DeepCopy added in v0.3.0

func (in *TalosEtcdBackupList) DeepCopy() *TalosEtcdBackupList

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

func (*TalosEtcdBackupList) DeepCopyInto added in v0.3.0

func (in *TalosEtcdBackupList) DeepCopyInto(out *TalosEtcdBackupList)

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

func (*TalosEtcdBackupList) DeepCopyObject added in v0.3.0

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

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

type TalosEtcdBackupSchedule added in v0.3.1

type TalosEtcdBackupSchedule struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of TalosEtcdBackupSchedule
	// +required
	Spec TalosEtcdBackupScheduleSpec `json:"spec"`

	// status defines the observed state of TalosEtcdBackupSchedule
	// +optional
	Status TalosEtcdBackupScheduleStatus `json:"status,omitempty,omitzero"`
}

TalosEtcdBackupSchedule is the Schema for the talosetcdbackupschedules API

func (*TalosEtcdBackupSchedule) DeepCopy added in v0.3.1

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

func (*TalosEtcdBackupSchedule) DeepCopyInto added in v0.3.1

func (in *TalosEtcdBackupSchedule) DeepCopyInto(out *TalosEtcdBackupSchedule)

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

func (*TalosEtcdBackupSchedule) DeepCopyObject added in v0.3.1

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

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

type TalosEtcdBackupScheduleList added in v0.3.1

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

TalosEtcdBackupScheduleList contains a list of TalosEtcdBackupSchedule

func (*TalosEtcdBackupScheduleList) DeepCopy added in v0.3.1

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

func (*TalosEtcdBackupScheduleList) DeepCopyInto added in v0.3.1

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

func (*TalosEtcdBackupScheduleList) DeepCopyObject added in v0.3.1

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

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

type TalosEtcdBackupScheduleSpec added in v0.3.1

type TalosEtcdBackupScheduleSpec struct {
	// schedule is a cron expression defining when to run backups.
	// For example: "0 2 * * *" for daily backups at 2 AM
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Schedule string `json:"schedule"`

	// backupTemplate is the template for creating TalosEtcdBackup resources.
	// +kubebuilder:validation:Required
	BackupTemplate TalosEtcdBackupTemplateSpec `json:"backupTemplate"`

	// retention specifies how many successful backups to keep.
	// Older backups will be automatically deleted
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default:=5
	// +optional
	Retention *int32 `json:"retention,omitempty"`

	// paused can be set to true to pause the backup schedule.
	// +kubebuilder:default:=false
	// +optional
	Paused bool `json:"paused,omitempty"`
}

TalosEtcdBackupScheduleSpec defines the desired state of TalosEtcdBackupSchedule

func (*TalosEtcdBackupScheduleSpec) DeepCopy added in v0.3.1

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

func (*TalosEtcdBackupScheduleSpec) DeepCopyInto added in v0.3.1

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

type TalosEtcdBackupScheduleStatus added in v0.3.1

type TalosEtcdBackupScheduleStatus struct {
	// lastScheduleTime is the last time a backup was scheduled.
	// +optional
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`

	// lastSuccessfulBackupTime is the last time a backup completed successfully.
	// +optional
	LastSuccessfulBackupTime *metav1.Time `json:"lastSuccessfulBackupTime,omitempty"`

	// nextScheduleTime is the next time a backup will be scheduled.
	// +optional
	NextScheduleTime *metav1.Time `json:"nextScheduleTime,omitempty"`

	// activeBackups is the list of currently active backup jobs.
	// +optional
	ActiveBackups []string `json:"activeBackups,omitempty"`

	// conditions represent the current state of the TalosEtcdBackupSchedule resource.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TalosEtcdBackupScheduleStatus defines the observed state of TalosEtcdBackupSchedule.

func (*TalosEtcdBackupScheduleStatus) DeepCopy added in v0.3.1

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

func (*TalosEtcdBackupScheduleStatus) DeepCopyInto added in v0.3.1

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

type TalosEtcdBackupSpec added in v0.3.0

type TalosEtcdBackupSpec struct {
	// talosControlPlaneRef is a reference to the TalosControlPlane this backup is associated with.
	// +kubebuilder:validation:required
	TalosControlPlaneRef *corev1.LocalObjectReference `json:"talosControlPlaneRef"`

	// backupStorage specifies where to store the etcd backup.
	// +kubebuilder:validation:required
	BackupStorage BackupStorage `json:"backupStorage"`
}

TalosEtcdBackupSpec defines the desired state of TalosEtcdBackup.

func (*TalosEtcdBackupSpec) DeepCopy added in v0.3.0

func (in *TalosEtcdBackupSpec) DeepCopy() *TalosEtcdBackupSpec

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

func (*TalosEtcdBackupSpec) DeepCopyInto added in v0.3.0

func (in *TalosEtcdBackupSpec) DeepCopyInto(out *TalosEtcdBackupSpec)

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

type TalosEtcdBackupStatus added in v0.3.0

type TalosEtcdBackupStatus struct {
	// filename is the name of the backup file in the storage backend.
	// +optional
	Filename string `json:"filename,omitempty"`
	// stateFilename is the name of the paired state-secret backup in the storage backend.
	// +optional
	StateFilename string `json:"stateFilename,omitempty"`
	// conditions represent the current state of the TalosEtcdBackup resource.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TalosEtcdBackupStatus defines the observed state of TalosEtcdBackup.

func (*TalosEtcdBackupStatus) DeepCopy added in v0.3.0

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

func (*TalosEtcdBackupStatus) DeepCopyInto added in v0.3.0

func (in *TalosEtcdBackupStatus) DeepCopyInto(out *TalosEtcdBackupStatus)

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

type TalosEtcdBackupTemplateSpec added in v0.3.1

type TalosEtcdBackupTemplateSpec struct {
	// spec is the specification of the TalosEtcdBackup to be created.
	// +kubebuilder:validation:Required
	Spec TalosEtcdBackupSpec `json:"spec"`
}

TalosEtcdBackupTemplateSpec defines the template for creating TalosEtcdBackup resources

func (*TalosEtcdBackupTemplateSpec) DeepCopy added in v0.3.1

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

func (*TalosEtcdBackupTemplateSpec) DeepCopyInto added in v0.3.1

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

type TalosMachine

type TalosMachine struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec defines the desired state of TalosMachine.
	// +optional
	Spec TalosMachineSpec `json:"spec,omitempty"`

	// status defines the observed state of TalosMachine.
	// +optional
	Status TalosMachineStatus `json:"status,omitempty"`
}

TalosMachine is the Schema for the talosmachines API.

func (*TalosMachine) DeepCopy

func (in *TalosMachine) DeepCopy() *TalosMachine

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

func (*TalosMachine) DeepCopyInto

func (in *TalosMachine) DeepCopyInto(out *TalosMachine)

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

func (*TalosMachine) DeepCopyObject

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

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

type TalosMachineList

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

TalosMachineList contains a list of TalosMachine.

func (*TalosMachineList) DeepCopy

func (in *TalosMachineList) DeepCopy() *TalosMachineList

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

func (*TalosMachineList) DeepCopyInto

func (in *TalosMachineList) DeepCopyInto(out *TalosMachineList)

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

func (*TalosMachineList) DeepCopyObject

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

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

type TalosMachineSpec

type TalosMachineSpec struct {

	// endpoint is the Talos API endpoint for this machine.
	// +kubebuilder:validation:Required
	Endpoint string `json:"endpoint"`

	// version is the desired version of Talos to run on this machine.
	// +kubebuilder:validation:Required
	Version string `json:"version"`

	// machineSpec is the machine specification for this TalosMachine.
	MachineSpec *MachineSpec `json:"machineSpec,omitempty"`

	// controlPlaneRef is a reference to the TalosControlPlane this machine belongs to.
	ControlPlaneRef *corev1.ObjectReference `json:"controlPlaneRef,omitempty"`

	// workerRef is a reference to the TalosWorker this machine belongs to.
	WorkerRef *corev1.ObjectReference `json:"workerRef,omitempty"`

	// configRef is a reference to a ConfigMap containing the Talos cluster configuration.
	// +kubebuilder:validation:Optional
	ConfigRef *corev1.ConfigMapKeySelector `json:"configRef,omitempty"`

	// deletionPolicy specifies the deletion policy for the machine when deleting this Kubernetes resource (reset or preserve).
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=reset;preserve
	// +kubebuilder:default=reset
	DeletionPolicy string `json:"deletionPolicy"`

	// pxeClientSpec defines the specifications of the machines relevant for PXE boot.
	// +kubebuilder:validation:Optional
	PxeClientSpec *PxeClientSpec `json:"pxeClientSpec,omitempty"`
}

TalosMachineSpec defines the desired state of TalosMachine.

func (*TalosMachineSpec) DeepCopy

func (in *TalosMachineSpec) DeepCopy() *TalosMachineSpec

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

func (*TalosMachineSpec) DeepCopyInto

func (in *TalosMachineSpec) DeepCopyInto(out *TalosMachineSpec)

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

type TalosMachineStatus

type TalosMachineStatus struct {
	// observedVersion is the version of Talos running on this machine.
	ObservedVersion string `json:"observedVersion,omitempty"`
	// config is the base64 encoded Talos configuration.
	Config string `json:"config,omitempty"`
	// imported is only valid when ReconcileMode is 'import' and indicates whether the Talos machine has been imported.
	Imported *bool `json:"imported,omitempty"`
	// state is the current state of the machine (e.g., "Ready", "Provisioning", "Failed").
	State string `json:"state,omitempty"`
	// conditions represent the latest available observations of a TalosMachine's current state.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TalosMachineStatus defines the observed state of TalosMachine.

func (*TalosMachineStatus) DeepCopy

func (in *TalosMachineStatus) DeepCopy() *TalosMachineStatus

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

func (*TalosMachineStatus) DeepCopyInto

func (in *TalosMachineStatus) DeepCopyInto(out *TalosMachineStatus)

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

type TalosWorker

type TalosWorker struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec defines the desired state of TalosWorker.
	// +optional
	Spec TalosWorkerSpec `json:"spec,omitempty"`

	// status defines the observed state of TalosWorker.
	// +optional
	Status TalosWorkerStatus `json:"status,omitempty"`
}

TalosWorker is the Schema for the talosworkers API.

func (*TalosWorker) DeepCopy

func (in *TalosWorker) DeepCopy() *TalosWorker

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

func (*TalosWorker) DeepCopyInto

func (in *TalosWorker) DeepCopyInto(out *TalosWorker)

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

func (*TalosWorker) DeepCopyObject

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

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

type TalosWorkerList

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

TalosWorkerList contains a list of TalosWorker.

func (*TalosWorkerList) DeepCopy

func (in *TalosWorkerList) DeepCopy() *TalosWorkerList

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

func (*TalosWorkerList) DeepCopyInto

func (in *TalosWorkerList) DeepCopyInto(out *TalosWorkerList)

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

func (*TalosWorkerList) DeepCopyObject

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

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

type TalosWorkerSpec

type TalosWorkerSpec struct {

	// version of Talos to use for the worker nodes -- e.g "v1.12.1"
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^v\d+\.\d+\.\d+(-\w+)?$`
	// +kubebuilder:default="v1.12.1"
	Version string `json:"version"`

	// mode specifies the deployment mode for the worker nodes (container, metal, or cloud).
	// TODO: Add support for cloud mode
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=container;metal;cloud
	Mode string `json:"mode"`

	// replicas is the number of worker machines to maintain. Only applies when mode is 'container'.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	Replicas int32 `json:"replicas,omitempty"`

	// metalSpec is required when mode is 'metal'.
	MetalSpec MetalSpec `json:"metalSpec,omitempty"`

	// kubeVersion is the version of Kubernetes to use for the worker nodes.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^v\d+\.\d+\.\d+(-\w+)?$`
	// +kubebuilder:default="v1.35.0"
	KubeVersion string `json:"kubeVersion"`

	// storageClassName is the name of the storage class to use for persistent volumes.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^[a-zA-Z0-9][-a-zA-Z0-9_.]*[a-zA-Z0-9]$`
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="StorageClassName is immutable, you cannot change it after creation"
	StorageClassName *string `json:"storageClassName,omitempty"`

	// controlPlaneRef is a reference to the TalosControlPlane that this worker belongs to.
	// +kubebuilder:validation:Optional
	ControlPlaneRef corev1.LocalObjectReference `json:"controlPlaneRef"`

	// configRef is a reference to a ConfigMap containing the Talos cluster configuration.
	// +kubebuilder:validation:Optional
	ConfigRef *corev1.ConfigMapKeySelector `json:"configRef,omitempty"`

	// deletionPolicy specifies the deletion policy for worker machines when deleting this Kubernetes resource (reset or preserve).
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=reset;preserve
	// +kubebuilder:default=reset
	DeletionPolicy string `json:"deletionPolicy"`
}

TalosWorkerSpec defines the desired state of TalosWorker.

func (*TalosWorkerSpec) DeepCopy

func (in *TalosWorkerSpec) DeepCopy() *TalosWorkerSpec

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

func (*TalosWorkerSpec) DeepCopyInto

func (in *TalosWorkerSpec) DeepCopyInto(out *TalosWorkerSpec)

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

type TalosWorkerStatus

type TalosWorkerStatus struct {
	// conditions represent the current state of the TalosWorker resource.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// config is the serialized Talos configuration for the worker.
	Config string `json:"config,omitempty"`
	// imported is only valid when ReconcileMode is 'import' and indicates whether the Talos worker has been imported.
	Imported *bool `json:"imported,omitempty"`
	// state represents the current state of the Talos worker (e.g., "Ready", "Provisioning", "Failed").
	State string `json:"state,omitempty"`
}

TalosWorkerStatus defines the observed state of TalosWorker.

func (*TalosWorkerStatus) DeepCopy

func (in *TalosWorkerStatus) DeepCopy() *TalosWorkerStatus

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

func (*TalosWorkerStatus) DeepCopyInto

func (in *TalosWorkerStatus) DeepCopyInto(out *TalosWorkerStatus)

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

Jump to

Keyboard shortcuts

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