Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the talos v1alpha1 API group. +kubebuilder:object:generate=true +groupName=talos.alperen.cloud
Index ¶
- Constants
- Variables
- type BackupStorage
- type CNIConfig
- type FlannelCNIConfig
- type HelmSpec
- type META
- type Machine
- type MachineSpec
- type MetalSpec
- type PxeClientSpec
- type PxeServerSpec
- type S3Storage
- type TalosCluster
- type TalosClusterAddon
- type TalosClusterAddonList
- type TalosClusterAddonRelease
- type TalosClusterAddonReleaseList
- type TalosClusterAddonReleaseSpec
- type TalosClusterAddonReleaseStatus
- type TalosClusterAddonSpec
- type TalosClusterAddonStatus
- type TalosClusterList
- type TalosClusterSpec
- type TalosClusterStatus
- type TalosControlPlane
- type TalosControlPlaneList
- type TalosControlPlaneSpec
- type TalosControlPlaneStatus
- type TalosEtcdBackup
- type TalosEtcdBackupList
- type TalosEtcdBackupSchedule
- type TalosEtcdBackupScheduleList
- type TalosEtcdBackupScheduleSpec
- type TalosEtcdBackupScheduleStatus
- type TalosEtcdBackupSpec
- type TalosEtcdBackupStatus
- type TalosEtcdBackupTemplateSpec
- type TalosMachine
- type TalosMachineList
- type TalosMachineSpec
- type TalosMachineStatus
- type TalosWorker
- type TalosWorkerList
- type TalosWorkerSpec
- type TalosWorkerStatus
Constants ¶
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 ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNIConfig.
func (*CNIConfig) DeepCopyInto ¶ added in v0.3.5
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmSpec.
func (*HelmSpec) DeepCopyInto ¶ added in v0.3.6
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new META.
func (*META) DeepCopyInto ¶ added in v0.2.5
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Machine.
func (*Machine) DeepCopyInto ¶ added in v0.3.4
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetalSpec.
func (*MetalSpec) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Storage.
func (*S3Storage) DeepCopyInto ¶ added in v0.3.0
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
func (in *TalosClusterAddonList) DeepCopy() *TalosClusterAddonList
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
func (in *TalosClusterAddonRelease) DeepCopy() *TalosClusterAddonRelease
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
func (in *TalosClusterAddonReleaseList) DeepCopy() *TalosClusterAddonReleaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TalosClusterAddonReleaseList.
func (*TalosClusterAddonReleaseList) DeepCopyInto ¶ added in v0.3.6
func (in *TalosClusterAddonReleaseList) DeepCopyInto(out *TalosClusterAddonReleaseList)
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
func (in *TalosClusterAddonReleaseSpec) DeepCopy() *TalosClusterAddonReleaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TalosClusterAddonReleaseSpec.
func (*TalosClusterAddonReleaseSpec) DeepCopyInto ¶ added in v0.3.6
func (in *TalosClusterAddonReleaseSpec) DeepCopyInto(out *TalosClusterAddonReleaseSpec)
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
func (in *TalosClusterAddonReleaseStatus) DeepCopy() *TalosClusterAddonReleaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TalosClusterAddonReleaseStatus.
func (*TalosClusterAddonReleaseStatus) DeepCopyInto ¶ added in v0.3.6
func (in *TalosClusterAddonReleaseStatus) DeepCopyInto(out *TalosClusterAddonReleaseStatus)
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
func (in *TalosClusterAddonSpec) DeepCopy() *TalosClusterAddonSpec
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
func (in *TalosClusterAddonStatus) DeepCopy() *TalosClusterAddonStatus
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 ¶
func (in *TalosControlPlaneList) DeepCopy() *TalosControlPlaneList
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 ¶
func (in *TalosControlPlaneSpec) DeepCopy() *TalosControlPlaneSpec
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 ¶
func (in *TalosControlPlaneStatus) DeepCopy() *TalosControlPlaneStatus
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
func (in *TalosEtcdBackupSchedule) DeepCopy() *TalosEtcdBackupSchedule
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
func (in *TalosEtcdBackupScheduleList) DeepCopy() *TalosEtcdBackupScheduleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TalosEtcdBackupScheduleList.
func (*TalosEtcdBackupScheduleList) DeepCopyInto ¶ added in v0.3.1
func (in *TalosEtcdBackupScheduleList) DeepCopyInto(out *TalosEtcdBackupScheduleList)
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
func (in *TalosEtcdBackupScheduleSpec) DeepCopy() *TalosEtcdBackupScheduleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TalosEtcdBackupScheduleSpec.
func (*TalosEtcdBackupScheduleSpec) DeepCopyInto ¶ added in v0.3.1
func (in *TalosEtcdBackupScheduleSpec) DeepCopyInto(out *TalosEtcdBackupScheduleSpec)
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
func (in *TalosEtcdBackupScheduleStatus) DeepCopy() *TalosEtcdBackupScheduleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TalosEtcdBackupScheduleStatus.
func (*TalosEtcdBackupScheduleStatus) DeepCopyInto ¶ added in v0.3.1
func (in *TalosEtcdBackupScheduleStatus) DeepCopyInto(out *TalosEtcdBackupScheduleStatus)
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
func (in *TalosEtcdBackupStatus) DeepCopy() *TalosEtcdBackupStatus
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
func (in *TalosEtcdBackupTemplateSpec) DeepCopy() *TalosEtcdBackupTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TalosEtcdBackupTemplateSpec.
func (*TalosEtcdBackupTemplateSpec) DeepCopyInto ¶ added in v0.3.1
func (in *TalosEtcdBackupTemplateSpec) DeepCopyInto(out *TalosEtcdBackupTemplateSpec)
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.