Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=unbounded-cloud.io
Index ¶
- Constants
- Variables
- type AgentDownloadsSpec
- type AgentSpec
- type AgentStatus
- type BastionSSHSpec
- type CloudInitSpec
- type ConfigMapKeySelector
- type DHCPLease
- type DownloadSource
- type KubernetesSpec
- type LocalObjectReference
- type Machine
- type MachineList
- type MachinePhase
- type MachineSpec
- type MachineStatus
- type OperationsSpec
- type OperationsStatus
- type PXESpec
- type RedfishSpec
- type RedfishStatus
- type SSHSpec
- type SSHStatus
- type SecretKeySelector
- type TPMStatus
Constants ¶
const ( // MachineConditionProvisioned indicates that the machine has been // successfully provisioned. The observedGeneration field on the // condition tracks which generation of the Machine spec was // provisioned. MachineConditionProvisioned = "Provisioned" // MachineConditionSSHReachable indicates whether the machine is // reachable via SSH. The lastTransitionTime and message fields are // updated on probe results. MachineConditionSSHReachable = "SSHReachable" // MachineConditionProvisioning indicates that the machine is // currently being provisioned. The lastTransitionTime records when // provisioning started, which is used to detect stale provisioning // attempts (e.g. after a controller restart). MachineConditionProvisioning = "Provisioning" // MachineConditionRepaved indicates the state of a repave operation. // Status is set to False (with Reason "Pending") when a repave begins, // and True (with Reason "Succeeded") when the repave completes. // The lastTransitionTime records when the repave started, which is // used to detect stale repave attempts. MachineConditionRepaved = "Repaved" // MachineConditionCloudInitDone indicates whether cloud-init has // finished on the machine. Status is True with Reason "Succeeded" // when cloud-init completes without errors, False with Reason // "Running" while cloud-init stages are still executing, and // False with Reason "Failed" when a cloud-init stage reports a // failure. On failure the message includes the stage name and the // error result so that operators can diagnose the problem without // logging into the machine. MachineConditionCloudInitDone = "CloudInitDone" )
Condition types for Machine.
const ( // AnnotationProvider associates a Machine with a provider's // controller for reboot/repave operations. AnnotationProvider = "unbounded-cloud.io/provider" )
Annotation keys.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "unbounded-cloud.io", Version: "v1alpha3"} // 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 AgentDownloadsSpec ¶ added in v0.1.3
type AgentDownloadsSpec struct {
// Kubernetes overrides the download source for kubelet/kubectl/kube-proxy
// (upstream default: https://dl.k8s.io).
// +optional
Kubernetes *DownloadSource `json:"kubernetes,omitempty"`
// Containerd overrides the download source for containerd
// (upstream default: https://github.com/containerd/containerd).
// +optional
Containerd *DownloadSource `json:"containerd,omitempty"`
// Runc overrides the download source for runc
// (upstream default: https://github.com/opencontainers/runc).
// +optional
Runc *DownloadSource `json:"runc,omitempty"`
// CNI overrides the download source for CNI plugins
// (upstream default: https://github.com/containernetworking/plugins).
// +optional
CNI *DownloadSource `json:"cni,omitempty"`
// Crictl overrides the download source for crictl
// (upstream default: https://github.com/kubernetes-sigs/cri-tools).
// +optional
Crictl *DownloadSource `json:"crictl,omitempty"`
}
AgentDownloadsSpec overrides the download sources for the artifacts the agent installs into the nspawn rootfs. Each entry is optional; unset entries fall back to the upstream defaults.
func (*AgentDownloadsSpec) DeepCopy ¶ added in v0.1.3
func (in *AgentDownloadsSpec) DeepCopy() *AgentDownloadsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentDownloadsSpec.
func (*AgentDownloadsSpec) DeepCopyInto ¶ added in v0.1.3
func (in *AgentDownloadsSpec) DeepCopyInto(out *AgentDownloadsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentSpec ¶
type AgentSpec struct {
// Image is the OCI image reference used for provisioning the
// nspawn machine (e.g. "ghcr.io/org/repo:tag"). When empty the
// agent falls back to its built-in default image.
// +optional
Image string `json:"image,omitempty"`
// Version pins the unbounded-agent release tag that is downloaded
// onto the host (e.g. "v0.0.10"). When empty the install script
// tracks the latest published release.
// +optional
Version string `json:"version,omitempty"`
// BaseURL overrides the base URL used to construct the
// unbounded-agent download URL. Defaults to the upstream GitHub
// releases URL. The layout under BaseURL must match the GitHub
// releases layout (<base>/latest/download/<asset> and
// <base>/download/<tag>/<asset>).
// +optional
BaseURL string `json:"baseURL,omitempty"`
// URL is a fully qualified download URL for the unbounded-agent
// tarball. When set it overrides Version and BaseURL entirely.
// +optional
URL string `json:"url,omitempty"`
// Downloads overrides the download sources for the binaries the
// agent installs into the nspawn rootfs (kubelet, containerd, runc,
// CNI plugins, crictl). When unset the agent downloads each
// artifact from its upstream default host.
// +optional
Downloads *AgentDownloadsSpec `json:"downloads,omitempty"`
}
AgentSpec defines settings for the unbounded node agent.
func (*AgentSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec.
func (*AgentSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentStatus ¶
type AgentStatus struct {
// Image is the OCI image reference that was applied to the
// nspawn machine.
Image string `json:"image,omitempty"`
}
AgentStatus holds the applied agent settings for the machine.
func (*AgentStatus) DeepCopy ¶
func (in *AgentStatus) DeepCopy() *AgentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentStatus.
func (*AgentStatus) DeepCopyInto ¶
func (in *AgentStatus) DeepCopyInto(out *AgentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BastionSSHSpec ¶
type BastionSSHSpec struct {
// Host is the hostname or IP address of the bastion, optionally
// including the port (e.g. "1.2.3.4:2222"). When the port is
// omitted, 22 is assumed.
// +kubebuilder:validation:Required
Host string `json:"host"`
// Username is the SSH username for the bastion.
// +kubebuilder:default=azureuser
Username string `json:"username,omitempty"`
// PrivateKeyRef references a secret containing the SSH private key
// for the bastion. If not specified, uses the same key as the
// parent SSHSpec.
// +optional
PrivateKeyRef *SecretKeySelector `json:"privateKeyRef,omitempty"`
}
BastionSSHSpec defines SSH connection details for a bastion host. It mirrors SSHSpec but omits the recursive Bastion field.
func (*BastionSSHSpec) DeepCopy ¶
func (in *BastionSSHSpec) DeepCopy() *BastionSSHSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BastionSSHSpec.
func (*BastionSSHSpec) DeepCopyInto ¶
func (in *BastionSSHSpec) DeepCopyInto(out *BastionSSHSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudInitSpec ¶
type CloudInitSpec struct {
// UserDataConfigMapRef references a ConfigMap containing custom
// cloud-init user-data. The referenced key (default "user-data")
// must contain a valid cloud-init configuration (e.g. a
// #cloud-config YAML document).
// +optional
UserDataConfigMapRef *ConfigMapKeySelector `json:"userDataConfigMapRef,omitempty"`
}
CloudInitSpec defines cloud-init customization for PXE-booted machines. Cloud-init merges vendor-data (managed by unbounded-kube) with user-data (managed by the cluster operator). This spec controls the user-data portion, allowing operators to configure SSH keys, install packages, and perform other host-level customization.
func (*CloudInitSpec) DeepCopy ¶
func (in *CloudInitSpec) DeepCopy() *CloudInitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudInitSpec.
func (*CloudInitSpec) DeepCopyInto ¶
func (in *CloudInitSpec) DeepCopyInto(out *CloudInitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigMapKeySelector ¶
type ConfigMapKeySelector struct {
// Name of the ConfigMap.
Name string `json:"name"`
// Namespace of the ConfigMap.
Namespace string `json:"namespace"`
// Key within the ConfigMap.
// +kubebuilder:default=user-data
Key string `json:"key,omitempty"`
}
ConfigMapKeySelector selects a key from a ConfigMap.
func (*ConfigMapKeySelector) DeepCopy ¶
func (in *ConfigMapKeySelector) DeepCopy() *ConfigMapKeySelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapKeySelector.
func (*ConfigMapKeySelector) DeepCopyInto ¶
func (in *ConfigMapKeySelector) DeepCopyInto(out *ConfigMapKeySelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DHCPLease ¶
type DHCPLease struct {
// IPv4 is the IP address to assign.
IPv4 string `json:"ipv4"`
// MAC is the MAC address of the network interface.
MAC string `json:"mac"`
// SubnetMask is the subnet mask for the lease.
SubnetMask string `json:"subnetMask"`
// Gateway is the default gateway.
Gateway string `json:"gateway"`
// DNS is a list of DNS server addresses.
// +optional
DNS []string `json:"dns,omitempty"`
}
DHCPLease defines a static DHCP lease for PXE booting.
func (*DHCPLease) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DHCPLease.
func (*DHCPLease) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DownloadSource ¶ added in v0.1.3
type DownloadSource struct {
// BaseURL replaces the upstream host + path prefix used to
// construct the download URL. Version and arch substitution are
// preserved so mirrors need to publish assets under the same
// layout as the upstream project.
// +optional
BaseURL string `json:"baseURL,omitempty"`
// URL is a fully qualified download URL template. Version/arch
// substitution via fmt directives is preserved. When set it
// overrides BaseURL entirely.
// +optional
URL string `json:"url,omitempty"`
// Version overrides the version of the artifact that would
// otherwise be derived from the cluster Kubernetes version or the
// agent's compiled-in defaults.
// +optional
Version string `json:"version,omitempty"`
}
DownloadSource configures an override for a binary download source. Exactly one of URL or BaseURL should typically be set; when both are set URL wins. Version overrides the version that would otherwise be derived from the cluster Kubernetes version or agent defaults.
func (*DownloadSource) DeepCopy ¶ added in v0.1.3
func (in *DownloadSource) DeepCopy() *DownloadSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadSource.
func (*DownloadSource) DeepCopyInto ¶ added in v0.1.3
func (in *DownloadSource) DeepCopyInto(out *DownloadSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesSpec ¶
type KubernetesSpec struct {
// Version is the Kubernetes version to install (e.g., "v1.34.0").
// When omitted the controller falls back to the cluster's
// Kubernetes version.
// +optional
Version string `json:"version,omitempty"`
// NodeRef references the Node that corresponds to this Machine.
// +optional
NodeRef *LocalObjectReference `json:"nodeRef,omitempty"`
// NodeLabels are labels passed to kubelet's --node-labels flag.
// +optional
NodeLabels map[string]string `json:"nodeLabels,omitempty"`
// RegisterWithTaints are taints passed to kubelet's --register-with-taints flag.
// Each entry uses the standard Kubernetes taint format: key=value:Effect.
// +optional
RegisterWithTaints []string `json:"registerWithTaints,omitempty"`
// BootstrapTokenRef references a bootstrap token Secret in
// kube-system. The secret must be of type
// bootstrap.kubernetes.io/token with the well-known keys
// "token-id" and "token-secret".
// +kubebuilder:validation:Required
BootstrapTokenRef LocalObjectReference `json:"bootstrapTokenRef"`
}
KubernetesSpec defines Kubernetes-specific configuration for a Machine.
func (*KubernetesSpec) DeepCopy ¶
func (in *KubernetesSpec) DeepCopy() *KubernetesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesSpec.
func (*KubernetesSpec) DeepCopyInto ¶
func (in *KubernetesSpec) DeepCopyInto(out *KubernetesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalObjectReference ¶
type LocalObjectReference struct {
// Name of the referenced resource.
Name string `json:"name"`
}
LocalObjectReference contains enough information to locate the referenced resource.
func (*LocalObjectReference) DeepCopy ¶
func (in *LocalObjectReference) DeepCopy() *LocalObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalObjectReference.
func (*LocalObjectReference) DeepCopyInto ¶
func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Machine ¶
type Machine struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MachineSpec `json:"spec,omitempty"`
Status MachineStatus `json:"status,omitempty"`
}
Machine represents a machine that can be managed by machina.
func (*Machine) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Machine.
func (*Machine) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Machine) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MachineList ¶
type MachineList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Machine `json:"items"`
}
MachineList contains a list of Machine.
func (*MachineList) DeepCopy ¶
func (in *MachineList) DeepCopy() *MachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineList.
func (*MachineList) DeepCopyInto ¶
func (in *MachineList) DeepCopyInto(out *MachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineList) DeepCopyObject ¶
func (in *MachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MachinePhase ¶
type MachinePhase string
MachinePhase represents the current phase of a Machine.
const ( MachinePhasePending MachinePhase = "Pending" MachinePhaseRebooting MachinePhase = "Rebooting" MachinePhaseProvisioning MachinePhase = "Provisioning" MachinePhaseJoining MachinePhase = "Joining" MachinePhaseReady MachinePhase = "Ready" MachinePhaseFailed MachinePhase = "Failed" )
type MachineSpec ¶
type MachineSpec struct {
// SSH contains the SSH connection and credential details for the
// machine.
// +optional
SSH *SSHSpec `json:"ssh,omitempty"`
// PXE contains PXE boot configuration for the machine.
// +optional
PXE *PXESpec `json:"pxe,omitempty"`
// Kubernetes contains Kubernetes-specific configuration.
// +optional
Kubernetes *KubernetesSpec `json:"kubernetes,omitempty"`
// Agent contains settings for the unbounded node agent.
// +optional
Agent *AgentSpec `json:"agent,omitempty"`
// Operations contains counter-based operation triggers.
// +optional
Operations *OperationsSpec `json:"operations,omitempty"`
}
MachineSpec defines the desired state of a Machine.
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 MachineStatus ¶
type MachineStatus struct {
// Phase is the current phase of the machine. Intended for human
// consumption; follows the state machine rather than driving it.
Phase MachinePhase `json:"phase,omitempty"`
// Message provides additional status information.
Message string `json:"message,omitempty"`
// SSH holds observed SSH state.
// +optional
SSH *SSHStatus `json:"ssh,omitempty"`
// Redfish holds observed Redfish state.
// +optional
Redfish *RedfishStatus `json:"redfish,omitempty"`
// TPM holds observed TPM state.
// +optional
TPM *TPMStatus `json:"tpm,omitempty"`
// Agent holds the applied agent settings.
// +optional
Agent *AgentStatus `json:"agent,omitempty"`
// Operations holds the last-observed operation counters.
// +optional
Operations *OperationsStatus `json:"operations,omitempty"`
// Conditions represent the latest available observations of the
// machine's state.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
MachineStatus defines the observed state of a Machine.
func (*MachineStatus) DeepCopy ¶
func (in *MachineStatus) DeepCopy() *MachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineStatus.
func (*MachineStatus) DeepCopyInto ¶
func (in *MachineStatus) DeepCopyInto(out *MachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperationsSpec ¶
type OperationsSpec struct {
// RebootCounter triggers a reboot when it exceeds the status
// reboot counter.
// +optional
RebootCounter int64 `json:"rebootCounter,omitempty"`
// RepaveCounter triggers a repave when it exceeds the status
// repave counter.
// +optional
RepaveCounter int64 `json:"repaveCounter,omitempty"`
}
OperationsSpec defines counter-based operation triggers. Controllers compare spec counters against status counters to determine if an operation is needed.
func (*OperationsSpec) DeepCopy ¶
func (in *OperationsSpec) DeepCopy() *OperationsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationsSpec.
func (*OperationsSpec) DeepCopyInto ¶
func (in *OperationsSpec) DeepCopyInto(out *OperationsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperationsStatus ¶
type OperationsStatus struct {
// RebootCounter is the last reboot counter value that was acted on.
RebootCounter int64 `json:"rebootCounter,omitempty"`
// RepaveCounter is the last repave counter value that was acted on.
RepaveCounter int64 `json:"repaveCounter,omitempty"`
}
OperationsStatus holds the last-observed operation counters.
func (*OperationsStatus) DeepCopy ¶
func (in *OperationsStatus) DeepCopy() *OperationsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationsStatus.
func (*OperationsStatus) DeepCopyInto ¶
func (in *OperationsStatus) DeepCopyInto(out *OperationsStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PXESpec ¶
type PXESpec struct {
// Image is an OCI image reference containing netboot artifacts.
// Example: "ghcr.io/azure/images/host-ubuntu2404:v1"
// +kubebuilder:validation:Required
Image string `json:"image"`
// DHCPLeases defines static DHCP leases for PXE booting.
// +optional
DHCPLeases []DHCPLease `json:"dhcpLeases,omitempty"`
// Redfish configures optional Redfish BMC access.
// +optional
Redfish *RedfishSpec `json:"redfish,omitempty"`
// CloudInit contains optional cloud-init customization for PXE-booted
// machines.
// +optional
CloudInit *CloudInitSpec `json:"cloudInit,omitempty"`
}
PXESpec defines PXE boot configuration for a Machine.
func (*PXESpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PXESpec.
func (*PXESpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedfishSpec ¶
type RedfishSpec struct {
// URL is the Redfish endpoint URL.
// +kubebuilder:validation:Required
URL string `json:"url"`
// Username is the Redfish username.
// +kubebuilder:validation:Required
Username string `json:"username"`
// DeviceID is the Redfish system device ID. Defaults to "1".
// +kubebuilder:default="1"
DeviceID string `json:"deviceID,omitempty"`
// PasswordRef references a secret containing the Redfish password.
// +kubebuilder:validation:Required
PasswordRef SecretKeySelector `json:"passwordRef"`
}
RedfishSpec defines Redfish BMC connection details.
func (*RedfishSpec) DeepCopy ¶
func (in *RedfishSpec) DeepCopy() *RedfishSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedfishSpec.
func (*RedfishSpec) DeepCopyInto ¶
func (in *RedfishSpec) DeepCopyInto(out *RedfishSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedfishStatus ¶
type RedfishStatus struct {
// CertFingerprint is the TLS certificate fingerprint for the
// Redfish endpoint, pinned on first connection.
CertFingerprint string `json:"certFingerprint,omitempty"`
}
RedfishStatus holds observed Redfish state.
func (*RedfishStatus) DeepCopy ¶
func (in *RedfishStatus) DeepCopy() *RedfishStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedfishStatus.
func (*RedfishStatus) DeepCopyInto ¶
func (in *RedfishStatus) DeepCopyInto(out *RedfishStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHSpec ¶
type SSHSpec struct {
// Host is the hostname or IP address of the machine, optionally
// including the port (e.g. "1.2.3.4:2222"). When the port is
// omitted, 22 is assumed.
// +kubebuilder:validation:Required
Host string `json:"host"`
// Username is the SSH username.
// +kubebuilder:default=azureuser
Username string `json:"username,omitempty"`
// PrivateKeyRef references a secret containing the SSH private key.
// +kubebuilder:validation:Required
PrivateKeyRef SecretKeySelector `json:"privateKeyRef"`
// Bastion configures an optional SSH jump host (bastion) for proxy
// connections. Its structure is identical to SSHSpec minus the
// bastion field itself.
// +optional
Bastion *BastionSSHSpec `json:"bastion,omitempty"`
}
SSHSpec defines SSH connection details. The same structure is reused for both the target machine and the optional bastion host.
func (*SSHSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHSpec.
func (*SSHSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHStatus ¶
type SSHStatus struct {
// Fingerprint is the SSH host key fingerprint discovered on
// first connection. Subsequent connections must match this value.
Fingerprint string `json:"fingerprint,omitempty"`
}
SSHStatus holds observed SSH state.
func (*SSHStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHStatus.
func (*SSHStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretKeySelector ¶
type SecretKeySelector struct {
// Name of the secret.
Name string `json:"name"`
// Namespace of the secret.
Namespace string `json:"namespace"`
// Key within the secret.
// +kubebuilder:default=ssh-privatekey
Key string `json:"key,omitempty"`
}
SecretKeySelector selects a key from a Secret.
func (*SecretKeySelector) DeepCopy ¶
func (in *SecretKeySelector) DeepCopy() *SecretKeySelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeySelector.
func (*SecretKeySelector) DeepCopyInto ¶
func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TPMStatus ¶
type TPMStatus struct {
// EKPublicKey is the TPM endorsement key public key, written
// when the PXE boot image requests a bootstrap token.
EKPublicKey string `json:"ekPublicKey,omitempty"`
}
TPMStatus holds observed TPM state.
func (*TPMStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TPMStatus.
func (*TPMStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.