Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type Arch
- type BIOS
- type CACert
- type ChPasswd
- type CloudInit
- type Hardware
- type HugePages
- type IPConfig
- type Image
- type InstanceStatus
- type Lock
- type Network
- type NetworkDevice
- type NetworkDeviceBridge
- type NetworkDeviceModel
- type OSType
- type ObjectReference
- type Options
- type ProxmoxCluster
- type ProxmoxClusterList
- type ProxmoxClusterSpec
- type ProxmoxClusterStatus
- type ProxmoxMachine
- type ProxmoxMachineList
- type ProxmoxMachineSpec
- type ProxmoxMachineStatus
- type ProxmoxMachineTemplate
- type ProxmoxMachineTemplateList
- type ProxmoxMachineTemplateResource
- type ProxmoxMachineTemplateSpec
- type ProxmoxMachineTemplateStatus
- type SSH
- type SSHKeys
- type ServerRef
- type Storage
- type Tag
- type Tags
- type User
- type UserData
- type WriteFiles
Constants ¶
const (
// ClusterFinalizer
ClusterFinalizer = "proxmoxcluster.infrastructure.cluster.x-k8s.io"
)
const (
// MachineFinalizer
MachineFinalizer = "proxmoxmachine.infrastructure.cluster.x-k8s.io"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"} // 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 )
var ( InstanceStatusPaused = InstanceStatus(api.ProcessStatusPaused) InstanceStatusRunning = InstanceStatus(api.ProcessStatusRunning) InstanceStatusStopped = InstanceStatus(api.ProcessStatusStopped) )
Functions ¶
This section is empty.
Types ¶
type CACert ¶
type CACert struct {
RemoveDefaults bool `yaml:"remove_defaults,omitempty" json:"remove_defaults,omitempty"`
Trusted []string `yaml:"trusted,omitempty" json:"trusted,omitempty"`
}
func (*CACert) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CACert.
func (*CACert) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChPasswd ¶
type ChPasswd struct {
Expire string `yaml:"expire,omitempty" json:"expire,omitempty"`
}
func (*ChPasswd) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChPasswd.
func (*ChPasswd) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudInit ¶
type CloudInit struct {
UserData *UserData `json:"user,omitempty"`
}
CloudInit is passed to disk directly as raw yaml file not via Proxmox API so you can configure more detailed configs
func (*CloudInit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudInit.
func (*CloudInit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Hardware ¶
type Hardware struct {
// amount of RAM for the VM in MiB : 16 ~
// +kubebuilder:validation:Minimum:=16
// +kubebuilder:default:=4096
Memory int `json:"memory,omitempty"`
// number of CPU cores : 1 ~
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:default:=2
CPU int `json:"cpu,omitempty"`
// Emulated CPU Type. Defaults to kvm64
CPUType string `json:"cpuType,omitempty"`
// +kubebuilder:validation:Minimum:=1
// The number of CPU sockets. Defaults to 1.
Sockets int `json:"sockets,omitempty"`
// +kubebuilder:validation:Minimum:=0
// Limit of CPU usage. If the computer has 2 CPUs, it has total of '2' CPU time.
// Value '0' indicates no CPU limit. Defaults to 0.
CPULimit int `json:"cpuLimit,omitempty"`
// Select BIOS implementation. Defaults to seabios. seabios or ovmf.
// Defaults to seabios.
BIOS BIOS `json:"bios,omitempty"`
// hard disk size
// +kubebuilder:validation:Pattern:=\+?\d+(\.\d+)?[KMGT]?
// +kubebuilder:default:="50G"
Disk string `json:"disk,omitempty"`
// network devices
// to do: multiple devices
// +kubebuilder:default:={model:virtio,bridge:vmbr0,firewall:true}
NetworkDevice NetworkDevice `json:"networkDevice,omitempty"`
}
Hardware
func (*Hardware) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hardware.
func (*Hardware) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPConfig ¶
type IPConfig struct {
// IPv4 with CIDR
IP string `json:"ip,omitempty"`
// gateway IPv4
Gateway string `json:"gateway,omitempty"`
// IPv6 with CIDR
IP6 string `json:"ip6,omitempty"`
// gateway IPv6
Gateway6 string `json:"gateway6,omitempty"`
}
IPConfig defines IP addresses and gateways for corresponding interface. it defaults to using dhcp on IPv4 if neither IP nor IP6 is specified.
func (*IPConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfig.
func (*IPConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Image ¶
type Image struct {
// +kubebuilder:validation:Pattern:=.*\.(iso|img|qcow2|qed|raw|vdi|vpc|vmdk)$
// URL is a location of an image to deploy.
// supported formats are iso/qcow2/qed/raw/vdi/vpc/vmdk.
URL string `json:"url"`
// Checksum
// Always better to specify checksum otherwise cappx will download
// same image for every time. If checksum is specified, cappx will try
// to avoid downloading existing image.
Checksum string `json:"checksum,omitempty"`
// +kubebuilder:validation:Enum:=sha256;sha256sum;md5;md5sum
// ChecksumType
ChecksumType *string `json:"checksumType,omitempty"`
}
Image is the image to be provisioned
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceStatus ¶
type InstanceStatus string
type Lock ¶
type Lock string
+kubebuilder:validation:Enum:=backup;clone;create;migrate;rollback;snapshot;snapshot-delete;suspending;suspended
type Network ¶
type Network struct {
// to do : should accept multiple IPConfig
IPConfig IPConfig `json:"ipConfig,omitempty"`
// DNS server
NameServer string `json:"nameServer,omitempty"`
// search domain
SearchDomain string `json:"searchDomain,omitempty"`
}
Network cloud-init network configuration is configured through Proxmox API it may be migrated to raw yaml way from Proxmox API way in the future
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkDevice ¶
type NetworkDevice struct {
// +kubebuilder:default:="virtio"
Model NetworkDeviceModel `json:"model,omitempty"`
// +kubebuilder:default:="vmbr0"
Bridge NetworkDeviceBridge `json:"bridge,omitempty"`
// +kubebuilder:default:=true
Firewall bool `json:"firewall,omitempty"`
LinkDown bool `json:"linkDown,omitempty"`
MacAddr string `json:"macAddr,omitempty"`
MTU int `json:"mtu,omitempty"`
Queues int `json:"queues,omitempty"`
// since float is highly discouraged, use string instead
// +kubebuilder:validation:Pattern:=[0-9]+(\.|)[0-9]*
Rate string `json:"rate,omitempty"`
Tag int `json:"tag,omitempty"`
// trunks: array of vlanid
Trunks []int `json:"trunks,omitempty"`
}
Network Device
func (*NetworkDevice) DeepCopy ¶
func (in *NetworkDevice) DeepCopy() *NetworkDevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDevice.
func (*NetworkDevice) DeepCopyInto ¶
func (in *NetworkDevice) DeepCopyInto(out *NetworkDevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkDevice) String ¶
func (n *NetworkDevice) String() string
type NetworkDeviceBridge ¶
type NetworkDeviceBridge string
+kubebuilder:validation:Pattern:="vmbr[0-9]{1,4}"
type NetworkDeviceModel ¶
type NetworkDeviceModel string
+kubebuilder:validation:Enum:=e1000;virtio;rtl8139;vmxnet3
type OSType ¶
type OSType string
+kubebuilder:validation:Enum:=other;wxp;w2k;w2k3;w2k8;wvista;win7;win8;win10;win11;l24;l26;solaris
type ObjectReference ¶
type ObjectReference struct {
// Namespace of the referent.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
Namespace string `json:"namespace,omitempty"`
// Name of the referent.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
// +kubebuilder:validation:Required
Name string `json:"name"`
}
ObjectReference is a reference to another Kubernetes object instance.
func (*ObjectReference) DeepCopy ¶
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Options ¶
type Options struct {
// Enable/Disable ACPI. Defaults to true.
ACPI bool `json:"acpi,omitempty"`
// Virtual processor architecture. Defaults to the host. x86_64 or aarch64.
Arch Arch `json:"arch,omitempty"`
// +kubebuilder:validation:Minimum:=0
// Amount of target RAM for the VM in MiB. Using zero disables the ballon driver.
Balloon int `json:"balloon,omitempty"`
// Description for the VM. Shown in the web-interface VM's summary.
// This is saved as comment inside the configuration file.
Description string `json:"description,omitempty"`
// enable/disable hugepages memory. 0 or 2 or 1024. 0 indicated 'any'
HugePages *HugePages `json:"hugePages,omitempty"`
// Use together with hugepages. If enabled, hugepages will not not be deleted
// after VM shutdown and can be used for subsequent starts. Defaults to false.
KeepHugePages bool `json:"keepHugePages,omitempty"`
// Enable/disable KVM hardware virtualization. Defaults to true.
KVM bool `json:"kvm,omitempty"`
// Set the real time clock (RTC) to local time.
// This is enabled by default if the `ostype` indicates a Microsoft Windows OS.
LocalTime bool `json:"localTime,omitempty"`
// Lock/unlock the VM.
Lock Lock `json:"lock,omitempty"`
// Enable/disable NUMA.
NUMA bool `json:"numa,omitempty"`
// Specifies whether a VM will be started during system bootup.
OnBoot bool `json:"onBoot,omitempty"`
// Specify guest operating system. This is used to enable special
// optimization/features for specific operating systems.
OSType OSType `json:"osType,omitempty"`
// Sets the protection flag of the VM.
// This will disable the remove VM and remove disk operations.
// Defaults to false.
Protection bool `json:"protection,omitempty"`
// Allow reboot. If set to 'false' the VM exit on reboot.
// Defaults to true.
Reboot bool `json:"reboot,omitempty"`
// +kubebuilder:validation:Maximum:=5000
// Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets.
// Number is relative to weights of all other running VMs. Using zero disables auto-ballooning.
// Auto-ballooning is done by pvestatd. 0 ~ 5000. Defaults to 1000.
Shares int `json:"shares,omitempty"`
// Enable/disable the USB tablet device. This device is usually needed to allow
// absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients.
// If you're running lots of console-only guests on one host,
// you may consider disabling this to save some context switches.
// This is turned off by default if you use spice (`qm set <vmid> --vga qxl`).
// Defaults to true.
Tablet bool `json:"tablet,omitempty"`
// Tags of the VM. This is only meta information.
Tags Tags `json:"tags,omitempty"`
// Enable/disable time drift fix. Defaults to false.
TimeDriftFix bool `json:"timeDriftFix,omitempty"`
// Enable/disable Template. Defaults to false.
Template bool `json:"template,omitempty"`
// +kubebuilder:validation:Minimum:=0
// Number of hotplugged vcpus. Defaults to 0.
VCPUs int `json:"vcpus,omitempty"`
// +kubebuilder:validation:Pattern:="(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])"
// The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS.
// This allows to notify the guest operating system when the virtual machine is executed with a different configuration
// (e.g. snapshot execution or creation from a template).
// The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty,
// re-initializing its random number generator, etc.
// Note that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file.
// regex: (?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01]). Defaults to 1 (autogenerated)
VMGenerationID string `json:"vmGenerationID,omitempty"`
}
Options
func (*Options) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Options.
func (*Options) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxCluster ¶
type ProxmoxCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ProxmoxClusterSpec `json:"spec,omitempty"`
Status ProxmoxClusterStatus `json:"status,omitempty"`
}
ProxmoxCluster is the Schema for the proxmoxclusters API
func (*ProxmoxCluster) DeepCopy ¶
func (in *ProxmoxCluster) DeepCopy() *ProxmoxCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxCluster.
func (*ProxmoxCluster) DeepCopyInto ¶
func (in *ProxmoxCluster) DeepCopyInto(out *ProxmoxCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxCluster) DeepCopyObject ¶
func (in *ProxmoxCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxClusterList ¶
type ProxmoxClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ProxmoxCluster `json:"items"`
}
ProxmoxClusterList contains a list of ProxmoxCluster
func (*ProxmoxClusterList) DeepCopy ¶
func (in *ProxmoxClusterList) DeepCopy() *ProxmoxClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxClusterList.
func (*ProxmoxClusterList) DeepCopyInto ¶
func (in *ProxmoxClusterList) DeepCopyInto(out *ProxmoxClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxClusterList) DeepCopyObject ¶
func (in *ProxmoxClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxClusterSpec ¶
type ProxmoxClusterSpec struct {
// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
// +optional
ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
// ServerRef is used for configuring Proxmox client
ServerRef ServerRef `json:"serverRef"`
// storage is used for storing cloud init snippet
Storage Storage `json:"storage,omitempty"`
}
ProxmoxClusterSpec defines the desired state of ProxmoxCluster
func (*ProxmoxClusterSpec) DeepCopy ¶
func (in *ProxmoxClusterSpec) DeepCopy() *ProxmoxClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxClusterSpec.
func (*ProxmoxClusterSpec) DeepCopyInto ¶
func (in *ProxmoxClusterSpec) DeepCopyInto(out *ProxmoxClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxClusterStatus ¶
type ProxmoxClusterStatus struct {
// Ready
Ready bool `json:"ready"`
// FailureDomains
FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`
// Conditions
Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}
ProxmoxClusterStatus defines the observed state of ProxmoxCluster
func (*ProxmoxClusterStatus) DeepCopy ¶
func (in *ProxmoxClusterStatus) DeepCopy() *ProxmoxClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxClusterStatus.
func (*ProxmoxClusterStatus) DeepCopyInto ¶
func (in *ProxmoxClusterStatus) DeepCopyInto(out *ProxmoxClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachine ¶
type ProxmoxMachine struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ProxmoxMachineSpec `json:"spec,omitempty"`
Status ProxmoxMachineStatus `json:"status,omitempty"`
}
ProxmoxMachine is the Schema for the proxmoxmachines API
func (*ProxmoxMachine) DeepCopy ¶
func (in *ProxmoxMachine) DeepCopy() *ProxmoxMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachine.
func (*ProxmoxMachine) DeepCopyInto ¶
func (in *ProxmoxMachine) DeepCopyInto(out *ProxmoxMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxMachine) DeepCopyObject ¶
func (in *ProxmoxMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxMachineList ¶
type ProxmoxMachineList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ProxmoxMachine `json:"items"`
}
ProxmoxMachineList contains a list of ProxmoxMachine
func (*ProxmoxMachineList) DeepCopy ¶
func (in *ProxmoxMachineList) DeepCopy() *ProxmoxMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineList.
func (*ProxmoxMachineList) DeepCopyInto ¶
func (in *ProxmoxMachineList) DeepCopyInto(out *ProxmoxMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxMachineList) DeepCopyObject ¶
func (in *ProxmoxMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxMachineSpec ¶
type ProxmoxMachineSpec struct {
// ProviderID
ProviderID *string `json:"providerID,omitempty"`
// Node is proxmox node hosting vm instance which used for ProxmoxMachine
Node string `json:"node,omitempty"`
// Storage is name of proxmox storage used by this node.
// The storage must support "images(VM Disks)" type of content.
// cappx will use random storage if empty
Storage string `json:"storage,omitempty"`
// +kubebuilder:validation:Minimum:=0
// VMID is proxmox qemu's id
VMID *int `json:"vmID,omitempty"`
// Image is the image to be provisioned
Image Image `json:"image"`
// CloudInit defines options related to the bootstrapping systems where
// CloudInit is used.
CloudInit CloudInit `json:"cloudInit,omitempty"`
// Hardware
// +kubebuilder:default:={cpu:2,disk:"50G",memory:4096,networkDevice:{model:virtio,bridge:vmbr0,firewall:true}}
Hardware Hardware `json:"hardware,omitempty"`
// Network
Network Network `json:"network,omitempty"`
// Options for QEMU instance
Options Options `json:"options,omitempty"`
// FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API.
FailureDomain *string `json:"failureDomain,omitempty"`
}
ProxmoxMachineSpec defines the desired state of ProxmoxMachine
func (*ProxmoxMachineSpec) DeepCopy ¶
func (in *ProxmoxMachineSpec) DeepCopy() *ProxmoxMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineSpec.
func (*ProxmoxMachineSpec) DeepCopyInto ¶
func (in *ProxmoxMachineSpec) DeepCopyInto(out *ProxmoxMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachineStatus ¶
type ProxmoxMachineStatus struct {
// Ready is true when the provider resource is ready.
// +optional
Ready bool `json:"ready"`
// FailureReason
FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`
// FailureMessage
FailureMessage *string `json:"failureMessage,omitempty"`
// Addresses
Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"`
// Conditions
Conditions clusterv1.Conditions `json:"conditions,omitempty"`
// Configuration
Config api.VirtualMachineConfig `json:"config,omitempty"`
// InstanceStatus is the status of the proxmox instance for this machine.
// +optional
InstanceStatus *InstanceStatus `json:"instanceStatus,omitempty"` // InstanceStatus
}
ProxmoxMachineStatus defines the observed state of ProxmoxMachine
func (*ProxmoxMachineStatus) DeepCopy ¶
func (in *ProxmoxMachineStatus) DeepCopy() *ProxmoxMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineStatus.
func (*ProxmoxMachineStatus) DeepCopyInto ¶
func (in *ProxmoxMachineStatus) DeepCopyInto(out *ProxmoxMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachineTemplate ¶
type ProxmoxMachineTemplate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ProxmoxMachineTemplateSpec `json:"spec,omitempty"`
Status ProxmoxMachineTemplateStatus `json:"status,omitempty"`
}
ProxmoxMachineTemplate is the Schema for the proxmoxmachinetemplates API
func (*ProxmoxMachineTemplate) DeepCopy ¶
func (in *ProxmoxMachineTemplate) DeepCopy() *ProxmoxMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplate.
func (*ProxmoxMachineTemplate) DeepCopyInto ¶
func (in *ProxmoxMachineTemplate) DeepCopyInto(out *ProxmoxMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxMachineTemplate) DeepCopyObject ¶
func (in *ProxmoxMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxMachineTemplateList ¶
type ProxmoxMachineTemplateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ProxmoxMachineTemplate `json:"items"`
}
ProxmoxMachineTemplateList contains a list of ProxmoxMachineTemplate
func (*ProxmoxMachineTemplateList) DeepCopy ¶
func (in *ProxmoxMachineTemplateList) DeepCopy() *ProxmoxMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplateList.
func (*ProxmoxMachineTemplateList) DeepCopyInto ¶
func (in *ProxmoxMachineTemplateList) DeepCopyInto(out *ProxmoxMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxMachineTemplateList) DeepCopyObject ¶
func (in *ProxmoxMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxMachineTemplateResource ¶
type ProxmoxMachineTemplateResource struct {
// +optional
ObjectMeta clusterv1.ObjectMeta `json:"metadata.omitempty"`
Spec ProxmoxMachineSpec `json:"spec"`
}
func (*ProxmoxMachineTemplateResource) DeepCopy ¶
func (in *ProxmoxMachineTemplateResource) DeepCopy() *ProxmoxMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplateResource.
func (*ProxmoxMachineTemplateResource) DeepCopyInto ¶
func (in *ProxmoxMachineTemplateResource) DeepCopyInto(out *ProxmoxMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachineTemplateSpec ¶
type ProxmoxMachineTemplateSpec struct {
Template ProxmoxMachineTemplateResource `json:"template"`
}
ProxmoxMachineTemplateSpec defines the desired state of ProxmoxMachineTemplate
func (*ProxmoxMachineTemplateSpec) DeepCopy ¶
func (in *ProxmoxMachineTemplateSpec) DeepCopy() *ProxmoxMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplateSpec.
func (*ProxmoxMachineTemplateSpec) DeepCopyInto ¶
func (in *ProxmoxMachineTemplateSpec) DeepCopyInto(out *ProxmoxMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachineTemplateStatus ¶
type ProxmoxMachineTemplateStatus struct {
}
ProxmoxMachineTemplateStatus defines the observed state of ProxmoxMachineTemplate
func (*ProxmoxMachineTemplateStatus) DeepCopy ¶
func (in *ProxmoxMachineTemplateStatus) DeepCopy() *ProxmoxMachineTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplateStatus.
func (*ProxmoxMachineTemplateStatus) DeepCopyInto ¶
func (in *ProxmoxMachineTemplateStatus) DeepCopyInto(out *ProxmoxMachineTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSH ¶
type SSH struct {
EmitKeysToConsole bool `yaml:"emit_keys_to_console,omitempty" json:"emit_keys_to_console,omitempty"`
}
func (*SSH) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSH.
func (*SSH) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHKeys ¶
type SSHKeys struct {
RSAPrivate string `yaml:"rsa_private,omitempty" json:"rsa_private,omitempty"`
RSAPublic string `yaml:"rsa_public,omitempty" json:"rsa_public,omitempty"`
DSAPrivate string `yaml:"dsa_private,omitempty" json:"dsa_private,omitempty"`
DSAPublic string `yaml:"dsa_public,omitempty" json:"dsa_public,omitempty"`
ECDSAPrivate string `yaml:"ecdsa_private,omitempty" json:"ecdsa_private,omitempty"`
EDSCAPublic string `yaml:"ecdsa_public,omitempty" json:"ecdsa_public,omitempty"`
}
func (*SSHKeys) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeys.
func (*SSHKeys) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerRef ¶
type ServerRef struct {
// endpoint is the address of the Proxmox-VE REST API endpoint.
Endpoint string `json:"endpoint"`
// SecretRef is a reference for secret which contains proxmox login secrets
SecretRef *ObjectReference `json:"secretRef"`
}
ServerRef is used for configuring Proxmox client
func (*ServerRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerRef.
func (*ServerRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Storage ¶
Storage for image and snippets
func (*Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tags ¶
type Tags []Tag
func (Tags) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tags.
func (Tags) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type User ¶
type User struct {
Name string `yaml:"name" json:"name"`
// +kubebuilder:validation:Pattern:="^/d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"
ExpireDate string `yaml:"expiredate,omitempty" json:"expiredate,omitempty"`
GECOS string `yaml:"gecos,omitempty" json:"gecos,omitempty"`
// +kubebuilder:validation:Pattern:=^/.+
HomeDir string `yaml:"homedir,omitempty" json:"homedir,omitempty"`
PrimaryGroup string `yaml:"primary_group,omitempty" json:"primary_group,omitempty"`
Groups []string `yaml:"groups,omitempty" json:"groups,omitempty"`
SELinuxUser string `yaml:"selinux_user,omitempty" json:"selinux_user,omitempty"`
LockPasswd *bool `yaml:"lock_passwd,omitempty" json:"lock_passwd,omitempty"`
// +kubebuilder:validation:Minimum:=0
Inactive int `yaml:"inactive,omitempty" json:"inactive,omitempty"`
Passwd string `yaml:"passwd,omitempty" json:"passwd,omitempty"`
NoCreateHome bool `yaml:"no_create_home,omitempty" json:"no_create_home,omitempty"`
NoUserGroup bool `yaml:"no_user_group,omitempty" json:"no_user_group,omitempty"`
NoLogInit bool `yaml:"no_log_init,omitempty" json:"no_log_init,omitempty"`
SSHImportID []string `yaml:"ssh_import_id,omitempty" json:"ssh_import_id,omitempty"`
SSHAuthorizedKeys []string `yaml:"ssh_authorized_keys,omitempty" json:"ssh_authorized_keys,omitempty"`
SSHRedirectUser bool `yaml:"ssh_redirect_user,omitempty" json:"ssh_redirect_user,omitempty"`
Sudo []string `yaml:"sudo,omitempty" json:"sudo,omitempty"`
System bool `yaml:"system,omitempty" json:"system,omitempty"`
SnapUser string `yaml:"snapuser,omitempty" json:"snapuser,omitempty"`
Shell string `yaml:"shell,omitempty" json:"shell,omitempty"`
}
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserData ¶
type UserData struct {
BootCmd []string `yaml:"bootcmd,omitempty" json:"bootcmd,omitempty"`
CACerts CACert `yaml:"ca_certs,omitempty" json:"ca_certs,omitempty"`
ChPasswd ChPasswd `yaml:"chpasswd,omitempty" json:"chpasswd,omitempty"`
HostName string `yaml:"hostname,omitempty" json:"-"`
ManageEtcHosts bool `yaml:"manage_etc_hosts,omitempty" json:"manage_etc_hosts,omitempty"`
NoSSHFingerprints bool `yaml:"no_ssh_fingerprints,omitempty" json:"no_ssh_fingerprints,omitempty"`
Packages []string `yaml:"packages,omitempty" json:"packages,omitempty"`
PackageUpdate bool `yaml:"package_update,omitempty" json:"package_update,omitempty"`
PackageUpgrade bool `yaml:"package_upgrade,omitempty" json:"package_upgrade,omitempty"`
Password string `yaml:"password,omitempty" json:"password,omitempty"`
RunCmd []string `yaml:"runcmd,omitempty" json:"runCmd,omitempty"`
SSH SSH `yaml:"ssh,omitempty" json:"ssh,omitempty"`
SSHAuthorizedKeys []string `yaml:"ssh_authorized_keys,omitempty" json:"ssh_authorized_keys,omitempty"`
SSHKeys SSHKeys `yaml:"ssh_keys,omitempty" json:"ssh_keys,omitempty"`
SSHPWAuth bool `yaml:"ssh_pwauth,omitempty" json:"ssh_pwauth,omitempty"`
User string `yaml:"user,omitempty" json:"user,omitempty"`
Users []User `yaml:"users,omitempty" json:"users,omitempty"`
WriteFiles []WriteFiles `yaml:"write_files,omitempty" json:"writeFiles,omitempty"`
}
func (*UserData) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserData.
func (*UserData) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WriteFiles ¶
type WriteFiles struct {
Encoding string `yaml:"encoding,omitempty" json:"encoding,omitempty"`
Path string `yaml:"path,omitempty" json:"path,omitempty"`
Owner string `yaml:"owner,omitempty" json:"owner,omitempty"`
Permissions string `yaml:"permissions,omitempty" json:"permissions,omitempty"`
Defer bool `yaml:"defer,omitempty" json:"defer,omitempty"`
Content string `yaml:"content,omitempty" json:"content,omitempty"`
}
func (*WriteFiles) DeepCopy ¶
func (in *WriteFiles) DeepCopy() *WriteFiles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WriteFiles.
func (*WriteFiles) DeepCopyInto ¶
func (in *WriteFiles) DeepCopyInto(out *WriteFiles)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.