v1alpha1

package
v0.1.0-latest-stable Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

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

View Source
const (
	// DPUVirtualNetworkKind is the kind of the DPUVirtualNetwork object.
	DPUVirtualNetworkKind = "DPUVirtualNetwork"
	// DPUVirtualNetworkListKind is the kind of the DPUVirtualNetwork list object.
	DPUVirtualNetworkListKind = "DPUVirtualNetworkList"
)
View Source
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

View Source
const (
	// DPUVPCKind is the kind of the DPUVPC object.
	DPUVPCKind = "DPUVPC"
	// DPUVPCListKind is the kind of the DPUVPC list object.
	DPUVPCListKind = "DPUVPCList"
)
View Source
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

View Source
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

View Source
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
)
View Source
var (
	// DPUVPCConditions are conditions that can be set on a DPUVPC object.
	DPUVPCConditions = []conditions.ConditionType{
		ConditionPreReqsReady,
		ConditionDPUVPCReconciled,
		ConditionDPUNodesReconciled,
		ConditionTopologyReconciled,
		conditions.TypeReady,
	}
)
View Source
var DPUVPCGroupVersionKind = GroupVersion.WithKind(DPUVPCKind)

DPUVPCGroupVersionKind is the GroupVersionKind of the DPUVPC object.

View Source
var (
	// DPUVirtualNetworkConditions are conditions that can be set on a DPUVirtualNetwork object.
	DPUVirtualNetworkConditions = []conditions.ConditionType{
		ConditionPreReqsReady,
		ConditionDPUVirtualNetworkReconciled,
		conditions.TypeReady,
	}
)
View Source
var DPUVirtualNetworkGroupVersionKind = GroupVersion.WithKind(DPUVirtualNetworkKind)

DPUVirtualNetworkGroupVersionKind is the GroupVersionKind of the DPUVirtualNetwork object.

View Source
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

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

func (*BridgedNetworkIPAMIPv4Spec) DeepCopyInto

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

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

func (in *DPUVPC) DeepCopy() *DPUVPC

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

func (*DPUVPC) DeepCopyInto

func (in *DPUVPC) DeepCopyInto(out *DPUVPC)

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

func (*DPUVPC) DeepCopyObject

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

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

func (*DPUVPC) GetConditions

func (c *DPUVPC) GetConditions() []metav1.Condition

func (*DPUVPC) SetConditions

func (c *DPUVPC) SetConditions(conditions []metav1.Condition)

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

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

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

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

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

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.

Jump to

Keyboard shortcuts

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