v1alpha1

package
v0.0.0-...-27157f3 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2024 License: MPL-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// LoadBalancerAvailableCondition is a condition that indicates that the API server
	// load balancer is available.
	LoadBalancerAvailableCondition clusterv1.ConditionType = "LoadBalancerAvailable"

	// LoadBalancerFailedReason is used to indicate any error with the
	// availability of the load balancer.
	LoadBalancerFailedReason = "LoadBalancerAvailabilityFailed"

	// LoadBalancerNotAvailableReason is used to indicate that the load balancer isn't available.
	LoadBalancerNotAvailableReason = "LoadBalancerNotAvailable"
)
View Source
const (
	// MicrovmReadyCondition indicates that the microvm is in a running state.
	MicrovmReadyCondition clusterv1.ConditionType = "MicrovmReady"

	// MicrovmProvisionFailedReason indicates that the microvm failed to provision.
	MicrovmProvisionFailedReason = "MicrovmProvisionFailed"

	// MicrovmPendingReason indicates the microvm is in a pending state.
	MicrovmPendingReason = "MicrovmPending"

	// MicrovmDeletingReason indicates the microvm is in a deleted state.
	MicrovmDeletingReason = "MicrovmDeleting"

	// MicrovmDeletedFailedReason indicates the microvm failed to deleted cleanly.
	MicrovmDeleteFailedReason = "MicrovmDeleteFailed"

	// MicrovmUnknownStateReason indicates that the microvm in in an unknown or unsupported state
	// for reconciliation.
	MicrovmUnknownStateReason = "MicrovmUnknownState"

	// WaitingForClusterInfraReason indicates that the microvm reconciliation is waiting for
	// the cluster infrastructure to be ready before proceeding.
	WaitingForClusterInfraReason = "WaitingForClusterInfra"

	// WaitingForBootstrapDataReason indicates that microvm is waiting for the bootstrap data
	// to be available before proceeding.
	WaitingForBootstrapDataReason = "WaitingForBoostrapData"
)
View Source
const (
	// MachineFinalizer allows ReconcileMicrovmMachine to clean up resources associated with MicrovmMachine
	// before removing it from the apiserver.
	MachineFinalizer = "microvmmachine.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", 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

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func SetDefaults_NetworkInterface

func SetDefaults_NetworkInterface(obj *microvm.NetworkInterface)

func SetObjectDefaults_MicrovmMachine

func SetObjectDefaults_MicrovmMachine(in *MicrovmMachine)

func SetObjectDefaults_MicrovmMachineTemplate

func SetObjectDefaults_MicrovmMachineTemplate(in *MicrovmMachineTemplate)

Types

type MicrovmCluster

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

	Spec   MicrovmClusterSpec   `json:"spec,omitempty"`
	Status MicrovmClusterStatus `json:"status,omitempty"`
}

MicrovmCluster is the Schema for the microvmclusters API.

func (*MicrovmCluster) DeepCopy

func (in *MicrovmCluster) DeepCopy() *MicrovmCluster

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

func (*MicrovmCluster) DeepCopyInto

func (in *MicrovmCluster) DeepCopyInto(out *MicrovmCluster)

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

func (*MicrovmCluster) DeepCopyObject

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

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

func (*MicrovmCluster) Default

func (r *MicrovmCluster) Default()

Default satisfies the defaulting webhook interface.

func (*MicrovmCluster) GetConditions

func (r *MicrovmCluster) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the MicrovmCluster resource.

func (*MicrovmCluster) SetConditions

func (r *MicrovmCluster) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the MicrovmCluster to the predescribed clusterv1.Conditions.

func (*MicrovmCluster) SetupWebhookWithManager

func (r *MicrovmCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MicrovmCluster) ValidateCreate

func (r *MicrovmCluster) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*MicrovmCluster) ValidateDelete

func (r *MicrovmCluster) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*MicrovmCluster) ValidateUpdate

func (r *MicrovmCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type MicrovmClusterList

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

MicrovmClusterList contains a list of MicrovmCluster. +k8s:defaulter-gen=true

func (*MicrovmClusterList) DeepCopy

func (in *MicrovmClusterList) DeepCopy() *MicrovmClusterList

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

func (*MicrovmClusterList) DeepCopyInto

func (in *MicrovmClusterList) DeepCopyInto(out *MicrovmClusterList)

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

func (*MicrovmClusterList) DeepCopyObject

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

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

type MicrovmClusterSpec

type MicrovmClusterSpec struct {
	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	//
	// See https://cluster-api.sigs.k8s.io/developer/architecture/controllers/cluster.html
	// for more details.
	//
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
	// SSHPublicKeys is a list of SSHPublicKeys and their associated users.
	// If specified these keys will be applied to all machine created unless you
	// specify different keys at the machine level.
	// +optional
	SSHPublicKeys []microvm.SSHPublicKey `json:"sshPublicKeys,omitempty"`
	// Placement specifies how machines for the cluster should be placed onto hosts (i.e. where the microvms are created).
	// +kubebuilder:validation:Required
	Placement Placement `json:"placement"`
	// MicrovmProxy is the proxy server details to use when calling the microvm service. This is an
	// alteranative to using the http proxy environment variables and applied purely to the grpc service.
	MicrovmProxy *flclient.Proxy `json:"microvmProxy,omitempty"`

	// mTLS Configuration:
	//
	// It is recommended that each flintlock host is configured with its own cert
	// signed by a common CA, and set to use mTLS.
	// The CAPMVM client should be provided with the CA, and a client cert and key
	// signed by that CA.
	// TLSSecretRef is a reference to the name of a secret which contains TLS cert information
	// for connecting to Flintlock hosts.
	// The secret should be created in the same namespace as the MicroVMCluster.
	// The secret should be of type Opaque
	// with the addition of a ca.crt key.
	//
	// apiVersion: v1
	// kind: Secret
	// metadata:
	// 	name: secret-tls
	// 	namespace: default  <- same as Cluster
	// type: Opaque
	// data:
	// 	tls.crt: |
	// 		-----BEGIN CERTIFICATE-----
	// 		MIIC2DCCAcCgAwIBAgIBATANBgkqh ...
	// 		-----END CERTIFICATE-----
	// 	tls.key: |
	// 		-----BEGIN EC PRIVATE KEY-----
	// 		MIIEpgIBAAKCAQEA7yn3bRHQ5FHMQ ...
	// 		-----END EC PRIVATE KEY-----
	// 	ca.crt: |
	// 		-----BEGIN CERTIFICATE-----
	// 		MIIEpgIBAAKCAQEA7yn3bRHQ5FHMQ ...
	// 		-----END CERTIFICATE-----
	// +optional
	TLSSecretRef string `json:"tlsSecretRef,omitempty"`
}

MicrovmClusterSpec defines the desired state of MicrovmCluster.

func (*MicrovmClusterSpec) DeepCopy

func (in *MicrovmClusterSpec) DeepCopy() *MicrovmClusterSpec

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

func (*MicrovmClusterSpec) DeepCopyInto

func (in *MicrovmClusterSpec) DeepCopyInto(out *MicrovmClusterSpec)

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

type MicrovmClusterStatus

type MicrovmClusterStatus struct {
	// Ready indicates that the cluster is ready.
	// +optional
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	// Conditions defines current service state of the MicrovmCluster.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`

	// FailureDomains is a list of the failure domains that CAPI should spread the machines across. For
	// the CAPMVM provider this equates to host machines that can run microvms using Flintlock.
	FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`
}

MicrovmClusterStatus defines the observed state of MicrovmCluster.

func (*MicrovmClusterStatus) DeepCopy

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

func (*MicrovmClusterStatus) DeepCopyInto

func (in *MicrovmClusterStatus) DeepCopyInto(out *MicrovmClusterStatus)

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

type MicrovmHost

type MicrovmHost struct {
	// Name is an optional name for the host.
	// +optional
	Name string `json:"name,omitempty"`
	// Endpoint is the API endpoint for the microvm service (i.e. flintlock)
	// including the port.
	// +kubebuilder:validation:Required
	Endpoint string `json:"endpoint"`
	// ControlPlaneAllowed marks this host as suitable for running control plane nodes in
	// addition to worker nodes.
	// +kubebuilder:default=true
	ControlPlaneAllowed bool `json:"controlplaneAllowed"`
}

func (*MicrovmHost) DeepCopy

func (in *MicrovmHost) DeepCopy() *MicrovmHost

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

func (*MicrovmHost) DeepCopyInto

func (in *MicrovmHost) DeepCopyInto(out *MicrovmHost)

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

type MicrovmMachine

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

	Spec   MicrovmMachineSpec   `json:"spec,omitempty"`
	Status MicrovmMachineStatus `json:"status,omitempty"`
}

MicrovmMachine is the Schema for the microvmmachines API.

func (*MicrovmMachine) DeepCopy

func (in *MicrovmMachine) DeepCopy() *MicrovmMachine

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

func (*MicrovmMachine) DeepCopyInto

func (in *MicrovmMachine) DeepCopyInto(out *MicrovmMachine)

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

func (*MicrovmMachine) DeepCopyObject

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

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

func (*MicrovmMachine) Default

func (r *MicrovmMachine) Default()

Default satisfies the defaulting webhook interface.

func (*MicrovmMachine) GetConditions

func (r *MicrovmMachine) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the MicrovmMachine resource.

func (*MicrovmMachine) SetConditions

func (r *MicrovmMachine) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the MicrovmMachine to the predescribed clusterv1.Conditions.

func (*MicrovmMachine) SetupWebhookWithManager

func (r *MicrovmMachine) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MicrovmMachine) ValidateCreate

func (r *MicrovmMachine) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*MicrovmMachine) ValidateDelete

func (r *MicrovmMachine) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*MicrovmMachine) ValidateUpdate

func (r *MicrovmMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type MicrovmMachineList

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

MicrovmMachineList contains a list of MicrovmMachine.

func (*MicrovmMachineList) DeepCopy

func (in *MicrovmMachineList) DeepCopy() *MicrovmMachineList

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

func (*MicrovmMachineList) DeepCopyInto

func (in *MicrovmMachineList) DeepCopyInto(out *MicrovmMachineList)

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

func (*MicrovmMachineList) DeepCopyObject

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

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

type MicrovmMachineSpec

type MicrovmMachineSpec struct {
	microvm.VMSpec `json:",inline"`

	// SSHPublicKeys is list of SSH public keys that will be used with stated users
	// on this machine.
	// If specified they will take precedence over any SSH keys specified at
	// the cluster level.
	// +optional
	SSHPublicKeys []microvm.SSHPublicKey `json:"sshPublicKeys,omitempty"`

	// ProviderID is the unique identifier as specified by the cloud provider.
	ProviderID *string `json:"providerID,omitempty"`
}

MicrovmMachineSpec defines the desired state of MicrovmMachine.

func (*MicrovmMachineSpec) DeepCopy

func (in *MicrovmMachineSpec) DeepCopy() *MicrovmMachineSpec

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

func (*MicrovmMachineSpec) DeepCopyInto

func (in *MicrovmMachineSpec) DeepCopyInto(out *MicrovmMachineSpec)

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

type MicrovmMachineStatus

type MicrovmMachineStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	// VMState indicates the state of the microvm.
	VMState *microvm.VMState `json:"vmState,omitempty"`

	// Addresses contains the microvm associated addresses.
	Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"`

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Conditions defines current service state of the MicrovmMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

MicrovmMachineStatus defines the observed state of MicrovmMachine.

func (*MicrovmMachineStatus) DeepCopy

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

func (*MicrovmMachineStatus) DeepCopyInto

func (in *MicrovmMachineStatus) DeepCopyInto(out *MicrovmMachineStatus)

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

type MicrovmMachineTemplate

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

	Spec MicrovmMachineTemplateSpec `json:"spec,omitempty"`
}

MicrovmMachineTemplate is the Schema for the microvmmachinetemplates API.

func (*MicrovmMachineTemplate) DeepCopy

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

func (*MicrovmMachineTemplate) DeepCopyInto

func (in *MicrovmMachineTemplate) DeepCopyInto(out *MicrovmMachineTemplate)

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

func (*MicrovmMachineTemplate) DeepCopyObject

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

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

func (*MicrovmMachineTemplate) SetupWebhookWithManager

func (r *MicrovmMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MicrovmMachineTemplate) ValidateCreate

func (r *MicrovmMachineTemplate) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*MicrovmMachineTemplate) ValidateDelete

func (r *MicrovmMachineTemplate) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*MicrovmMachineTemplate) ValidateUpdate

func (r *MicrovmMachineTemplate) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type MicrovmMachineTemplateList

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

MicrovmMachineTemplateList contains a list of MicrovmMachineTemplate.

func (*MicrovmMachineTemplateList) DeepCopy

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

func (*MicrovmMachineTemplateList) DeepCopyInto

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

func (*MicrovmMachineTemplateList) DeepCopyObject

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

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

type MicrovmMachineTemplateResource

type MicrovmMachineTemplateResource struct {
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the specification of the machine.
	Spec MicrovmMachineSpec `json:"spec"`
}

MicrovmMachineTemplateResource describes the data needed to create a MicrovmMachine from a template.

func (*MicrovmMachineTemplateResource) DeepCopy

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

func (*MicrovmMachineTemplateResource) DeepCopyInto

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

type MicrovmMachineTemplateSpec

type MicrovmMachineTemplateSpec struct {
	Template MicrovmMachineTemplateResource `json:"template"`
}

MicrovmMachineTemplateSpec defines the desired state of MicrovmMachineTemplate.

func (*MicrovmMachineTemplateSpec) DeepCopy

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

func (*MicrovmMachineTemplateSpec) DeepCopyInto

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

type Placement

type Placement struct {
	// StaticPool is used to specify that static pool placement should be used.
	StaticPool *StaticPoolPlacement `json:"staticPool,omitempty"`
}

Placement represents configuration relating to the placement of the microvms. The number of placement options will grow and so we need to ensure in the validation webhook that only 1 placement types is configured.

func (*Placement) DeepCopy

func (in *Placement) DeepCopy() *Placement

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

func (*Placement) DeepCopyInto

func (in *Placement) DeepCopyInto(out *Placement)

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

func (*Placement) IsSet

func (p *Placement) IsSet() bool

IsSet returns true if one of the placement options has been configured. NOTE: this will need to be expanded as the placement options grow.

func (*Placement) Validate

func (p *Placement) Validate() []*field.Error

type SSHPublicKey

type SSHPublicKey struct {
	// User is the name of the user to add keys for (eg root, ubuntu).
	// +kubebuilder:validation:Required
	User string `json:"user,omitempty"`
	// AuthorizedKeys is a list of public keys to add to the user
	// +kubebuilder:validation:Required
	AuthorizedKeys []string `json:"authorizedKeys,omitempty"`
}

func (*SSHPublicKey) DeepCopy

func (in *SSHPublicKey) DeepCopy() *SSHPublicKey

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

func (*SSHPublicKey) DeepCopyInto

func (in *SSHPublicKey) DeepCopyInto(out *SSHPublicKey)

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

type StaticPoolPlacement

type StaticPoolPlacement struct {
	// Hosts defines the pool of hosts that should be used when creating microvms. The hosts will
	// be supplied to CAPI (as fault domains) and it will place machines across them.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems:=1
	Hosts []MicrovmHost `json:"hosts"`
	// BasicAuthSecret is the name of the secret containing basic auth info for each
	// host listed in Hosts.
	// The secret should be created in the same namespace as the Cluster.
	// The secret should contain a data entry for each host Endpoint without the port:
	//
	// apiVersion: v1
	// kind: Secret
	// metadata:
	// 	name: mybasicauthsecret
	//	namespace: same-as-cluster
	// type: Opaque
	// data:
	// 	1.2.4.5: YWRtaW4=
	// 	myhost: MWYyZDFlMmU2N2Rm
	BasicAuthSecret string `json:"basicAuthSecret,omitempty"`
}

StaticPoolPlacement represents the configuration for placing microvms across a pool of predefined servers.

func (*StaticPoolPlacement) DeepCopy

func (in *StaticPoolPlacement) DeepCopy() *StaticPoolPlacement

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

func (*StaticPoolPlacement) DeepCopyInto

func (in *StaticPoolPlacement) DeepCopyInto(out *StaticPoolPlacement)

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

type TLSConfig

type TLSConfig struct {
	Cert   []byte `json:"cert"`
	Key    []byte `json:"key"`
	CACert []byte `json:"caCert"`
}

TLSConfig represents config for connecting to TLS enabled hosts.

func (*TLSConfig) DeepCopy

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

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

Jump to

Keyboard shortcuts

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