Documentation ¶
Overview ¶
Package v1alpha contains API Schema definitions for the compute v1alpha API group +kubebuilder:object:generate=true +groupName=compute.datumapis.com
Index ¶
- Constants
- Variables
- type ContainerResourceRequirements
- type DiskPopulator
- type DiskResourceRequirements
- type DiskSpec
- type DiskTemplateVolumeSource
- type DiskTemplateVolumeSourceTemplate
- type FilesystemDiskPopulator
- type HorizontalScaleSettings
- type ImageDiskPopulator
- type Instance
- type InstanceList
- type InstanceNetworkInterface
- type InstanceNetworkInterfaceAssignmentsStatus
- type InstanceNetworkInterfaceNetworkPolicy
- type InstanceNetworkInterfaceStatus
- type InstanceRuntimeResources
- type InstanceRuntimeSpec
- type InstanceSpec
- type InstanceStatus
- type InstanceTemplateSpec
- type InstanceVolume
- type LocalSecretReference
- type MetricSpec
- type MetricTarget
- type NamedPort
- type ResourceMetricSource
- type SandboxContainer
- type SandboxRuntime
- type VirtualMachineRuntime
- type VolumeAttachment
- type VolumeSource
- type Workload
- type WorkloadDeployment
- type WorkloadDeploymentList
- type WorkloadDeploymentSpec
- type WorkloadDeploymentStatus
- type WorkloadGateway
- type WorkloadGatewayStatus
- type WorkloadGatewayTemplate
- type WorkloadList
- type WorkloadPlacement
- type WorkloadPlacementStatus
- type WorkloadReference
- type WorkloadSpec
- type WorkloadStatus
Constants ¶
const ( AnnotationNamespace = "compute.datumapis.com" SSHKeysAnnotation = AnnotationNamespace + "/ssh-keys" )
const (
// WorkloadAvailable indicates that at least one instance has come online.
WorkloadAvailable = "Available"
)
const ( // WorkloadDeploymentAvailable indicates that at least one instance has come // online. WorkloadDeploymentAvailable = "Available" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "compute.datumapis.com", Version: "v1alpha"} // 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 ContainerResourceRequirements ¶
type ContainerResourceRequirements struct { // Limits describes the maximum amount of compute resources allowed. // // +kubebuilder:validation:Optional Limits corev1.ResourceList `json:"limits,omitempty"` // Requests describes the minimum amount of compute resources required. // // +kubebuilder:validation:Optional Requests corev1.ResourceList `json:"requests,omitempty"` }
func (*ContainerResourceRequirements) DeepCopy ¶
func (in *ContainerResourceRequirements) DeepCopy() *ContainerResourceRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResourceRequirements.
func (*ContainerResourceRequirements) DeepCopyInto ¶
func (in *ContainerResourceRequirements) DeepCopyInto(out *ContainerResourceRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskPopulator ¶
type DiskPopulator struct { // Populate the disk from an image Image *ImageDiskPopulator `json:"image,omitempty"` // Populate the disk with a filesystem Filesystem *FilesystemDiskPopulator `json:"filesystem,omitempty"` }
func (*DiskPopulator) DeepCopy ¶
func (in *DiskPopulator) DeepCopy() *DiskPopulator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskPopulator.
func (*DiskPopulator) DeepCopyInto ¶
func (in *DiskPopulator) DeepCopyInto(out *DiskPopulator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskResourceRequirements ¶
type DiskResourceRequirements struct { // Requests describes the minimum amount of storage resources required. // // +kubebuilder:validation:Optional Requests corev1.ResourceList `json:"requests,omitempty"` }
func (*DiskResourceRequirements) DeepCopy ¶
func (in *DiskResourceRequirements) DeepCopy() *DiskResourceRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskResourceRequirements.
func (*DiskResourceRequirements) DeepCopyInto ¶
func (in *DiskResourceRequirements) DeepCopyInto(out *DiskResourceRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskSpec ¶
type DiskSpec struct { // The type the disk, such as `pd-standard`. // // +kubebuilder:default=pd-standard // +kubebuilder:validation:Optional Type string `json:"type"` // The resource requirements for the disk. // // +kubebuilder:validation:Optional Resources *DiskResourceRequirements `json:"resources,omitempty"` // Populator to use while initializing the disk. // // +kubebuilder:validation:Optional Populator *DiskPopulator `json:"populator,omitempty"` }
func (*DiskSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSpec.
func (*DiskSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskTemplateVolumeSource ¶
type DiskTemplateVolumeSource struct { // Specifies a unique device name that is reflected into the // `/dev/disk/by-id/datumcloud-*` tree of a Linux operating system // running within the instance. This name can be used to reference // the device for mounting, resizing, and so on, from within the // instance. // // If not specified, the server chooses a default device name to // apply to this disk, in the form persistent-disk-x, where x is a // number assigned by Datum Cloud. // DeviceName *string `json:"deviceName,omitempty"` // Settings to create a new disk for an attached disk // // +kubebuilder:validation:Required Template *DiskTemplateVolumeSourceTemplate `json:"template,omitempty"` }
func (*DiskTemplateVolumeSource) DeepCopy ¶
func (in *DiskTemplateVolumeSource) DeepCopy() *DiskTemplateVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskTemplateVolumeSource.
func (*DiskTemplateVolumeSource) DeepCopyInto ¶
func (in *DiskTemplateVolumeSource) DeepCopyInto(out *DiskTemplateVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskTemplateVolumeSourceTemplate ¶
type DiskTemplateVolumeSourceTemplate struct { // Metadata of the disks created from this template // // +kubebuilder:validation:Optional metav1.ObjectMeta `json:"metadata,omitempty"` // Describes the desired configuration of a disk // // +kubebuilder:validation:Required Spec DiskSpec `json:"spec,omitempty"` }
func (*DiskTemplateVolumeSourceTemplate) DeepCopy ¶
func (in *DiskTemplateVolumeSourceTemplate) DeepCopy() *DiskTemplateVolumeSourceTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskTemplateVolumeSourceTemplate.
func (*DiskTemplateVolumeSourceTemplate) DeepCopyInto ¶
func (in *DiskTemplateVolumeSourceTemplate) DeepCopyInto(out *DiskTemplateVolumeSourceTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilesystemDiskPopulator ¶
type FilesystemDiskPopulator struct { // The type of filesystem to populate the disk with. // // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=ext4 Type string `json:"type"` }
func (*FilesystemDiskPopulator) DeepCopy ¶
func (in *FilesystemDiskPopulator) DeepCopy() *FilesystemDiskPopulator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemDiskPopulator.
func (*FilesystemDiskPopulator) DeepCopyInto ¶
func (in *FilesystemDiskPopulator) DeepCopyInto(out *FilesystemDiskPopulator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HorizontalScaleSettings ¶
type HorizontalScaleSettings struct { // The minimum number of replicas. // // +kubebuilder:validation:Required MinReplicas int32 `json:"minReplicas"` // The maximum number of replicas. // // +kubebuilder:validation:Optional MaxReplicas *int32 `json:"maxReplicas,omitempty"` // A list of metrics that determine scaling behavior, such as external metrics. // // +kubebuilder:validation:Optional Metrics []MetricSpec `json:"metrics,omitempty"` }
func (*HorizontalScaleSettings) DeepCopy ¶
func (in *HorizontalScaleSettings) DeepCopy() *HorizontalScaleSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalScaleSettings.
func (*HorizontalScaleSettings) DeepCopyInto ¶
func (in *HorizontalScaleSettings) DeepCopyInto(out *HorizontalScaleSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageDiskPopulator ¶
type ImageDiskPopulator struct { // The name of the image to populate the disk with. // // TODO(jreese) should this be a Ref field? Would want to avoid stuttering // in `populator.image.imageRef.name` though. // // +kubebuilder:validation:Required Name string `json:"name"` }
func (*ImageDiskPopulator) DeepCopy ¶
func (in *ImageDiskPopulator) DeepCopy() *ImageDiskPopulator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageDiskPopulator.
func (*ImageDiskPopulator) DeepCopyInto ¶
func (in *ImageDiskPopulator) DeepCopyInto(out *ImageDiskPopulator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Instance ¶
type Instance struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec InstanceSpec `json:"spec,omitempty"` Status InstanceStatus `json:"status,omitempty"` }
Instance is the Schema for the instances API +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status` +kubebuilder:printcolumn:name="Reason",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].reason` +kubebuilder:printcolumn:name="Network IP",type=string,JSONPath=`.status.networkInterfaces[0].assignments.networkIP`,priority=1 +kubebuilder:printcolumn:name="External IP",type=string,JSONPath=`.status.networkInterfaces[0].assignments.externalIP`,priority=1
func (*Instance) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.
func (*Instance) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Instance) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstanceList ¶
type InstanceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Instance `json:"items"` }
InstanceList contains a list of Instance
func (*InstanceList) DeepCopy ¶
func (in *InstanceList) DeepCopy() *InstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList.
func (*InstanceList) DeepCopyInto ¶
func (in *InstanceList) DeepCopyInto(out *InstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstanceList) DeepCopyObject ¶
func (in *InstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstanceNetworkInterface ¶
type InstanceNetworkInterface struct { // The network to attach the network interface to. // // +kubebuilder:validation:Required Network networkingv1alpha.NetworkRef `json:"network"` // Interface specific network policy. // // If provided, this will result in a platform managed network policy being // created that targets the specfiic instance interface. This network policy // will be of the lowest priority, and can effectively be prohibited from // influencing network connectivity. // // +kubebuilder:validation:Optional NetworkPolicy *InstanceNetworkInterfaceNetworkPolicy `json:"networkPolicy,omitempty"` }
func (*InstanceNetworkInterface) DeepCopy ¶
func (in *InstanceNetworkInterface) DeepCopy() *InstanceNetworkInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceNetworkInterface.
func (*InstanceNetworkInterface) DeepCopyInto ¶
func (in *InstanceNetworkInterface) DeepCopyInto(out *InstanceNetworkInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceNetworkInterfaceAssignmentsStatus ¶
type InstanceNetworkInterfaceAssignmentsStatus struct { // The IP address assigned as the primary IP from the attached network. NetworkIP *string `json:"networkIP,omitempty"` // The external IP address used for the interface. A one to one NAT will be // performed for this address with the interface's network IP. ExternalIP *string `json:"externalIP,omitempty"` }
func (*InstanceNetworkInterfaceAssignmentsStatus) DeepCopy ¶
func (in *InstanceNetworkInterfaceAssignmentsStatus) DeepCopy() *InstanceNetworkInterfaceAssignmentsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceNetworkInterfaceAssignmentsStatus.
func (*InstanceNetworkInterfaceAssignmentsStatus) DeepCopyInto ¶
func (in *InstanceNetworkInterfaceAssignmentsStatus) DeepCopyInto(out *InstanceNetworkInterfaceAssignmentsStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceNetworkInterfaceNetworkPolicy ¶
type InstanceNetworkInterfaceNetworkPolicy struct {
Ingress []networkingv1alpha.NetworkPolicyIngressRule `json:"ingress,omitempty"`
}
func (*InstanceNetworkInterfaceNetworkPolicy) DeepCopy ¶
func (in *InstanceNetworkInterfaceNetworkPolicy) DeepCopy() *InstanceNetworkInterfaceNetworkPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceNetworkInterfaceNetworkPolicy.
func (*InstanceNetworkInterfaceNetworkPolicy) DeepCopyInto ¶
func (in *InstanceNetworkInterfaceNetworkPolicy) DeepCopyInto(out *InstanceNetworkInterfaceNetworkPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceNetworkInterfaceStatus ¶
type InstanceNetworkInterfaceStatus struct {
Assignments InstanceNetworkInterfaceAssignmentsStatus `json:"assignments,omitempty"`
}
func (*InstanceNetworkInterfaceStatus) DeepCopy ¶
func (in *InstanceNetworkInterfaceStatus) DeepCopy() *InstanceNetworkInterfaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceNetworkInterfaceStatus.
func (*InstanceNetworkInterfaceStatus) DeepCopyInto ¶
func (in *InstanceNetworkInterfaceStatus) DeepCopyInto(out *InstanceNetworkInterfaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceRuntimeResources ¶
type InstanceRuntimeResources struct { // Full or partial URL of the instance type resource to use for this instance. // // For example: `datumcloud/d1-standard-2` // // May be combined with `resources` to allow for custom instance types for // instance families that support customization. Instance types which support // customization will appear in the form `<project>/<instanceFamily>-custom`. // // +kubebuilder:validation:Required InstanceType string `json:"instanceType"` // Describes adjustments to the resources defined by the instance type. // // +kubebuilder:validation:Optional Requests corev1.ResourceList `json:"requests,omitempty"` }
func (*InstanceRuntimeResources) DeepCopy ¶
func (in *InstanceRuntimeResources) DeepCopy() *InstanceRuntimeResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRuntimeResources.
func (*InstanceRuntimeResources) DeepCopyInto ¶
func (in *InstanceRuntimeResources) DeepCopyInto(out *InstanceRuntimeResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceRuntimeSpec ¶
type InstanceRuntimeSpec struct { // Resources each instance must be allocated. // // A sandbox runtime's containers may specify resource requests and // limits. When limits are defined on all containers, they MUST consume // the entire amount of resources defined here. Some resources, such // as a GPU, MUST have at least one container request them so that the // device can be presented appropriately. // // A virtual machine runtime will be provided all requested resources. // // +kubebuilder:validation:Required Resources InstanceRuntimeResources `json:"resources,omitempty"` // A sandbox is a managed isolated environment capable of running containers. Sandbox *SandboxRuntime `json:"sandbox,omitempty"` // A virtual machine is a classical VM environment, booting a full OS provided by the user via an image. VirtualMachine *VirtualMachineRuntime `json:"virtualMachine,omitempty"` }
func (*InstanceRuntimeSpec) DeepCopy ¶
func (in *InstanceRuntimeSpec) DeepCopy() *InstanceRuntimeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRuntimeSpec.
func (*InstanceRuntimeSpec) DeepCopyInto ¶
func (in *InstanceRuntimeSpec) DeepCopyInto(out *InstanceRuntimeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceSpec ¶
type InstanceSpec struct { // The runtime type of the instance, such as a container sandbox or a VM. // // +kubebuilder:validation:Required Runtime InstanceRuntimeSpec `json:"runtime,omitempty"` // Network interface configuration. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 NetworkInterfaces []InstanceNetworkInterface `json:"networkInterfaces,omitempty"` Volumes []InstanceVolume `json:"volumes,omitempty"` }
InstanceSpec defines the desired state of Instance
func (*InstanceSpec) DeepCopy ¶
func (in *InstanceSpec) DeepCopy() *InstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec.
func (*InstanceSpec) DeepCopyInto ¶
func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceStatus ¶
type InstanceStatus struct { // Represents the observations of an instance's current state. // Known condition types are: "Available", "Progressing" Conditions []metav1.Condition `json:"conditions,omitempty"` // Network interface information NetworkInterfaces []InstanceNetworkInterfaceStatus `json:"networkInterfaces,omitempty"` }
InstanceStatus defines the observed state of Instance
func (*InstanceStatus) DeepCopy ¶
func (in *InstanceStatus) DeepCopy() *InstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus.
func (*InstanceStatus) DeepCopyInto ¶
func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceTemplateSpec ¶
type InstanceTemplateSpec struct { // Metadata of the instances created from this template // // +kubebuilder:validation:Optional metav1.ObjectMeta `json:"metadata,omitempty"` // Describes the desired configuration of an instance // +kubebuilder:validation:Required Spec InstanceSpec `json:"spec,omitempty"` }
func (*InstanceTemplateSpec) DeepCopy ¶
func (in *InstanceTemplateSpec) DeepCopy() *InstanceTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSpec.
func (*InstanceTemplateSpec) DeepCopyInto ¶
func (in *InstanceTemplateSpec) DeepCopyInto(out *InstanceTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceVolume ¶
type InstanceVolume struct { // Name is used to reference the volume in `volumeAttachments` for // containers and VMs, and will be used to derive the platform resource // name when required by prefixing this name with the instance name upon // creation. // // +kubebuilder:validation:Required Name string `json:"name"` // The type of volume to create. VolumeSource `json:",inline"` }
func (*InstanceVolume) DeepCopy ¶
func (in *InstanceVolume) DeepCopy() *InstanceVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceVolume.
func (*InstanceVolume) DeepCopyInto ¶
func (in *InstanceVolume) DeepCopyInto(out *InstanceVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalSecretReference ¶
type LocalSecretReference struct { // The name of the secret // // +kubebuilder:validation:Required Name string `json:"name"` }
References a secret in the same namespace as the entity defining the reference.
func (*LocalSecretReference) DeepCopy ¶
func (in *LocalSecretReference) DeepCopy() *LocalSecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSecretReference.
func (*LocalSecretReference) DeepCopyInto ¶
func (in *LocalSecretReference) DeepCopyInto(out *LocalSecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricSpec ¶
type MetricSpec struct { // Resource metrics known to Datum. // // +kubebuilder:validation:Optional Resource *ResourceMetricSource `json:"resource,omitempty"` }
func (*MetricSpec) DeepCopy ¶
func (in *MetricSpec) DeepCopy() *MetricSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSpec.
func (*MetricSpec) DeepCopyInto ¶
func (in *MetricSpec) DeepCopyInto(out *MetricSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricTarget ¶
type MetricTarget struct { // The target value of the metric (as a quantity). // // +kubebuilder:validation:Optional Value *resource.Quantity `json:"value,omitempty"` // The target value of the average of the metric across all relevant instances // (as a quantity) // // +kubebuilder:validation:Optional AverageValue *resource.Quantity `json:"averageValue,omitempty"` // The target value of the average of the // resource metric across all relevant instances, represented as a percentage of // the requested value of the resource for the instances. // // +kubebuilder:validation:Optional AverageUtilization *int32 `json:"averageUtilization,omitempty"` }
MetricTarget defines the target value, average value, or average utilization of a specific metric
func (*MetricTarget) DeepCopy ¶
func (in *MetricTarget) DeepCopy() *MetricTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricTarget.
func (*MetricTarget) DeepCopyInto ¶
func (in *MetricTarget) DeepCopyInto(out *MetricTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamedPort ¶
type NamedPort struct { // The name of the port that can be referenced by other platform features. // // +kubebuilder:validation:Required Name string `json:"name"` // The port number, which can be a value between 1 and 65535. // // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 Port int32 `json:"port"` // protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match. // If not specified, this field defaults to TCP. // // +kubebuilder:validation:Optional Protocol *corev1.Protocol `json:"protocol,omitempty"` }
func (*NamedPort) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedPort.
func (*NamedPort) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceMetricSource ¶
type ResourceMetricSource struct { // The name of the resource in question. // // +kubebuilder:validation:Required Name k8scorev1.ResourceName `json:"name"` // The target value for the given metric // // +kubebuilder:validation:Required Target MetricTarget `json:"target"` }
func (*ResourceMetricSource) DeepCopy ¶
func (in *ResourceMetricSource) DeepCopy() *ResourceMetricSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetricSource.
func (*ResourceMetricSource) DeepCopyInto ¶
func (in *ResourceMetricSource) DeepCopyInto(out *ResourceMetricSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SandboxContainer ¶
type SandboxContainer struct { // The name of the container. // // +kubebuilder:validation:Required Name string `json:"name"` // The fully qualified container image name. // // +kubebuilder:validation:Required Image string `json:"image"` // List of environment variables to set in the container. // // +kubebuilder:validation:Optional // +patchMergeKey=name // +patchStrategy=merge // +listType=map // +listMapKey=name // TODO(jreese) can't use corev1.EnvVar due to EnvVarSource being k8s specific, // so replicate the structure here too. Env []corev1.EnvVar `json:"env,omitempty"` // The resource requirements for the container, such as CPU, memory, and GPUs. // // +kubebuilder:validation:Optional Resources *ContainerResourceRequirements `json:"resources,omitempty"` // A list of volumes to attach to the container. // // +kubebuilder:validation:Optional VolumeAttachments []VolumeAttachment `json:"volumeAttachments,omitempty"` // A list of named ports for the container. // // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name Ports []NamedPort `json:"ports,omitempty"` }
func (*SandboxContainer) DeepCopy ¶
func (in *SandboxContainer) DeepCopy() *SandboxContainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SandboxContainer.
func (*SandboxContainer) DeepCopyInto ¶
func (in *SandboxContainer) DeepCopyInto(out *SandboxContainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SandboxRuntime ¶
type SandboxRuntime struct { // A list of containers to run within the sandbox. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +listType=map // +listMapKey=name Containers []SandboxContainer `json:"containers,omitempty"` // An optional list of secrets in the same namespace to use for pulling images // used by the instance. // // +kubebuilder:validation:Optional ImagePullSecrets []LocalSecretReference `json:"imagePullSecrets,omitempty"` }
func (*SandboxRuntime) DeepCopy ¶
func (in *SandboxRuntime) DeepCopy() *SandboxRuntime
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SandboxRuntime.
func (*SandboxRuntime) DeepCopyInto ¶
func (in *SandboxRuntime) DeepCopyInto(out *SandboxRuntime)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineRuntime ¶
type VirtualMachineRuntime struct { // A list of volumes to attach to the VM. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 VolumeAttachments []VolumeAttachment `json:"volumeAttachments,omitempty"` // A list of named ports for the virtual machine. // // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name Ports []NamedPort `json:"ports,omitempty"` }
func (*VirtualMachineRuntime) DeepCopy ¶
func (in *VirtualMachineRuntime) DeepCopy() *VirtualMachineRuntime
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRuntime.
func (*VirtualMachineRuntime) DeepCopyInto ¶
func (in *VirtualMachineRuntime) DeepCopyInto(out *VirtualMachineRuntime)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeAttachment ¶
type VolumeAttachment struct { // The name of the volume to attach as defined in InstanceSpec.Volumes. // // +kubebuilder:validation:Required Name string `json:"name"` // The path to mount the volume inside the guest OS. // // The referenced volume must be populated with a filesystem to use this // feature. // // For VM based instances, this functionality requires certain capabilities // to be annotated on the boot image, such as cloud-init. MountPath *string `json:"mountPath,omitempty"` }
func (*VolumeAttachment) DeepCopy ¶
func (in *VolumeAttachment) DeepCopy() *VolumeAttachment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeAttachment.
func (*VolumeAttachment) DeepCopyInto ¶
func (in *VolumeAttachment) DeepCopyInto(out *VolumeAttachment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeSource ¶
type VolumeSource struct { // A persistent disk backed volume. Disk *DiskTemplateVolumeSource `json:"disk,omitempty"` // A configMap that should populate this volume ConfigMap *corev1.ConfigMapVolumeSource `json:"configMap,omitempty"` // A secret that should populate this volume // TODO(jreese) consider our own struct to align with configMap.name vs secret.secretName Secret *corev1.SecretVolumeSource `json:"secret,omitempty"` }
func (*VolumeSource) DeepCopy ¶
func (in *VolumeSource) DeepCopy() *VolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSource.
func (*VolumeSource) DeepCopyInto ¶
func (in *VolumeSource) DeepCopyInto(out *VolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Workload ¶
type Workload struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Required Spec WorkloadSpec `json:"spec,omitempty"` Status WorkloadStatus `json:"status,omitempty"` }
Workload is the Schema for the workloads API +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status` +kubebuilder:printcolumn:name="Reason",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].reason`
func (*Workload) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workload.
func (*Workload) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Workload) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadDeployment ¶
type WorkloadDeployment struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec WorkloadDeploymentSpec `json:"spec,omitempty"` Status WorkloadDeploymentStatus `json:"status,omitempty"` }
WorkloadDeployment is the Schema for the workloaddeployments API +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Location Namespce",type=string,JSONPath=`.status.location.namespace` +kubebuilder:printcolumn:name="Location Name",type=string,JSONPath=`.status.location.name` +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status` +kubebuilder:printcolumn:name="Reason",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].reason`
func (*WorkloadDeployment) DeepCopy ¶
func (in *WorkloadDeployment) DeepCopy() *WorkloadDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDeployment.
func (*WorkloadDeployment) DeepCopyInto ¶
func (in *WorkloadDeployment) DeepCopyInto(out *WorkloadDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadDeployment) DeepCopyObject ¶
func (in *WorkloadDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadDeploymentList ¶
type WorkloadDeploymentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []WorkloadDeployment `json:"items"` }
WorkloadDeploymentList contains a list of WorkloadDeployment
func (*WorkloadDeploymentList) DeepCopy ¶
func (in *WorkloadDeploymentList) DeepCopy() *WorkloadDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDeploymentList.
func (*WorkloadDeploymentList) DeepCopyInto ¶
func (in *WorkloadDeploymentList) DeepCopyInto(out *WorkloadDeploymentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadDeploymentList) DeepCopyObject ¶
func (in *WorkloadDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadDeploymentSpec ¶
type WorkloadDeploymentSpec struct { // The workload that a deployment belongs to // // +kubebuilder:validation:Required WorkloadRef WorkloadReference `json:"workloadRef"` // The placement in the workload which is driving a deployment // // +kubebuilder:validation:Required PlacementName string `json:"placementName"` // TODO(jreese) think through how to structure this a bit better for when // deployments can be scheduled in ways other than just a city code. // // +kubebuilder:validation:Required CityCode string `json:"cityCode"` // Defines settings for each instance. // // +kubebuilder:validation:Required Template InstanceTemplateSpec `json:"template,omitempty"` // Scale settings such as minimum and maximum replica counts. // // +kubebuilder:validation:Required ScaleSettings HorizontalScaleSettings `json:"scaleSettings"` }
WorkloadDeploymentSpec defines the desired state of WorkloadDeployment
func (*WorkloadDeploymentSpec) DeepCopy ¶
func (in *WorkloadDeploymentSpec) DeepCopy() *WorkloadDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDeploymentSpec.
func (*WorkloadDeploymentSpec) DeepCopyInto ¶
func (in *WorkloadDeploymentSpec) DeepCopyInto(out *WorkloadDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadDeploymentStatus ¶
type WorkloadDeploymentStatus struct { // The location which the deployment has been scheduled to // // +kubebuilder:validation:Optional Location *networkingv1alpha.LocationReference `json:"location,omitempty"` // Represents the observations of a deployment's current state. // Known condition types are: "Available", "Progressing" Conditions []metav1.Condition `json:"conditions,omitempty"` // The number of instances created by a deployment Replicas int32 `json:"replicas"` // The number of instances created by a deployment and have the latest // deployment generation settings applied. CurrentReplicas int32 `json:"currentReplicas"` // The desired number of instances to be managed by a deployment. DesiredReplicas int32 `json:"desiredReplicas"` }
WorkloadDeploymentStatus defines the observed state of WorkloadDeployment
func (*WorkloadDeploymentStatus) DeepCopy ¶
func (in *WorkloadDeploymentStatus) DeepCopy() *WorkloadDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDeploymentStatus.
func (*WorkloadDeploymentStatus) DeepCopyInto ¶
func (in *WorkloadDeploymentStatus) DeepCopyInto(out *WorkloadDeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadGateway ¶
type WorkloadGateway struct { // +kubebuilder:validation:Required Template WorkloadGatewayTemplate `json:"template"` // +kubebuilder:validation:Optional TCPRoutes []gatewayv1alpha2.TCPRouteSpec `json:"tcpRoutes,omitempty"` }
func (*WorkloadGateway) DeepCopy ¶
func (in *WorkloadGateway) DeepCopy() *WorkloadGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGateway.
func (*WorkloadGateway) DeepCopyInto ¶
func (in *WorkloadGateway) DeepCopyInto(out *WorkloadGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadGatewayStatus ¶
type WorkloadGatewayStatus struct {
gatewayv1.GatewayStatus `json:",inline"`
}
func (*WorkloadGatewayStatus) DeepCopy ¶
func (in *WorkloadGatewayStatus) DeepCopy() *WorkloadGatewayStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGatewayStatus.
func (*WorkloadGatewayStatus) DeepCopyInto ¶
func (in *WorkloadGatewayStatus) DeepCopyInto(out *WorkloadGatewayStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadGatewayTemplate ¶
type WorkloadGatewayTemplate struct { // Workload specific gateway // // +kubebuilder:validation:Optional Spec gatewayv1.GatewaySpec `json:"spec"` }
func (*WorkloadGatewayTemplate) DeepCopy ¶
func (in *WorkloadGatewayTemplate) DeepCopy() *WorkloadGatewayTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGatewayTemplate.
func (*WorkloadGatewayTemplate) DeepCopyInto ¶
func (in *WorkloadGatewayTemplate) DeepCopyInto(out *WorkloadGatewayTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadList ¶
type WorkloadList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Workload `json:"items"` }
WorkloadList contains a list of Workload
func (*WorkloadList) DeepCopy ¶
func (in *WorkloadList) DeepCopy() *WorkloadList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadList.
func (*WorkloadList) DeepCopyInto ¶
func (in *WorkloadList) DeepCopyInto(out *WorkloadList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadList) DeepCopyObject ¶
func (in *WorkloadList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadPlacement ¶
type WorkloadPlacement struct { // The name of the placement // // +kubebuilder:validation:Required Name string `json:"name"` // A list of city codes that define where the instances should be deployed. // // +kubebuilder:validation:Required CityCodes []string `json:"cityCodes,omitempty"` // Scale settings such as minimum and maximum replica counts. // // +kubebuilder:validation:Required ScaleSettings HorizontalScaleSettings `json:"scaleSettings"` }
func (*WorkloadPlacement) DeepCopy ¶
func (in *WorkloadPlacement) DeepCopy() *WorkloadPlacement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadPlacement.
func (*WorkloadPlacement) DeepCopyInto ¶
func (in *WorkloadPlacement) DeepCopyInto(out *WorkloadPlacement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadPlacementStatus ¶
type WorkloadPlacementStatus struct { // The name of the placement Name string `json:"name"` // Represents the observations of a placement's current state. // Known condition types are: "Available", "Progressing" Conditions []metav1.Condition `json:"conditions,omitempty"` // The number of instances created by a placement Replicas int32 `json:"replicas"` // The number of instances created by a placement and have the latest // workload generation settings applied. CurrentReplicas int32 `json:"currentReplicas"` // The desired number of instances to be managed by a placement. DesiredReplicas int32 `json:"desiredReplicas"` }
func (*WorkloadPlacementStatus) DeepCopy ¶
func (in *WorkloadPlacementStatus) DeepCopy() *WorkloadPlacementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadPlacementStatus.
func (*WorkloadPlacementStatus) DeepCopyInto ¶
func (in *WorkloadPlacementStatus) DeepCopyInto(out *WorkloadPlacementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadReference ¶
type WorkloadReference struct { // The name of the workload // // +kubebuilder:validation:Required Name string `json:"name"` // UID of the Workload // // +kubebuilder:validation:Required UID types.UID `json:"uid"` }
func (*WorkloadReference) DeepCopy ¶
func (in *WorkloadReference) DeepCopy() *WorkloadReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadReference.
func (*WorkloadReference) DeepCopyInto ¶
func (in *WorkloadReference) DeepCopyInto(out *WorkloadReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadSpec ¶
type WorkloadSpec struct { // Defines settings for each instance. // // +kubebuilder:validation:Required Template InstanceTemplateSpec `json:"template,omitempty"` // Defines where instances should be deployed, and at what scope a deployment // will live in, such as in a city, or region. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 Placements []WorkloadPlacement `json:"placements,omitempty"` // Workload specific gateway // // TODO(jreese) make plural? // // +kubebuilder:validation:Optional Gateway *WorkloadGateway `json:"gateway,omitempty"` }
WorkloadSpec defines the desired state of Workload
func (*WorkloadSpec) DeepCopy ¶
func (in *WorkloadSpec) DeepCopy() *WorkloadSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadSpec.
func (*WorkloadSpec) DeepCopyInto ¶
func (in *WorkloadSpec) DeepCopyInto(out *WorkloadSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadStatus ¶
type WorkloadStatus struct { // Represents the observations of a workload's current state. // Known condition types are: "Available", "Progressing" Conditions []metav1.Condition `json:"conditions,omitempty"` // The number of instances created by a placement Replicas int32 `json:"replicas"` // The number of instances created by a placement and have the latest // workload generation settings applied. CurrentReplicas int32 `json:"currentReplicas"` // The desired number of instances to be managed by a placement. DesiredReplicas int32 `json:"desiredReplicas"` // The current status of placemetns in a workload. Placements []WorkloadPlacementStatus `json:"placements,omitempty"` // The status of the workload gateway if configured. Gateway *WorkloadGatewayStatus `json:"gateway,omitempty"` }
WorkloadStatus defines the observed state of Workload
func (*WorkloadStatus) DeepCopy ¶
func (in *WorkloadStatus) DeepCopy() *WorkloadStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadStatus.
func (*WorkloadStatus) DeepCopyInto ¶
func (in *WorkloadStatus) DeepCopyInto(out *WorkloadStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.