Skip to content

Latest commit

 

History

History
2727 lines (1372 loc) · 94 KB

api.md

File metadata and controls

2727 lines (1372 loc) · 94 KB

API Reference

Packages

operator.dpu.nvidia.com/v1alpha1

Package v1alpha1 contains API Schema definitions for the operator v1alpha1 API group

Resource Types

DPFOperatorConfig

DPFOperatorConfig is the Schema for the dpfoperatorconfigs API

Appears in:

Field Description Default Validation
apiVersion string operator.dpu.nvidia.com/v1alpha1
kind string DPFOperatorConfig
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPFOperatorConfigSpec
status DPFOperatorConfigStatus

DPFOperatorConfigList

DPFOperatorConfigList contains a list of DPFOperatorConfig

Field Description Default Validation
apiVersion string operator.dpu.nvidia.com/v1alpha1
kind string DPFOperatorConfigList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPFOperatorConfig array

DPFOperatorConfigSpec

DPFOperatorConfigSpec defines the desired state of DPFOperatorConfig

Appears in:

Field Description Default Validation
overrides Overrides
networking Networking { controlPlaneMTU:1500 }
imagePullSecrets string array List of secret names which are used to pull images for DPF system components and DPUServices.
These secrets must be in the same namespace as the DPF Operator Config and should be created before the config is created.
System reconciliation will not proceed until these secrets are available.
dpuServiceController DPUServiceControllerConfiguration DPUServiceController is the configuration for the DPUServiceController
provisioningController ProvisioningControllerConfiguration ProvisioningController is the configuration for the ProvisioningController
serviceSetController ServiceSetControllerConfiguration ServiceSetController is the configuration for the ServiceSetController
dpuDetector DPUDetectorConfiguration DPUDetector is the configuration for the DPUDetector.
multus MultusConfiguration Multus is the configuration for Multus
sriovDevicePlugin SRIOVDevicePluginConfiguration SRIOVDevicePlugin is the configuration for the SRIOVDevicePlugin
flannel FlannelConfiguration Flannel is the configuration for Flannel
ovsCNI OVSCNIConfiguration OVSCNI is the configuration for OVSCNI
nvipam NVIPAMConfiguration NVIPAM is the configuration for NVIPAM
sfcController SFCControllerConfiguration SFCController is the configuration for the SFCController
kamajiClusterManager KamajiClusterManagerConfiguration KamajiClusterManager is the configuration for the kamaji-cluster-manager
staticClusterManager StaticClusterManagerConfiguration StaticClusterManager is the configuration for the static-cluster-manager
ovsHelper OVSHelperConfiguration OVSHelper is the configuration for the OVSHelper

DPFOperatorConfigStatus

DPFOperatorConfigStatus defines the observed state of DPFOperatorConfig

Appears in:

Field Description Default Validation
conditions Condition array Conditions exposes the current state of the OperatorConfig.
observedGeneration integer ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUDetectorCollectors

Appears in:

Field Description Default Validation
psID boolean PSID enables collecting PSID information for DPUs on nodes.

DPUDetectorConfiguration

DPUDetectorConfiguration is the configuration for the DPUDetector Component.

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by the component. Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$
collectors DPUDetectorCollectors Collectors enables or disables specific collectors.

DPUServiceControllerConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by the DPUService controller Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$

FlannelConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
helmChart HelmChart HelmChart overrides the helm chart used by the Flannel
The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
OCI registry or a web-based repository.
Pattern: ^(oci://|https://).+$

HelmChart

Underlying type: string

HelmChart is a reference to a helm chart.

Validation:

  • Pattern: ^(oci://|https://).+$

Appears in:

Image

Underlying type: string

Image is a reference to a container image. Validation is the same as the implementation at https://github.com/containers/image/blob/93fa49b0f1fb78470512e0484012ca7ad3c5c804/docker/reference/regexp.go

Validation:

  • Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]{0,127}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]{32,}))?$

Appears in:

KamajiClusterManagerConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by the HostedControlPlaneManager. Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$

MultusConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by Multus Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$
helmChart HelmChart HelmChart overrides the helm chart used by Multus
The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
OCI registry or a web-based repository.
Pattern: ^(oci://|https://).+$

NVIPAMConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by NVIPAM Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$
helmChart HelmChart HelmChart overrides the helm chart used by NVIPAM
The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
OCI registry or a web-based repository.
Pattern: ^(oci://|https://).+$

Networking

Networking defines the networking configuration for the system components.

Appears in:

Field Description Default Validation
controlPlaneMTU integer ControlPlaneMTU is the MTU value to be set on the management network.
The default is 1500.
1500 Maximum: 9216
Minimum: 0
highSpeedMTU integer HighSpeedMTU is the MTU value to be set on the high-speed interface.
The default is 1500.
1500 Maximum: 9216
Minimum: 0

OVSCNIConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by the OVS CNI Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$
helmChart HelmChart HelmChart overrides the helm chart used by the OVS CNI
The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
OCI registry or a web-based repository.
Pattern: ^(oci://|https://).+$

OVSHelperConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by the OVS Helper Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$
helmChart HelmChart HelmChart overrides the helm chart used by the OVS Helper
The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
OCI registry or a web-based repository.
Pattern: ^(oci://|https://).+$

Overrides

Overrides exposes a set of fields which impact the recommended behavior of the DPF Operator.

Appears in:

Field Description Default Validation
paused boolean Paused disables all reconciliation of the DPFOperatorConfig when set to true.

ProvisioningControllerConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by the Provisioning controller Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$
bfbPVCName string BFBPersistentVolumeClaimName is the name of the PersistentVolumeClaim used by dpf-provisioning-controller MinLength: 1
dmsTimeout integer DMSTimeout is the max time in seconds within which a DMS API must respond, 0 is unlimited Minimum: 1

SFCControllerConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by the SFC Controller Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$
helmChart HelmChart HelmChart overrides the helm chart used by the SFC Controller
The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
OCI registry or a web-based repository.
Pattern: ^(oci://|https://).+$

SRIOVDevicePluginConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by the SRIOV Device Plugin Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$
helmChart HelmChart HelmChart overrides the helm chart used by the SRIOV Device Plugin
The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
OCI registry or a web-based repository.
Pattern: ^(oci://|https://).+$

ServiceSetControllerConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image overrides the container image used by the ServiceSetController Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$
helmChart HelmChart HelmChart overrides the helm chart used by the ServiceSet controller.
The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
OCI registry or a web-based repository.
Pattern: ^(oci://|https://).+$

StaticClusterManagerConfiguration

Appears in:

Field Description Default Validation
disable boolean Disable ensures the component is not deployed when set to true.
image Image Image is the container image used by the StaticControlPlaneManager
Image overrides the container image used by the HostedControlPlaneManager.
Pattern: ^((?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*)(?::([\w][\w.-]\{0,127\}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]\{32,\}))?$

provisioning.dpu.nvidia.com/v1alpha1

Package v1alpha1 contains API Schema definitions for the provisioning.dpu v1alpha1 API group

Resource Types

BFB

BFB is the Schema for the bfbs API

Appears in:

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string BFB
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec BFBSpec
status BFBStatus { phase:Initializing }

BFBList

BFBList contains a list of BFB

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string BFBList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items BFB array

BFBPhase

Underlying type: string

BFBPhase describes current state of BFB CR. Only one of the following state may be specified. Default is Initializing.

Validation:

  • Enum: [Initializing Downloading Ready Deleting Error]

Appears in:

Field Description
Initializing BFB CR is created
Downloading Downloading BFB file
Ready Finished downloading BFB file, ready for DPU to use
Deleting Delete BFB
Error Error happens during BFB downloading

BFBReference

BFBReference is a reference to a specific BFB

Appears in:

Field Description Default Validation
name string Specifies name of the bfb CR to use for this DPU

BFBSpec

BFBSpec defines the content of the BFB

Appears in:

Field Description Default Validation
fileName string Specifies the file name which is used to download the BFB on the volume or
use "namespace-CRD name" in case it is omitted.
Pattern: ^[A-Za-z0-9\_\-\.]+\.bfb$
url string The url of the bfb image to download. Pattern: ^(http|https)://.+\.bfb$

BFBStatus

BFBStatus defines the observed state of BFB

Appears in:

Field Description Default Validation
phase BFBPhase The current state of BFB. Initializing Enum: [Initializing Downloading Ready Deleting Error]

ClusterEndpointSpec

Appears in:

Field Description Default Validation
keepalived KeepalivedSpec Keepalived configures the keepalived that will be deployed for the cluster control-plane

ClusterPhase

Underlying type: string

ClusterPhase describes current state of DPUCluster. Only one of the following state may be specified. Default is Pending.

Validation:

  • Enum: [Pending Creating Ready NotReady Failed]

Appears in:

Field Description
Pending
Creating
Ready
NotReady
Failed

ClusterSpec

Appears in:

Field Description Default Validation
nodeLabels object (keys:string, values:string) NodeLabels specifies the labels to be added to the node.

ConfigFile

Appears in:

Field Description Default Validation
path string Path is the path of the file to be written.
operation DPUFlavorFileOp Operation is the operation to be performed on the file. Enum: [override append]
raw string Raw is the raw content of the file.
permissions string Permissions are the permissions to be set on the file.

ContainerdConfig

Appears in:

Field Description Default Validation
registryEndpoint string RegistryEndpoint is the endpoint of the container registry.

DPU

DPU is the Schema for the dpus API

Appears in:

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string DPU
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUSpec
status DPUStatus { phase:Initializing }

DPUCluster

DPUCluster is the Schema for the dpuclusters API

Appears in:

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string DPUCluster
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUClusterSpec
status DPUClusterStatus { phase:Pending }

DPUClusterList

DPUClusterList contains a list of DPUCluster

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string DPUClusterList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUCluster array

DPUClusterSpec

DPUClusterSpec defines the desired state of DPUCluster

Appears in:

Field Description Default Validation
type string Type of the cluster with few supported values
static - existing cluster that is deployed by user. For DPUCluster of this type, the kubeconfig field must be set.
kamaji - DPF managed cluster. The kamaji-cluster-manager will create a DPU cluster on behalf of this CR.
$(others) - any string defined by ISVs, such type names must start with a prefix.
Pattern: kamaji|static|[^/]+/.*
maxNodes integer MaxNodes is the max amount of node in the cluster 1000 Maximum: 1000
Minimum: 1
version string Version is the K8s control-plane version of the cluster
kubeconfig string Kubeconfig is the secret that contains the admin kubeconfig
clusterEndpoint ClusterEndpointSpec ClusterEndpoint contains configurations of the cluster entry point

DPUClusterStatus

DPUClusterStatus defines the observed state of DPUCluster

Appears in:

Field Description Default Validation
phase ClusterPhase Pending Enum: [Pending Creating Ready NotReady Failed]
conditions Condition array

DPUFLavorSysctl

Appears in:

Field Description Default Validation
parameters string array Parameters are the sysctl parameters to be set.

DPUFlavor

DPUFlavor is the Schema for the dpuflavors API

Appears in:

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string DPUFlavor
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUFlavorSpec

DPUFlavorFileOp

Underlying type: string

DPUFlavorFileOp defines the operation to be performed on the file

Validation:

  • Enum: [override append]

Appears in:

Field Description
override
append

DPUFlavorGrub

Appears in:

Field Description Default Validation
kernelParameters string array KernelParameters are the kernel parameters to be set in the grub configuration.

DPUFlavorList

DPUFlavorList contains a list of DPUFlavor

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string DPUFlavorList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUFlavor array

DPUFlavorNVConfig

Appears in:

Field Description Default Validation
device string Device is the device to which the configuration applies. If not specified, the configuration applies to all.
parameters string array Parameters are the parameters to be set for the device.
hostPowerCycleRequired boolean HostPowerCycleRequired indicates if the host needs to be power cycled after applying the configuration.

DPUFlavorOVS

Appears in:

Field Description Default Validation
rawConfigScript string RawConfigScript is the raw configuration script for OVS.

DPUFlavorSpec

DPUFlavorSpec defines the content of DPUFlavor

Appears in:

Field Description Default Validation
grub DPUFlavorGrub Grub contains the grub configuration for the DPUFlavor.
sysctl DPUFLavorSysctl Sysctl contains the sysctl configuration for the DPUFlavor.
nvconfig DPUFlavorNVConfig array NVConfig contains the configuration for the DPUFlavor.
ovs DPUFlavorOVS OVS contains the OVS configuration for the DPUFlavor.
bfcfgParameters string array BFCfgParameters are the parameters to be set in the bf.cfg file.
configFiles ConfigFile array ConfigFiles are the files to be written on the DPU.
containerdConfig ContainerdConfig ContainerdConfig contains the configuration for containerd.
dpuResources ResourceList DPUResources indicates the minimum amount of resources needed for a BFB with that flavor to be installed on a
DPU. Using this field, the controller can understand if that flavor can be installed on a particular DPU. It
should be set to the total amount of resources the system needs + the resources that should be made available for
DPUServices to consume.
systemReservedResources ResourceList SystemReservedResources indicates the resources that are consumed by the system (OS, OVS, DPF system etc) and are
not made available for DPUServices to consume. DPUServices can consume the difference between DPUResources and
SystemReservedResources. This field must not be specified if dpuResources are not specified.

DPUList

DPUList contains a list of DPU

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string DPUList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPU array

DPUPhase

Underlying type: string

DPUPhase describes current state of DPU. Only one of the following state may be specified. Default is Initializing.

Validation:

  • Enum: [Initializing Node Effect Pending DMS Deployment OS Installing DPU Cluster Config Host Network Configuration Ready Error Deleting Rebooting]

Appears in:

Field Description
Initializing DPUInitializing is the first phase after the DPU is created.
Node Effect DPUNodeEffect means the controller will handle the node effect provided by the user.
Pending DPUPending means the controller is waiting for the BFB to be ready.
DMS Deployment DPUDMSDeployment means the controller will create the DMS pod and proxy pod.
OS Installing DPUOSInstalling means the controller will provision the DPU through the DMS gNOI interface.
DPU Cluster Config DPUClusterConfig means the node configuration and Kubernetes Node join procedure are in progress .
Host Network Configuration DPUHostNetworkConfiguration means the host network configuration is running.
Ready DPUReady means the DPU is ready to use.
Error DPUError means error occurred.
Deleting DPUDeleting means the DPU CR will be deleted, controller will do some cleanup works.
Rebooting DPURebooting means the host of DPU is rebooting.

DPUSet

DPUSet is the Schema for the dpusets API

Appears in:

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string DPUSet
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUSetSpec
status DPUSetStatus

DPUSetList

DPUSetList contains a list of DPUSet

Field Description Default Validation
apiVersion string provisioning.dpu.nvidia.com/v1alpha1
kind string DPUSetList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUSet array

DPUSetSpec

DPUSetSpec defines the desired state of DPUSet

Appears in:

Field Description Default Validation
strategy DPUSetStrategy The rolling update strategy to use to updating existing DPUs with new ones.
nodeSelector LabelSelector Select the Nodes with specific labels
dpuSelector object (keys:string, values:string) Select the DPU with specific labels
dpuTemplate DPUTemplate Object that describes the DPU that will be created if insufficient replicas are detected

DPUSetStatus

DPUSetStatus defines the observed state of DPUSet

Appears in:

Field Description Default Validation
dpuStatistics object (keys:DPUPhase, values:integer) DPUStatistics is a map of DPUPhase to the number of DPUs in that phase.

DPUSetStrategy

Appears in:

Field Description Default Validation
type StrategyType Can be "Recreate" or "RollingUpdate". Recreate Enum: [Recreate RollingUpdate]
rollingUpdate RollingUpdateDPU Rolling update config params. Present only if StrategyType = RollingUpdate.

DPUSpec

DPUSpec defines the desired state of DPU

Appears in:

Field Description Default Validation
nodeName string Specifies Node this DPU belongs to
bfb string Specifies name of the bfb CR to use for this DPU
pciAddress string The PCI device related DPU
nodeEffect NodeEffect Specifies how changes to the DPU should affect the Node { drain:map[automaticNodeReboot:true] }
cluster K8sCluster Specifies details on the K8S cluster to join
dpuFlavor string DPUFlavor is the name of the DPUFlavor that will be used to deploy the DPU.
automaticNodeReboot boolean Specifies if the DPU controller should automatically reboot the node on upgrades,
this field is intended for advanced cases that don’t use draining but want to reboot the host based with custom logic
true

DPUStatus

DPUStatus defines the observed state of DPU

Appears in:

Field Description Default Validation
phase DPUPhase The current state of DPU. Initializing Enum: [Initializing Node Effect Pending DMS Deployment OS Installing DPU Cluster Config Host Network Configuration Ready Error Deleting Rebooting]
conditions Condition array
bfbVersion string bfb version of this DPU
pciDevice string pci device information of this DPU
requiredReset boolean whether require reset of DPU
firmware Firmware the firmware information of DPU

DPUTemplate

DPUTemplate is a template for DPU

Appears in:

Field Description Default Validation
annotations object (keys:string, values:string) Annotations specifies annotations which are added to the DPU.
spec DPUTemplateSpec Spec specifies the DPU specification.

DPUTemplateSpec

Appears in:

Field Description Default Validation
bfb BFBReference Specifies a BFB CR
nodeEffect NodeEffect Specifies how changes to the DPU should affect the Node { drain:map[automaticNodeReboot:true] }
cluster ClusterSpec Specifies details on the K8S cluster to join
dpuFlavor string DPUFlavor is the name of the DPUFlavor that will be used to deploy the DPU.
automaticNodeReboot boolean Specifies if the DPU controller should automatically reboot the node on upgrades,
this field is intended for advanced cases that don’t use draining but want to reboot the host based with custom logic
true

Drain

Drain the K8s host node by NodeMaintenance operator

Appears in:

Field Description Default Validation
automaticNodeReboot boolean Specifies if the DPU controller should automatically reboot the node on upgrades true

Firmware

Appears in:

Field Description Default Validation
bmc string BMC is the used BMC firmware version
nic string NIC is the used NIC firmware version
uefi string UEFI is the used UEFI firmware version

K8sCluster

Appears in:

Field Description Default Validation
name string Name is the name of the DPUs Kubernetes cluster
namespace string Namespace is the tenants namespace name where the Kubernetes cluster will be deployed
nodeLabels object (keys:string, values:string) NodeLabels define the labels that will be added to the nodes.

KeepalivedSpec

Appears in:

Field Description Default Validation
vip string VIP is the virtual IP owned by the keepalived instances
virtualRouterID integer VirtualRouterID is the virtual_router_id in keepalived.conf Maximum: 255
Minimum: 1
interface string Interface specifies on which interface the VIP should be assigned MinLength: 1
nodeSelector object (keys:string, values:string) NodeSelector is used to specify a subnet of control plane nodes to deploy keepalived instances.
Note: keepalived instances are always deployed on control plane nodes

NodeEffect

Appears in:

Field Description Default Validation
taint Taint Add specify taint on the DPU node
noEffect boolean Do not do any action on the DPU node
customLabel object (keys:string, values:string) Add specify labels on the DPU node
drain Drain Drain the K8s host node by NodeMaintenance operator

RollingUpdateDPU

RollingUpdateDPU is the rolling update strategy for a DPUSet.

Appears in:

Field Description Default Validation
maxUnavailable IntOrString MaxUnavailable is the maximum number of DPUs that can be unavailable during the update.

StrategyType

Underlying type: string

StrategyType describes strategy to use to reprovision existing DPUs. Default is "Recreate".

Validation:

  • Enum: [Recreate RollingUpdate]

Appears in:

Field Description
Recreate Delete all the existing DPUs before creating new ones.
RollingUpdate Gradually scale down the old DPUs and scale up the new one.

svc.dpu.nvidia.com/v1alpha1

Package v1alpha1 contains API Schema definitions for the svc.dpf v1alpha1 API group

Package v1alpha1 contains API Schema definitions for the sfc v1alpha1 API group

Resource Types

ApplicationSource

ApplicationSource specifies the source of the Helm chart.

Appears in:

Field Description Default Validation
repoURL string RepoURL specifies the URL to the repository that contains the application Helm chart.
The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
OCI registry or a web-based repository.
Pattern: ^(oci://|https://).+$
path string Path is the location of the chart inside the repo.
version string Version is a semver tag for the Chart's version. MinLength: 1
chart string Chart is the name of the helm chart.
releaseName string ReleaseName is the name to give to the release generate from the DPUService.

DPUDeployment

DPUDeployment is the Schema for the dpudeployments API. This object connects DPUServices with specific BFBs and DPUServiceChains.

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUDeployment
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUDeploymentSpec
status DPUDeploymentStatus

DPUDeploymentList

DPUDeploymentList contains a list of DPUDeployment

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUDeploymentList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUDeployment array

DPUDeploymentPort

DPUDeploymentPort defines how a port can be configured

Appears in:

Field Description Default Validation
service DPUDeploymentService Service holds configuration that helps configure the Service Function Chain and identify a port associated with
a DPUService
serviceInterface ServiceIfc ServiceInterface holds configuration that helps configure the Service Function Chain and identify a user defined
port

DPUDeploymentService

DPUDeploymentService is the struct used for referencing an interface.

Appears in:

Field Description Default Validation
name string Name is the name of the service as defined in the DPUDeployment Spec
interface string Interface name is the name of the interface as defined in the DPUServiceTemplate
ipam IPAM IPAM defines the IPAM configuration that is configured in the Service Function Chain

DPUDeploymentServiceConfiguration

DPUDeploymentServiceConfiguration describes the configuration of a particular Service

Appears in:

Field Description Default Validation
serviceTemplate string ServiceTemplate is the name of the DPUServiceTemplate object to be used for this Service. It must be in the same
namespace as the DPUDeployment.
serviceConfiguration string ServiceConfiguration is the name of the DPUServiceConfiguration object to be used for this Service. It must be
in the same namespace as the DPUDeployment.

DPUDeploymentSpec

DPUDeploymentSpec defines the desired state of DPUDeployment

Appears in:

Field Description Default Validation
dpus DPUs DPUs contains the DPU related configuration
services object (keys:string, values:DPUDeploymentServiceConfiguration) Services contains the DPUDeploymentService related configuration. The key is the deploymentServiceName and the value is its
configuration. All underlying objects must specify the same deploymentServiceName in order to be able to be consumed by the
DPUDeployment.
serviceChains DPUDeploymentSwitch array ServiceChains contains the configuration related to the DPUServiceChains that the DPUDeployment creates. MaxItems: 50
MinItems: 1

DPUDeploymentStatus

DPUDeploymentStatus defines the observed state of DPUDeployment

Appears in:

Field Description Default Validation
conditions Condition array Conditions reflect the status of the object
observedGeneration integer ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUDeploymentSwitch

DPUDeploymentSwitch holds the ports that are connected in switch topology

Appears in:

Field Description Default Validation
ports DPUDeploymentPort array Ports contains the ports of the switch MaxItems: 50
MinItems: 1

DPUService

DPUService is the Schema for the dpuservices API

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUService
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUServiceSpec
status DPUServiceStatus

DPUServiceChain

DPUServiceChain is the Schema for the DPUServiceChain API

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceChain
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUServiceChainSpec
status DPUServiceChainStatus

DPUServiceChainList

DPUServiceChainList contains a list of DPUServiceChain

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceChainList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUServiceChain array

DPUServiceChainSpec

DPUServiceChainSpec defines the desired state of DPUServiceChainSpec

Appears in:

Field Description Default Validation
clusterSelector LabelSelector Select the Clusters with specific labels, ServiceChainSet CRs will be created only for these Clusters
template ServiceChainSetSpecTemplate Template describes the ServiceChainSet that will be created for each selected Cluster.

DPUServiceChainStatus

DPUServiceChainStatus defines the observed state of DPUServiceChain

Appears in:

Field Description Default Validation
conditions Condition array Conditions reflect the status of the object
observedGeneration integer ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUServiceConfiguration

DPUServiceConfiguration is the Schema for the dpuserviceconfigurations API. This object is intended to be used in conjunction with a DPUDeployment object. This object is the template from which the DPUService will be created. It contains all configuration options from the user to be provided to the service itself via the helm chart values. This object doesn't allow configuration of nodeSelector and resources in purpose as these are delegated to the DPUDeployment and DPUServiceTemplate accordingly.

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceConfiguration
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUServiceConfigurationSpec
status DPUServiceConfigurationStatus

DPUServiceConfigurationList

DPUServiceConfigurationList contains a list of DPUServiceConfiguration

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceConfigurationList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUServiceConfiguration array

DPUServiceConfigurationServiceDaemonSetValues

DPUServiceConfigurationServiceDaemonSetValues reflects the Helm related configuration

Appears in:

Field Description Default Validation
labels object (keys:string, values:string) Labels specifies labels which are added to the ServiceDaemonSet.
annotations object (keys:string, values:string) Annotations specifies annotations which are added to the ServiceDaemonSet.

DPUServiceConfigurationSpec

DPUServiceConfigurationSpec defines the desired state of DPUServiceConfiguration

Appears in:

Field Description Default Validation
deploymentServiceName string DeploymentServiceName is the name of the DPU service this configuration refers to. It must match
.spec.deploymentServiceName of a DPUServiceTemplate object and one of the keys in .spec.services of a
DPUDeployment object.
serviceConfiguration ServiceConfiguration ServiceConfiguration contains fields that are configured on the generated DPUService.
interfaces ServiceInterfaceTemplate array Interfaces specifies the DPUServiceInterface to be generated for the generated DPUService. MaxItems: 50
MinItems: 1

DPUServiceConfigurationStatus

DPUServiceConfigurationStatus defines the observed state of DPUServiceConfiguration

Appears in:

DPUServiceCredentialRequest

DPUServiceCredentialRequest is the Schema for the dpuserviceCredentialRequests API

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceCredentialRequest
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUServiceCredentialRequestSpec
status DPUServiceCredentialRequestStatus

DPUServiceCredentialRequestList

DPUServiceCredentialRequestList contains a list of DPUServiceCredentialRequest

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceCredentialRequestList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUServiceCredentialRequest array

DPUServiceCredentialRequestSpec

DPUServiceCredentialRequestSpec defines the desired state of DPUServiceCredentialRequest

Appears in:

Field Description Default Validation
serviceAccount NamespacedName ServiceAccount defines the needed information to create the service account.
duration Duration Duration is the duration for which the token will be valid.
Value must be in units accepted by Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration.
e.g. "1h", "1m", "1s", "1ms", "1.5h", "2h45m".
Value duration must not be less than 10 minutes.
Note: The maximum TTL for a token is 24 hours, after which the token
will be rotated.
Pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
Type: string
targetCluster NamespacedName TargetCluster defines the target cluster where the service account will
be created, and where a token for that service account will be requested.
If not provided, the token will be requested for the same cluster where
the DPUServiceCredentialRequest object is created.
type string Type is the type of the secret that will be created.
The supported types are kubeconfig and tokenFile.
If kubeconfig is selected, the secret will contain a kubeconfig file,
that can be used to access the cluster.
If tokenFile is selected, the secret will contain a token file and serveral
environment variables that can be used to access the cluster. It can be used
with https://github.com/kubernetes/client-go/blob/v11.0.0/rest/config.go#L52
to create a client that will hanle file rotation.
Enum: [kubeconfig tokenFile]
secret NamespacedName Secret defines the needed information to create the secret.
The secret will be of the type specified in the spec.type field.
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.

DPUServiceCredentialRequestStatus

DPUServiceCredentialRequestStatus defines the observed state of DPUServiceCredentialRequest

Appears in:

Field Description Default Validation
conditions Condition array Conditions defines current service state.
serviceAccount string ServiceAccount is the namespaced name of the ServiceAccount resource created by
the controller for the DPUServiceCredentialRequest.
targetCluster string TargetCluster is the cluster where the service account was created.
It has to be persisted in the status to be able to delete the service account
when the DPUServiceCredentialRequest is updated.
expirationTimestamp Time ExpirationTimestamp is the time when the token will expire.
issuedAt Time IssuedAt is the time when the token was issued.
secret string Sercet is the namespaced name of the Secret resource created by the controller for
the DPUServiceCredentialRequest.

DPUServiceIPAM

DPUServiceIPAM is the Schema for the dpuserviceipams API

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceIPAM
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUServiceIPAMSpec
status DPUServiceIPAMStatus

DPUServiceIPAMList

DPUServiceIPAMList contains a list of DPUServiceIPAM

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceIPAMList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUServiceIPAM array

DPUServiceIPAMSpec

DPUServiceIPAMSpec defines the desired state of DPUServiceIPAM

Appears in:

Field Description Default Validation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
ipv4Network IPV4Network IPV4Network is the configuration related to splitting a network into subnets per node, each with their own gateway.
ipv4Subnet IPV4Subnet IPV4Subnet is the configuration related to splitting a subnet into blocks per node. In this setup, there is a
single gateway.
clusterSelector LabelSelector ClusterSelector determines in which clusters the DPUServiceIPAM controller should apply the configuration.
nodeSelector NodeSelector NodeSelector determines in which DPU nodes the DPUServiceIPAM controller should apply the configuration.

DPUServiceIPAMStatus

DPUServiceIPAMStatus defines the observed state of DPUServiceIPAM

Appears in:

Field Description Default Validation
conditions Condition array Conditions reflect the status of the object
observedGeneration integer ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUServiceInterface

DPUServiceInterface is the Schema for the DPUServiceInterface API

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceInterface
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUServiceInterfaceSpec
status DPUServiceInterfaceStatus

DPUServiceInterfaceList

DPUServiceInterfaceList contains a list of DPUServiceInterface

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceInterfaceList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUServiceInterface array

DPUServiceInterfaceSpec

DPUServiceInterfaceSpec defines the desired state of DPUServiceInterfaceSpec

Appears in:

Field Description Default Validation
clusterSelector LabelSelector Select the Clusters with specific labels, ServiceInterfaceSet CRs will be created only for these Clusters
template ServiceInterfaceSetSpecTemplate Template describes the ServiceInterfaceSet that will be created for each selected Cluster.

DPUServiceInterfaceStatus

DPUServiceInterfaceStatus defines the observed state of DPUServiceInterface

Appears in:

Field Description Default Validation
conditions Condition array Conditions defines current service state.
observedGeneration integer ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUServiceList

DPUServiceList contains a list of DPUService

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUService array

DPUServiceSpec

DPUServiceSpec defines the desired state of DPUService

Appears in:

Field Description Default Validation
helmChart HelmChart HelmChart reflects the Helm related configuration
serviceID string ServiceID is the ID of the service that the DPUService is associated with.
serviceDaemonSet ServiceDaemonSetValues ServiceDaemonSet specifies the configuration for the ServiceDaemonSet.
deployInCluster boolean DeployInCluster indicates if the DPUService Helm Chart will be deployed on
the Host cluster. Default to false.
interfaces string array Interfaces specifies the DPUServiceInterface names that the DPUService
uses in the same namespace.
MaxItems: 50
MinItems: 1
paused boolean Paused indicates that the DPUService is paused.
Underlying resources are also paused when this is set to true.
No deletion of resources will occur when this is set to true.

DPUServiceStatus

DPUServiceStatus defines the observed state of DPUService

Appears in:

Field Description Default Validation
conditions Condition array Conditions defines current service state.
observedGeneration integer ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUServiceTemplate

DPUServiceTemplate is the Schema for the DPUServiceTemplate API. This object is intended to be used in conjunction with a DPUDeployment object. This object is the template from which the DPUService will be created. It contains configuration options related to resources required by the service to be deployed. The rest of the configuration options must be defined in a DPUServiceConfiguration object.

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceTemplate
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DPUServiceTemplateSpec
status DPUServiceTemplateStatus

DPUServiceTemplateList

DPUServiceTemplateList contains a list of DPUServiceTemplate

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string DPUServiceTemplateList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DPUServiceTemplate array

DPUServiceTemplateSpec

DPUServiceTemplateSpec defines the desired state of DPUServiceTemplate

Appears in:

Field Description Default Validation
deploymentServiceName string DeploymentServiceName is the name of the DPU service this configuration refers to. It must match
.spec.deploymentServiceName of a DPUServiceConfiguration object and one of the keys in .spec.services of a
DPUDeployment object.
helmChart HelmChart HelmChart reflects the Helm related configuration. The user is supposed to configure the values that are static
across any DPUServiceConfiguration used with this DPUServiceTemplate in a DPUDeployment. These values act as a
baseline and are merged with values specified in the DPUServiceConfiguration. In case of conflict, the
DPUServiceConfiguration values take precedence.
resourceRequirements ResourceList ResourceRequirements contains the overall resources required by this particular service to run on a single node

DPUServiceTemplateStatus

DPUServiceTemplateStatus defines the observed state of DPUServiceTemplate

Appears in:

DPUSet

DPUSet contains configuration for the DPUSet to be created by the DPUDeployment

Appears in:

Field Description Default Validation
nameSuffix string NameSuffix is the suffix to be added to the name of the DPUSet object created by the DPUDeployment. MaxLength: 63
MinLength: 1
nodeSelector LabelSelector NodeSelector defines the nodes that the DPUSet should target
dpuSelector object (keys:string, values:string) DPUSelector defines the DPUs that the DPUSet should target
dpuAnnotations object (keys:string, values:string) DPUAnnotations is the annotations to be added to the DPU object created by the DPUSet.

DPUs

DPUs contains the DPU related configuration

Appears in:

Field Description Default Validation
bfb string BFB is the name of the BFB object to be used in this DPUDeployment. It must be in the same namespace as the
DPUDeployment.
flavor string Flavor is the name of the DPUFlavor object to be used in this DPUDeployment. It must be in the same namespace as
the DPUDeployment.
dpuSets DPUSet array DPUSets contains configuration for each DPUSet that is going to be created by the DPUDeployment MaxItems: 50
MinItems: 1

HelmChart

HelmChart reflects the helm related configuration

Appears in:

Field Description Default Validation
source ApplicationSource Source specifies information about the Helm chart
values RawExtension Values specifies Helm values to be passed to Helm template, defined as a map. This takes precedence over Values.

IPAM

IPAM defines the IPAM configuration

Appears in:

Field Description Default Validation
matchLabels object (keys:string, values:string) Labels matching service IPAM MaxProperties: 50
MinProperties: 1
defaultGateway boolean DefaultGateway adds gateway as default gateway in the routes list if true.
setDefaultRoute boolean SetDefaultRoute adds a default route to the routing table if true.

IPV4Network

IPV4Network describes the configuration relevant to splitting a network into subnet per node (i.e. different gateway and broadcast IP per node).

Appears in:

Field Description Default Validation
network string Network is the CIDR from which subnets should be allocated per node.
gatewayIndex integer GatewayIndex determines which IP in the subnet extracted from the CIDR should be the gateway IP. For point to
point networks (/31), one needs to leave this empty to make use of both the IPs.
prefixSize integer PrefixSize is the size of the subnet that should be allocated per node.
exclusions string array Exclusions is a list of IPs that should be excluded when splitting the CIDR into subnets per node.
allocations object (keys:string, values:string) Allocations describes the subnets that should be assigned in each DPU node.
defaultGateway boolean DefaultGateway adds gateway as default gateway in the routes list if true.
routes Route array Routes is the static routes list using the gateway specified in the spec.

IPV4Subnet

IPV4Subnet describes the configuration relevant to splitting a subnet to a subnet block per node (i.e. same gateway and broadcast IP across all nodes).

Appears in:

Field Description Default Validation
subnet string Subnet is the CIDR from which blocks should be allocated per node
gateway string Gateway is the IP in the subnet that should be the gateway of the subnet.
perNodeIPCount integer PerNodeIPCount is the number of IPs that should be allocated per node.
defaultGateway boolean if true, add gateway as default gateway in the routes list
DefaultGateway adds gateway as default gateway in the routes list if true.
routes Route array Routes is the static routes list using the gateway specified in the spec.

NamespacedName

NamespacedName contains enough information to locate the referenced Kubernetes resource object in any namespace.

Appears in:

Field Description Default Validation
name string Name of the object.
namespace string Namespace of the object, if not provided the object will be looked up in
the same namespace as the referring object

ObjectMeta

ObjectMeta holds metadata like labels and annotations.

Appears in:

Field Description Default Validation
labels object (keys:string, values:string) Labels is a map of string keys and values.
annotations object (keys:string, values:string) Annotations is a map of string keys and values.

PF

PF defines the PF configuration

Appears in:

Field Description Default Validation
pfID integer The PF ID

Physical

Physical Identifies a physical interface

Appears in:

Field Description Default Validation
interfaceName string The interface name

Port

Port defines the port configuration

Appears in:

Field Description Default Validation
serviceInterface ServiceIfc

Route

Route contains static route parameters

Appears in:

Field Description Default Validation
dst string The destination of the route, in CIDR notation

ServiceChain

ServiceChain is the Schema for the servicechains API

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string ServiceChain
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ServiceChainSpec
status ServiceChainStatus

ServiceChainList

ServiceChainList contains a list of ServiceChain

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string ServiceChainList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ServiceChain array

ServiceChainSet

ServiceChainSet is the Schema for the servicechainsets API

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string ServiceChainSet
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ServiceChainSetSpec
status ServiceChainSetStatus

ServiceChainSetList

ServiceChainSetList contains a list of ServiceChainSet

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string ServiceChainSetList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ServiceChainSet array

ServiceChainSetSpec

ServiceChainSetSpec defines the desired state of ServiceChainSet

Appears in:

Field Description Default Validation
nodeSelector LabelSelector Select the Nodes with specific labels, ServiceChain CRs will be created
only for these Nodes
template ServiceChainSpecTemplate ServiceChainSpecTemplate holds the template for the ServiceChainSpec

ServiceChainSetSpecTemplate

ServiceChainSetSpecTemplate describes the data a ServiceChainSet should have when created from a template.

Appears in:

Field Description Default Validation
spec ServiceChainSetSpec
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.

ServiceChainSetStatus

ServiceChainSetStatus defines the observed state of ServiceChainSet

Appears in:

Field Description Default Validation
conditions Condition array Conditions reflect the status of the object
observedGeneration integer ObservedGeneration records the Generation observed on the object the last time it was patched.
numberApplied integer The number of nodes where the service chain is applied and is supposed to be applied.
numberReady integer The number of nodes where the service chain is applied and ready.

ServiceChainSpec

ServiceChainSpec defines the desired state of ServiceChain

Appears in:

Field Description Default Validation
node string Node where this ServiceChain applies to
switches Switch array The switches of the ServiceChain, order is significant MaxItems: 50
MinItems: 1

ServiceChainSpecTemplate

ServiceChainSpecTemplate defines the template from which ServiceChainSpecs are created

Appears in:

Field Description Default Validation
spec ServiceChainSpec ServiceChainSpec is the spec for the ServiceChainSpec
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.

ServiceChainStatus

ServiceChainStatus defines the observed state of ServiceChain

Appears in:

ServiceConfiguration

ServiceConfiguration contains fields that are configured on the generated DPUService.

Appears in:

Field Description Default Validation
helmChart ServiceConfigurationHelmChart HelmChart reflects the Helm related configuration. The user is supposed to configure values specific to that
DPUServiceConfiguration used in a DPUDeployment and should not specify values that could be shared across multiple
DPUDeployments using different DPUServiceConfigurations. These values are merged with values specified in the
DPUServiceTemplate. In case of conflict, the DPUServiceConfiguration values take precedence.
serviceDaemonSet DPUServiceConfigurationServiceDaemonSetValues ServiceDaemonSet contains settings related to the underlying DaemonSet that is part of the Helm chart
deployInCluster boolean TODO: Add nodeEffect
DeployInCluster indicates if the DPUService Helm Chart will be deployed on the Host cluster. Default to false.

ServiceConfigurationHelmChart

ServiceConfigurationHelmChart reflects the helm related configuration

Appears in:

Field Description Default Validation
values RawExtension Values specifies Helm values to be passed to Helm template, defined as a map. This takes precedence over Values.

ServiceDaemonSetValues

ServiceDaemonSetValues specifies the configuration for the ServiceDaemonSet.

Appears in:

Field Description Default Validation
nodeSelector NodeSelector NodeSelector specifies which Nodes to deploy the ServiceDaemonSet to.
updateStrategy DaemonSetUpdateStrategy UpdateStrategy specifies the DeaemonSet update strategy for the ServiceDaemonset.
labels object (keys:string, values:string) Labels specifies labels which are added to the ServiceDaemonSet.
annotations object (keys:string, values:string) Annotations specifies annotations which are added to the ServiceDaemonSet.

ServiceDef

ServiceDef Identifes the service and network for the ServiceInterface

Appears in:

Field Description Default Validation
serviceID string ServiceID is the DPU Service Identifier
network string Network is the Network Attachment Definition in the form of "namespace/name"
or just "name" if the namespace is the same as the ServiceInterface.
interfaceName string The interface name

ServiceIfc

ServiceIfc defines the service interface configuration

Appears in:

Field Description Default Validation
matchLabels object (keys:string, values:string) Labels matching service interface MaxProperties: 50
MinProperties: 1
ipam IPAM IPAM defines the IPAM configuration when referencing a serviceInterface of type 'service'

ServiceInterface

ServiceInterface is the Schema for the serviceinterfaces API

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string ServiceInterface
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ServiceInterfaceSpec
status ServiceInterfaceStatus

ServiceInterfaceList

ServiceInterfaceList contains a list of ServiceInterface

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string ServiceInterfaceList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ServiceInterface array

ServiceInterfaceSet

ServiceInterfaceSet is the Schema for the serviceinterfacesets API

Appears in:

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string ServiceInterfaceSet
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ServiceInterfaceSetSpec
status ServiceInterfaceSetStatus

ServiceInterfaceSetList

ServiceInterfaceSetList contains a list of ServiceInterfaceSet

Field Description Default Validation
apiVersion string svc.dpu.nvidia.com/v1alpha1
kind string ServiceInterfaceSetList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ServiceInterfaceSet array

ServiceInterfaceSetSpec

ServiceInterfaceSetSpec defines the desired state of ServiceInterfaceSet

Appears in:

Field Description Default Validation
nodeSelector LabelSelector Select the Nodes with specific labels, ServiceInterface CRs will be
created only for these Nodes
template ServiceInterfaceSpecTemplate Template holds the template for the erviceInterfaceSpec

ServiceInterfaceSetSpecTemplate

ServiceInterfaceSetSpecTemplate describes the data a ServiceInterfaceSet should have when created from a template.

Appears in:

Field Description Default Validation
spec ServiceInterfaceSetSpec
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.

ServiceInterfaceSetStatus

ServiceInterfaceSetStatus defines the observed state of ServiceInterfaceSet

Appears in:

Field Description Default Validation
conditions Condition array Conditions reflect the status of the object
observedGeneration integer ObservedGeneration records the Generation observed on the object the last time it was patched.
numberApplied integer The number of nodes where the service chain is applied and is supposed to be applied.
numberReady integer The number of nodes where the service chain is applied and ready.

ServiceInterfaceSpec

ServiceInterfaceSpec defines the desired state of ServiceInterface

Appears in:

Field Description Default Validation
node string Node where this interface exists
interfaceType string The interface type ("vlan", "physical", "pf", "vf", "ovn", "service") Enum: [vlan physical pf vf ovn service]
physical Physical The physical interface definition
vlan VLAN The VLAN definition
vf VF The VF definition
pf PF The PF definition
service ServiceDef The Service definition

ServiceInterfaceSpecTemplate

ServiceInterfaceSpecTemplate defines the template from which ServiceInterfaceSpecs are created

Appears in:

Field Description Default Validation
spec ServiceInterfaceSpec ServiceInterfaceSpec is the spec for the ServiceInterfaceSpec
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.

ServiceInterfaceStatus

ServiceInterfaceStatus defines the observed state of ServiceInterface

Appears in:

ServiceInterfaceTemplate

ServiceInterfaceTemplate contains the information related to an interface of the DPUService

Appears in:

Field Description Default Validation
name string Name is the name of the interface
network string Network is the Network Attachment Definition in the form of "namespace/name"
or just "name" if the namespace is the same as the namespace the pod is running.

Switch

Switch defines the switch configuration

Appears in:

Field Description Default Validation
ports Port array Ports of the switch MaxItems: 50
MinItems: 1

VF

VF defines the VF configuration

Appears in:

Field Description Default Validation
vfID integer The VF ID
pfID integer The PF ID
parentInterfaceRef string The parent interface reference
TODO: Figure out what this field is supposed to be

VLAN

VLAN defines the VLAN configuration

Appears in:

Field Description Default Validation
vlanID integer The VLAN ID
parentInterfaceRef string The parent interface reference
TODO: Figure out what this field is supposed to be