Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group +kubebuilder:object:generate=true +groupName=vpc.dpu.nvidia.com
Index ¶
- Constants
- Variables
- type BridgedNetworkIPAMIPv4Spec
- type BridgedNetworkIPAMSpec
- type BridgedNetworkSpec
- type DPUVPC
- type DPUVPCList
- type DPUVPCSpec
- type DPUVPCStatus
- type DPUVirtualNetwork
- func (in *DPUVirtualNetwork) DeepCopy() *DPUVirtualNetwork
- func (in *DPUVirtualNetwork) DeepCopyInto(out *DPUVirtualNetwork)
- func (in *DPUVirtualNetwork) DeepCopyObject() runtime.Object
- func (vn *DPUVirtualNetwork) GetConditions() []metav1.Condition
- func (vn *DPUVirtualNetwork) GetIPv4Subnet() string
- func (vn *DPUVirtualNetwork) SetConditions(conditions []metav1.Condition)
- type DPUVirtualNetworkList
- type DPUVirtualNetworkSpec
- type DPUVirtualNetworkStatus
- type ExcludeIPsEntry
- type IsolationClass
- type IsolationClassList
- type IsolationClassSpec
- type IsolationClassStatus
- type NetworkType
- type RangeEntry
- type VirtualNetworkStatus
Constants ¶
const ( // DPUVirtualNetworkKind is the kind of the DPUVirtualNetwork object. DPUVirtualNetworkKind = "DPUVirtualNetwork" // DPUVirtualNetworkListKind is the kind of the DPUVirtualNetwork list object. DPUVirtualNetworkListKind = "DPUVirtualNetworkList" )
const ( // ConditionPreReqsReady is a condition that is set when the prerequisites for the DPUVirtualNetwork are ready. ConditionPreReqsReady conditions.ConditionType = "PrerequisitesReady" // ConditionDPUVirtualNetworkReconciled is a condition that is set when the DPUVirtualNetwork is reconciled. ConditionDPUVirtualNetworkReconciled conditions.ConditionType = "DPUVirtualNetworkReconciled" )
Status related constants
const ( // DPUVPCKind is the kind of the DPUVPC object. DPUVPCKind = "DPUVPC" // DPUVPCListKind is the kind of the DPUVPC list object. DPUVPCListKind = "DPUVPCList" )
const ( // ConditionTopologyReconciled is a condition that is set when the network topology for the DPUVPC is reconciled. ConditionTopologyReconciled conditions.ConditionType = "TopologyReconciled" // ConditionDPUVPCReconciled is a condition that is set when the DPUVPC is reconciled. ConditionDPUVPCReconciled conditions.ConditionType = "DPUVPCReconciled" // ConditionDPUNodesReconciled is a condition that is set when the DPU nodes are reconciled. ConditionDPUNodesReconciled conditions.ConditionType = "DPUNodesReconciled" )
Status related constants
const ( // IsolationClassKind is the kind of the IsolationClass object. IsolationClassKind = "IsolationClass" // IsolationClassListKind is the kind of the IsolationClass list object. IsolationClassListKind = "IsolationClassList" // ProvisionerNameLabel is the name of the label that can be used to mark // that the object should be handled by specified provisioner ProvisionerNameLabel = "vpc.dpu.nvidia.com/provisioner" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "vpc.dpu.nvidia.com", 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 )
var ( // DPUVPCConditions are conditions that can be set on a DPUVPC object. DPUVPCConditions = []conditions.ConditionType{ ConditionPreReqsReady, ConditionDPUVPCReconciled, ConditionDPUNodesReconciled, ConditionTopologyReconciled, conditions.TypeReady, } )
var DPUVPCGroupVersionKind = GroupVersion.WithKind(DPUVPCKind)
DPUVPCGroupVersionKind is the GroupVersionKind of the DPUVPC object.
var ( // DPUVirtualNetworkConditions are conditions that can be set on a DPUVirtualNetwork object. DPUVirtualNetworkConditions = []conditions.ConditionType{ ConditionPreReqsReady, ConditionDPUVirtualNetworkReconciled, conditions.TypeReady, } )
var DPUVirtualNetworkGroupVersionKind = GroupVersion.WithKind(DPUVirtualNetworkKind)
DPUVirtualNetworkGroupVersionKind is the GroupVersionKind of the DPUVirtualNetwork object.
var IsolationClassGroupVersionKind = GroupVersion.WithKind(IsolationClassKind)
IsolationClassGroupVersionKind is the GroupVersionKind of the IsolationClass object.
Functions ¶
This section is empty.
Types ¶
type BridgedNetworkIPAMIPv4Spec ¶
type BridgedNetworkIPAMIPv4Spec struct {
// DHCP if set, enables DHCP for the network
// +required
DHCP bool `json:"dhcp"`
// Subnet is the network subnet in CIDR format to use for DHCP. the first IP in the subnet is the gateway.
// +required
Subnet string `json:"subnet"`
// ExcludeIPs are the IPs to exclude from DHCP allocation.
// +optional
ExcludeIPs []ExcludeIPsEntry `json:"excludeIPs,omitempty"`
}
BridgedNetworkIPAMIPv4Spec contains IPv4 IPAM configuration for bridged network
func (*BridgedNetworkIPAMIPv4Spec) DeepCopy ¶
func (in *BridgedNetworkIPAMIPv4Spec) DeepCopy() *BridgedNetworkIPAMIPv4Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BridgedNetworkIPAMIPv4Spec.
func (*BridgedNetworkIPAMIPv4Spec) DeepCopyInto ¶
func (in *BridgedNetworkIPAMIPv4Spec) DeepCopyInto(out *BridgedNetworkIPAMIPv4Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BridgedNetworkIPAMSpec ¶
type BridgedNetworkIPAMSpec struct {
// IPv4 contains the IPv4 IPAM configuration
// +optional
IPv4 *BridgedNetworkIPAMIPv4Spec `json:"ipv4,omitempty"`
}
BridgedNetworkIPAMSpec contains IPAM configuration for bridged network
func (*BridgedNetworkIPAMSpec) DeepCopy ¶
func (in *BridgedNetworkIPAMSpec) DeepCopy() *BridgedNetworkIPAMSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BridgedNetworkIPAMSpec.
func (*BridgedNetworkIPAMSpec) DeepCopyInto ¶
func (in *BridgedNetworkIPAMSpec) DeepCopyInto(out *BridgedNetworkIPAMSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BridgedNetworkSpec ¶
type BridgedNetworkSpec struct {
// IPAM contains the IPAM configuration for the bridged network
// +optional
IPAM *BridgedNetworkIPAMSpec `json:"ipam,omitempty"`
}
BridgedNetworkSpec contains configuration for bridged network
func (*BridgedNetworkSpec) DeepCopy ¶
func (in *BridgedNetworkSpec) DeepCopy() *BridgedNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BridgedNetworkSpec.
func (*BridgedNetworkSpec) DeepCopyInto ¶
func (in *BridgedNetworkSpec) DeepCopyInto(out *BridgedNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUVPC ¶
type DPUVPC struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DPUVPCSpec `json:"spec,omitempty"`
Status DPUVPCStatus `json:"status,omitempty"`
}
DPUVPC is the Schema for the dpuvpc API
func (*DPUVPC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVPC.
func (*DPUVPC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUVPC) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DPUVPC) GetConditions ¶
func (*DPUVPC) SetConditions ¶
type DPUVPCList ¶
type DPUVPCList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DPUVPC `json:"items"`
}
DPUVPCList contains a list of DPUVPC
func (*DPUVPCList) DeepCopy ¶
func (in *DPUVPCList) DeepCopy() *DPUVPCList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVPCList.
func (*DPUVPCList) DeepCopyInto ¶
func (in *DPUVPCList) DeepCopyInto(out *DPUVPCList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUVPCList) DeepCopyObject ¶
func (in *DPUVPCList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DPUVPCSpec ¶
type DPUVPCSpec struct {
// Tenant which owns the VPC.
// +kubebuilder:validation:MinLength=1
// +required
Tenant string `json:"tenant"`
// NodeSelector Selects the DPU Nodes with specific labels which belong to this VPC.
// +optional
NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`
// IsolationClassName is the name of the isolation class to use for the VPC
// +kubebuilder:validation:MinLength=1
// +required
IsolationClassName string `json:"isolationClassName"`
// InterNetworkAccess defines if virtual networks within the VPC are routed or not.
// if set to false, communication between virtual networks is not allowed.
// +required
InterNetworkAccess bool `json:"interNetworkAccess"`
}
DPUVPCSpec defines the desired state of DPUVPCSpec +kubebuilder:validation:XValidation:rule="self.tenant == oldSelf.tenant",message="tenant is immutable" +kubebuilder:validation:XValidation:rule="(!has(self.nodeSelector) && !has(oldSelf.nodeSelector)) || (has(self.nodeSelector) && has(oldSelf.nodeSelector) && self.nodeSelector == oldSelf.nodeSelector)",message="nodeSelector is immutable" +kubebuilder:validation:XValidation:rule="self.isolationClassName == oldSelf.isolationClassName",message="isolationClassName is immutable"
func (*DPUVPCSpec) DeepCopy ¶
func (in *DPUVPCSpec) DeepCopy() *DPUVPCSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVPCSpec.
func (*DPUVPCSpec) DeepCopyInto ¶
func (in *DPUVPCSpec) DeepCopyInto(out *DPUVPCSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUVPCStatus ¶
type DPUVPCStatus struct {
// VirtualNetworks contains the virtual networks that belong to this VPC
// +optional
VirtualNetworks []VirtualNetworkStatus `json:"virtualNetworks,omitempty"`
// Conditions reflect the status of the object
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ObservedGeneration records the Generation observed on the object the last time it was patched.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
DPUVPCStatus defines the observed state of DPUVPC
func (*DPUVPCStatus) DeepCopy ¶
func (in *DPUVPCStatus) DeepCopy() *DPUVPCStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVPCStatus.
func (*DPUVPCStatus) DeepCopyInto ¶
func (in *DPUVPCStatus) DeepCopyInto(out *DPUVPCStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUVirtualNetwork ¶
type DPUVirtualNetwork struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DPUVirtualNetworkSpec `json:"spec,omitempty"`
Status DPUVirtualNetworkStatus `json:"status,omitempty"`
}
DPUVirtualNetwork is the Schema for the dpuvirtualnetwork API
func (*DPUVirtualNetwork) DeepCopy ¶
func (in *DPUVirtualNetwork) DeepCopy() *DPUVirtualNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVirtualNetwork.
func (*DPUVirtualNetwork) DeepCopyInto ¶
func (in *DPUVirtualNetwork) DeepCopyInto(out *DPUVirtualNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUVirtualNetwork) DeepCopyObject ¶
func (in *DPUVirtualNetwork) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DPUVirtualNetwork) GetConditions ¶
func (vn *DPUVirtualNetwork) GetConditions() []metav1.Condition
GetConditions returns the conditions of the DPUVirtualNetwork
func (*DPUVirtualNetwork) GetIPv4Subnet ¶
func (vn *DPUVirtualNetwork) GetIPv4Subnet() string
GetIPv4Subnet returns the IPv4 subnet of the virtual network if present, otherwise an empty string is returned
func (*DPUVirtualNetwork) SetConditions ¶
func (vn *DPUVirtualNetwork) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions of the DPUVirtualNetwork
type DPUVirtualNetworkList ¶
type DPUVirtualNetworkList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DPUVirtualNetwork `json:"items"`
}
DPUVirtualNetworkList contains a list of DPUVirtualNetwork
func (*DPUVirtualNetworkList) DeepCopy ¶
func (in *DPUVirtualNetworkList) DeepCopy() *DPUVirtualNetworkList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVirtualNetworkList.
func (*DPUVirtualNetworkList) DeepCopyInto ¶
func (in *DPUVirtualNetworkList) DeepCopyInto(out *DPUVirtualNetworkList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUVirtualNetworkList) DeepCopyObject ¶
func (in *DPUVirtualNetworkList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DPUVirtualNetworkSpec ¶
type DPUVirtualNetworkSpec struct {
// NodeSelector Selects the DPU Nodes with specific labels which can belong to the virtual network.
// +optional
NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`
// vpcName is the name of the DPUVPC the virtual network belongs within the same namespace.
// +required
VPCName string `json:"vpcName"`
// Type of the virtual network
// +required
Type NetworkType `json:"type"`
// ExternallyRouted defines if the virtual network can be routed externally
// +required
ExternallyRouted bool `json:"externallyRouted"`
// Masquerade defines if the virtual network should masquerade the traffic before egressing to external networks.
// valid only if ExternallyRouted is true
// +optional
// +kubebuilder:default=true
Masquerade *bool `json:"masquerade,omitempty"`
// BridgedNetwork contains the bridged network configuration
// +optional
BridgedNetwork *BridgedNetworkSpec `json:"bridgedNetwork,omitempty"`
}
DPUVirtualNetworkSpec defines the desired state of DPUVirtualNetworkSpec +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DPUVirtualNetwork spec is immutable" +kubebuilder:validation:XValidation:rule="(self.type == 'Bridged' && has(self.bridgedNetwork))", message="for type=Bridged, bridgedNetwork must be set"
func (*DPUVirtualNetworkSpec) DeepCopy ¶
func (in *DPUVirtualNetworkSpec) DeepCopy() *DPUVirtualNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVirtualNetworkSpec.
func (*DPUVirtualNetworkSpec) DeepCopyInto ¶
func (in *DPUVirtualNetworkSpec) DeepCopyInto(out *DPUVirtualNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUVirtualNetworkStatus ¶
type DPUVirtualNetworkStatus struct {
// Conditions reflect the status of the object
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ObservedGeneration records the Generation observed on the object the last time it was patched.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
DPUVirtualNetworkStatus defines the observed state of DPUVirtualNetwork
func (*DPUVirtualNetworkStatus) DeepCopy ¶
func (in *DPUVirtualNetworkStatus) DeepCopy() *DPUVirtualNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVirtualNetworkStatus.
func (*DPUVirtualNetworkStatus) DeepCopyInto ¶
func (in *DPUVirtualNetworkStatus) DeepCopyInto(out *DPUVirtualNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExcludeIPsEntry ¶
type ExcludeIPsEntry struct {
// IP is the IP address to exclude from DHCP allocation. must be part for the virtual network subnet.
// +optional
IP *string `json:"ip,omitempty"`
// Range is the range of IP addresses to exclude from DHCP allocation. must be part for the virtual network subnet.
// +optional
Range *RangeEntry `json:"range,omitempty"`
}
func (*ExcludeIPsEntry) DeepCopy ¶
func (in *ExcludeIPsEntry) DeepCopy() *ExcludeIPsEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExcludeIPsEntry.
func (*ExcludeIPsEntry) DeepCopyInto ¶
func (in *ExcludeIPsEntry) DeepCopyInto(out *ExcludeIPsEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IsolationClass ¶
type IsolationClass struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec IsolationClassSpec `json:"spec,omitempty"`
Status IsolationClassStatus `json:"status,omitempty"`
}
IsolationClass is the Schema for the isolationclass API
func (*IsolationClass) DeepCopy ¶
func (in *IsolationClass) DeepCopy() *IsolationClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IsolationClass.
func (*IsolationClass) DeepCopyInto ¶
func (in *IsolationClass) DeepCopyInto(out *IsolationClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IsolationClass) DeepCopyObject ¶
func (in *IsolationClass) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IsolationClassList ¶
type IsolationClassList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []IsolationClass `json:"items"`
}
IsolationClassList contains a list of IsolationClass
func (*IsolationClassList) DeepCopy ¶
func (in *IsolationClassList) DeepCopy() *IsolationClassList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IsolationClassList.
func (*IsolationClassList) DeepCopyInto ¶
func (in *IsolationClassList) DeepCopyInto(out *IsolationClassList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IsolationClassList) DeepCopyObject ¶
func (in *IsolationClassList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IsolationClassSpec ¶
type IsolationClassSpec struct {
// Provisioner indicates the type of the provisioner.
// +required
Provisioner string `json:"provisioner"`
// Parameters holds the parameters for the provisioner
// +optional
Parameters map[string]string `json:"parameters,omitempty"`
}
IsolationClassSpec defines the configuration of IsolationClass +kubebuilder:validation:XValidation:rule="self.provisioner == oldSelf.provisioner",message="IsolationClass spec.provisioner is immutable"
func (*IsolationClassSpec) DeepCopy ¶
func (in *IsolationClassSpec) DeepCopy() *IsolationClassSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IsolationClassSpec.
func (*IsolationClassSpec) DeepCopyInto ¶
func (in *IsolationClassSpec) DeepCopyInto(out *IsolationClassSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IsolationClassStatus ¶
type IsolationClassStatus struct {
}
IsolationClassStatus defines the status of IsolationClass
func (*IsolationClassStatus) DeepCopy ¶
func (in *IsolationClassStatus) DeepCopy() *IsolationClassStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IsolationClassStatus.
func (*IsolationClassStatus) DeepCopyInto ¶
func (in *IsolationClassStatus) DeepCopyInto(out *IsolationClassStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkType ¶
type NetworkType string
NetworkType represents the type of the virtual network +kubebuilder:validation:Enum=Bridged
const ( // BridgedVirtualNetworkType represents a bridged virtual network BridgedVirtualNetworkType NetworkType = "Bridged" )
type RangeEntry ¶
type RangeEntry struct {
// Start is the start of the IP address range
// +required
Start string `json:"start"`
// End is the end of the IP address range
// +required
End string `json:"end"`
}
RangeEntry contains a range of IP addresses
func (*RangeEntry) DeepCopy ¶
func (in *RangeEntry) DeepCopy() *RangeEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeEntry.
func (*RangeEntry) DeepCopyInto ¶
func (in *RangeEntry) DeepCopyInto(out *RangeEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualNetworkStatus ¶
type VirtualNetworkStatus struct {
// the name of the virtual network
// +required
Name string `json:"name"`
}
VirtualNetworkStatus is the status of a virtual network
func (*VirtualNetworkStatus) DeepCopy ¶
func (in *VirtualNetworkStatus) DeepCopy() *VirtualNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNetworkStatus.
func (*VirtualNetworkStatus) DeepCopyInto ¶
func (in *VirtualNetworkStatus) DeepCopyInto(out *VirtualNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.