DOCA Platform Framework (DPF) Documentation

API reference

API Reference

Packages

noderesources.dpu.nvidia.com/v1alpha1

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

Resource Types

DevicePluginResource

DevicePluginResource defines a single device plugin resource configuration.

Appears in:

Field

Description

Default

Validation

namestring

Name is the endpoint resource name for the device plugin.
Should contain only alphanumeric characters, underscores and hyphens.
The full extended resource name will be constructed as resource-prefix/name.
Example: pods_vf, ovnk_mgmt_vf

MinLength: 1
Pattern: ^[a-zA-Z0-9_-]+$
Required: {}

resourcePrefixstring

ResourcePrefix is the resource prefix used by the device plugin to prefix the resource name.
If not set, the default resource prefix will be used.

Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
Optional: {}

typeDevicePluginResourceType

Type specifies the type of the device plugin resource.

Enum: [vf]
Required: {}

optionsDevicePluginResourceOptions

Options contains additional options for the device plugin resource.

Optional: {}

rangesVFRange array

Ranges specifies the VF ranges on PFs to be included in this resource.

MinItems: 1
Required: {}

DevicePluginResourceOptions

DevicePluginResourceOptions contains additional options for a device plugin resource.

Appears in:

Field

Description

Default

Validation

isRdmaboolean

IsRdma indicates whether RDMA is enabled for this resource.

Optional: {}

DevicePluginResourceType

Underlying type:string

DevicePluginResourceType specifies the type of the device plugin resource.

Validation:

  • Enum: [vf]

Appears in:

Field

Description

vf

DevicePluginResourceTypeVF represents a Virtual Function resource.

NodeSRIOVDevicePluginConfig

NodeSRIOVDevicePluginConfig is the Schema for the nodesriovdevicepluginconfigs API

Appears in:

Field

Description

Default

Validation

apiVersionstring

noderesources.dpu.nvidia.com/v1alpha1

kindstring

NodeSRIOVDevicePluginConfig

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specNodeSRIOVDevicePluginConfigSpec

statusNodeSRIOVDevicePluginConfigStatus

NodeSRIOVDevicePluginConfigList

NodeSRIOVDevicePluginConfigList contains a list of NodeSRIOVDevicePluginConfig

Field

Description

Default

Validation

apiVersionstring

noderesources.dpu.nvidia.com/v1alpha1

kindstring

NodeSRIOVDevicePluginConfigList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsNodeSRIOVDevicePluginConfig array

NodeSRIOVDevicePluginConfigSpec

NodeSRIOVDevicePluginConfigSpec defines the desired state of NodeSRIOVDevicePluginConfig

Appears in:

Field

Description

Default

Validation

devicePluginResourcesDevicePluginResource array

DevicePluginResources is the list of device plugin resource configurations.

MinItems: 1
Required: {}

NodeSRIOVDevicePluginConfigStatus

NodeSRIOVDevicePluginConfigStatus defines the observed state of NodeSRIOVDevicePluginConfig

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions exposes the current state of the NodeSRIOVDevicePluginConfig.

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

VFRange

VFRange defines a range of Virtual Functions on a Physical Function.

Appears in:

Field

Description

Default

Validation

pfIndexinteger

PFIndex is the index of the Physical Function.

Minimum: 0
Required: {}

startinteger

Start is the starting VF index (inclusive).
If not set, the range starts from VF 0.

Minimum: 0
Optional: {}

endinteger

End is the ending VF index (inclusive).
If not set, the range extends to the last VF on the PF.

Minimum: 0
Optional: {}

operator.dpu.nvidia.com/v1alpha1

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

Resource Types

BFBRegistryConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the BFB Registry is not deployed when set to true.

Optional: {}

portinteger

Port is the port on which the BFB Registry will listen

Optional: {}

BaseComponentConfig

BaseComponentConfig provides common configuration fields that can be embedded by all component configurations to reduce code duplication.

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

BaseControllerConfig

BaseControllerConfig provides common configuration fields that can be embedded by all controller configurations to reduce code duplication.

Appears in:

Field

Description

Default

Validation

replicasinteger

Replicas is the number of replicas for the controller deployment.
This is used for High Availability. Leader election is enabled by default.

1

Maximum: 3
Minimum: 1
Optional: {}

CNIInstallerConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

installerDefaultOverridesConfiguration

Installer contains the configuration for the CNI-Installer component.
It contains the image for the controller and its resource requirements.

Optional: {}

DPFOperatorConfig

DPFOperatorConfig is the Schema for the dpfoperatorconfigs API

Appears in:

Field

Description

Default

Validation

apiVersionstring

operator.dpu.nvidia.com/v1alpha1

kindstring

DPFOperatorConfig

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPFOperatorConfigSpec

statusDPFOperatorConfigStatus

DPFOperatorConfigList

DPFOperatorConfigList contains a list of DPFOperatorConfig

Field

Description

Default

Validation

apiVersionstring

operator.dpu.nvidia.com/v1alpha1

kindstring

DPFOperatorConfigList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPFOperatorConfig array

DPFOperatorConfigSpec

DPFOperatorConfigSpec defines the desired state of DPFOperatorConfig

Appears in:

Field

Description

Default

Validation

overridesOverrides

Optional: {}

networkingNetworking

{ controlPlaneMTU:1500 }

Optional: {}

monitoringMonitoringConfiguration

Monitoring is the configuration for monitoring resources.

Optional: {}

imagePullSecretsstring 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.

Optional: {}

dpuServiceControllerDPUServiceControllerConfiguration

DPUServiceController is the configuration for the DPUServiceController

Optional: {}

provisioningControllerProvisioningControllerConfiguration

ProvisioningController is the configuration for the ProvisioningController

serviceSetControllerServiceSetControllerConfiguration

ServiceSetController is the configuration for the ServiceSetController

Optional: {}

dpuDetectorDPUDetectorConfiguration

DPUDetector is the configuration for the DPUDetector.

Optional: {}

multusMultusConfiguration

Multus is the configuration for Multus

Optional: {}

sriovDevicePluginSRIOVDevicePluginConfiguration

SRIOVDevicePlugin is the configuration for the SRIOVDevicePlugin

Optional: {}

flannelFlannelConfiguration

Flannel is the configuration for Flannel

Optional: {}

ovsCNIOVSCNIConfiguration

OVSCNI is the configuration for OVSCNI

Optional: {}

nvipamNVIPAMConfiguration

NVIPAM is the configuration for NVIPAM

Optional: {}

cniInstallerCNIInstallerConfiguration

CNIInstaller is the configuration for the cni-installer

Optional: {}

sfcControllerSFCControllerConfiguration

SFCController is the configuration for the SFCController

Optional: {}

kamajiClusterManagerKamajiClusterManagerConfiguration

KamajiClusterManager is the configuration for the kamaji-cluster-manager

Optional: {}

staticClusterManagerStaticClusterManagerConfiguration

StaticClusterManager is the configuration for the static-cluster-manager

Optional: {}

nodeSRIOVDevicePluginControllerNodeSRIOVDevicePluginControllerConfiguration

NodeSRIOVDevicePluginController is the configuration for the NodeSRIOVDevicePlugin controller.
This controller manages per-node SRIOV device plugin pods based on DPU configurations.
The controller is disabled by default.

Optional: {}

DPFOperatorConfigStatus

DPFOperatorConfigStatus defines the observed state of DPFOperatorConfig

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions exposes the current state of the OperatorConfig.

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

versionstring

Version is the version of the DPF Operator that is currently deployed.

DPUDetectorConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

imageImage

Image overrides the container image used by the DPUDetector Container.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field daemon instead.

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,\}))?$
Optional: {}

daemonDefaultOverridesConfiguration

Daemon contains the configuration for the DPU Detector component.
It contains the image for the controller and its resource requirements.

Optional: {}

DPUServiceControllerConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

replicasinteger

Replicas is the number of replicas for the controller deployment.
This is used for High Availability. Leader election is enabled by default.

1

Maximum: 3
Minimum: 1
Optional: {}

imageImage

Image overrides the container image used by the DPUService controller.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field controller instead.

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,\}))?$
Optional: {}

controllerDefaultOverridesConfiguration

Controller contains the configuration for the DPU Service controller component.
It contains the image for the controller and its resource requirements.

Optional: {}

disableDPUReadyTaintsboolean

DisableDPUReadyTaints disables the DPU ready taints feature in the DPU Service Controller.
This feature adds taints to the worker nodes when the DPU is not ready.
This is useful when the DPU is used for networking and the node should not be scheduled until the DPU is ready.

Optional: {}

DefaultOverridesConfiguration

Appears in:

Field

Description

Default

Validation

imageImage

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,\}))?$
Optional: {}

resourcesResourceRequirements

Resources defines the memory and CPU resource requests and limits for the component.
This field is optional, and if not set, the component will use the default resource.

Optional: {}

FlannelCNI

Appears in:

Field

Description

Default

Validation

imageImage

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,\}))?$
Optional: {}

FlannelConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

cniFlannelCNI

CNI is the configuration for the Flannel CNI component.
It contains the image for the CNI init container.
Note: The resources for the CNI container are not configurable.

Optional: {}

daemonFlannelDaemon

Daemon is the configuration for the Flannel Daemon component.
It contains the image for the Flannel Daemon container and its resource requirements.

Optional: {}

imageFlannelImages

Images overrides the container images used by flannel
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new fields cni and daemon instead.

Optional: {}

podCIDRstring

PodCIDR is the pod cidr for flannel.

Optional: {}

FlannelDaemon

Appears in:

Field

Description

Default

Validation

imageImage

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,\}))?$
Optional: {}

resourcesResourceRequirements

Resources defines the memory and CPU resource requests and limits for the component.
This field is optional, and if not set, the component will use the default resource.

Optional: {}

FlannelImages

Appears in:

Field

Description

Default

Validation

flannelCNIstring

FlannelCNI must be set if FlannelImages is set.

MinLength: 1
Required: {}

kubeFlannelstring

KubeFlannel must be set if FlannelImages is set.

MinLength: 1
Required: {}

HelmChart

Underlying type:string

HelmChart is a reference to a helm chart.

Validation:

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

Appears in:

HelmComponentConfig

Appears in:

Field

Description

Default

Validation

helmChartHelmChart

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://).+$
Optional: {}

Image

Underlying type:string

Image is a reference to a container image.

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:

ImageComponentConfig

ImageComponentConfig provides common configuration fields that can be embedded by all component configurations to reduce code duplication.

Appears in:

Field

Description

Default

Validation

imageImage

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,\}))?$
Optional: {}

InstallViaGNOI

InstallViaGNOI is the interface used to install the BFB via GNOI

Appears in:

InstallViaHostAgent

InstallViaHostAgent is the interface used to install the BFB

Appears in:

InstallViaRedfish

InstallViaRedfish is the interface used to install the BFB via Redfish

Appears in:

Field

Description

Default

Validation

bfbRegistryAddressstring

BFBRegistryAddress is the address of the BFB Registry
Deprecated: Use RegistryConfiguration instead.

MinLength: 1

bfbRegistryBFBRegistryConfiguration

BFBRegistry is the configuration for the BFB Registry
Deprecated: Use RegistryConfiguration instead.

Optional: {}

skipDPUNodeDiscoveryboolean

SkipDPUNodeDiscovery is a flag to skip the DPU node discovery.

true

Optional: {}

KamajiClusterManagerConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

replicasinteger

Replicas is the number of replicas for the controller deployment.
This is used for High Availability. Leader election is enabled by default.

2

Maximum: 3
Minimum: 1
Optional: {}

imageImage

Image overrides the container image used by the Kamaji Cluster Manager.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field controller instead.

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,\}))?$
Optional: {}

controllerDefaultOverridesConfiguration

Controller contains the configuration for the Kamaji Cluster Manager component.
It contains the image for the controller and its resource requirements.

Optional: {}

KubeStateMetricsConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

daemonDefaultOverridesConfiguration

Daemon contains the configuration for the kube-state-metrics component.
It contains the image for kube-state-metrics and its resource requirements.

Optional: {}

MonitoringConfiguration

MonitoringConfiguration defines the configuration for monitoring resources.

Appears in:

Field

Description

Default

Validation

disableboolean

Disable controls whether monitoring resources are installed.
When enabled (default), the controller:
- Creates ServiceMonitors for Kamaji clusters to scrape control-plane metrics.
- Deploys kube-state-metrics as a DPUService to expose metrics for custom resources.
- Deploys node-problem-detector as a DaemonSet on DPU nodes to detect and report node-level problems.
- Deploys opentelemetry-collector as a DaemonSet on DPU nodes to collect and forward logs.

Optional: {}

kubeStateMetricsKubeStateMetricsConfiguration

KubeStateMetrics is the configuration for kube-state-metrics

Optional: {}

nodeProblemDetectorNodeProblemDetectorConfiguration

NodeProblemDetector is the configuration for node-problem-detector

Optional: {}

openTelemetryCollectorOpenTelemetryCollectorConfiguration

OpenTelemetryCollector is the configuration for opentelemetry-collector

Optional: {}

MultusConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

imageImage

Image overrides the container image used by the Multus Container.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field cni instead.

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,\}))?$
Optional: {}

cniDefaultOverridesConfiguration

CNI contains the configuration for the Multus CNI component.
It contains the image for the controller and its resource requirements.

Optional: {}

NVIPAMConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

imageImage

Image overrides the container image used by the NVIPAM controller.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field controller instead.

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,\}))?$
Optional: {}

controllerNVIPAMController

Controller contains the configuration for the NVIPAM controller component.
It contains the image for the controller and its resource requirements.

Optional: {}

nodeNVIPAMNode

Node contains the configuration for the NVIPAM node component.
It contains the image for the node and its resource requirements.

NVIPAMController

Appears in:

Field

Description

Default

Validation

imageImage

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,\}))?$
Optional: {}

resourcesResourceRequirements

Resources defines the memory and CPU resource requests and limits for the component.
This field is optional, and if not set, the component will use the default resource.

Optional: {}

NVIPAMNode

Appears in:

Field

Description

Default

Validation

imageImage

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,\}))?$
Optional: {}

resourcesResourceRequirements

Resources defines the memory and CPU resource requests and limits for the component.
This field is optional, and if not set, the component will use the default resource.

Optional: {}

Networking

Networking defines the networking configuration for the system components.

Appears in:

Field

Description

Default

Validation

controlPlaneMTUinteger

ControlPlaneMTU is the MTU value to be set on the management network.
The default is 1500.

1500

Maximum: 9216
Minimum: 1280
Optional: {}

highSpeedMTUinteger

HighSpeedMTU is the MTU value to be set on the high-speed interface.
The default is 1500.

1500

Maximum: 9216
Minimum: 1280
Optional: {}

NodeProblemDetectorConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

daemonDefaultOverridesConfiguration

Daemon contains the configuration for the node-problem-detector component.
It contains the image for node-problem-detector and its resource requirements.

Optional: {}

NodeSRIOVDevicePluginControllerConfiguration

NodeSRIOVDevicePluginControllerConfiguration is the configuration for the NodeSRIOVDevicePlugin controller. This controller manages per-node SRIOV device plugin pods based on DPU configurations. The controller is disabled by default.

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

replicasinteger

Replicas is the number of replicas for the controller deployment.
This is used for High Availability. Leader election is enabled by default.

1

Maximum: 3
Minimum: 1
Optional: {}

controllerDefaultOverridesConfiguration

Controller contains the configuration for the NodeSRIOVDevicePlugin controller component.
It contains the image for the controller and its resource requirements.

Optional: {}

devicePluginNodeSRIOVDevicePluginSettings

DevicePlugin contains the configuration for the SRIOV device plugin pods
managed by this controller.

Optional: {}

NodeSRIOVDevicePluginSettings

NodeSRIOVDevicePluginSettings contains configuration for the SRIOV device plugin pods managed by the NodeSRIOVDevicePlugin controller.

Appears in:

Field

Description

Default

Validation

imageImage

Image overrides the container image for 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,\}))?$
Optional: {}

initImageImage

InitImage overrides the container image for the init container
that generates device plugin configuration.

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,\}))?$
Optional: {}

defaultResourcePrefixstring

DefaultResourcePrefix is the default resource prefix for the SRIOV device plugin resources.
Defaults to "nvidia.com".

Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
Optional: {}

OVSCNIConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

imageImage

Image overrides the container image used by the OVS CNI.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field cni instead.

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,\}))?$
Optional: {}

cniDefaultOverridesConfiguration

CNI contains the configuration for the OVS CNI component.
It contains the image for the controller and its resource requirements.

Optional: {}

OpenTelemetryCollectorConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

daemonDefaultOverridesConfiguration

Daemon contains the configuration for the opentelemetry-collector component.
It contains the image for opentelemetry-collector and its resource requirements.

Optional: {}

loggingOpenTelemetryCollectorLoggingConfiguration

Logging contains the configuration for the opentelemetry-collector logging component.
If not specified, logging will not be streamed.

Optional: {}

OpenTelemetryCollectorLoggingConfiguration

Appears in:

Field

Description

Default

Validation

endpointstring

Endpoint is the OTLP endpoint where the DPU cluster opentelemetry-collector sends data to.
This could be the management cluster's opentelemetry-collector endpoint.
If not specified, nothing will be forwarded from DPU clusters.

Required: {}

Overrides

Overrides exposes a set of fields which impact the recommended behavior of the DPF Operator. These fields should only be set for advanced use cases. The fields here have no stability guarantees.

Appears in:

Field

Description

Default

Validation

pausedboolean

Paused disables all reconciliation of the DPFOperatorConfig when set to true.

Optional: {}

dpuCNIBinPathstring

DPUCNIBinPath is the path at which the CNI binaries will be installed to on the DPU.
This is /opt/cni/bin by default.
This setting does not change where kubelet is configured to use the CNI from.

Optional: {}

dpuCNIPathstring

DPUCNIConfigPath is the path to which the CNI config files will be installed on the DPU.
This is /etc/cni/net.d by default.
This setting does not change where kubelet is configured to read the CNI config from.

Optional: {}

dpuOpenvSwitchRunPathstring

DPUOpenvSwitchPath is the path at which the openvSwitch run directory can be found on the DPU.
This is /var/run/openvswitch by default.
This setting does not change where components are installed. Installation location fixed in the BFB.

Optional: {}

dpuOpenvSwitchBinPathstring

DPUOpenvSwitchBinPath is the path at which the openvSwitch bin directory can be found on the DPU node.
This is /usr/bin/ by default.
This setting does not change where components are installed. Installation location fixed in the BFB.

Optional: {}

dpuOpenvSwitchSystemSharedPathstring

DPUOpenvSwitchSystemSharedLibPath is the path at which the system lib used by OVS components can be found on the DPU.
This is /lib by default.
This setting does not change where components are installed. Installation location fixed in the BFB.

Optional: {}

flannelSkipCNIConfigInstallationboolean

FlannelSkipCNIConfigInstallation controls whether Flannel should skip CNI config installation.
This is true by default, meaning Flannel does not manage its own CNI configuration.
Set to false if you want Flannel to install a CNI configuration.

Optional: {}

dpuOpenvSwitchSystemSharedLib64Pathstring

DPUOpenvSwitchSystemSharedLib64Path is the path at which the system lib64 used by OVS components can be found on the DPU.
If this field is not set, no lib64 volume mount will be configured in the SFC Controller component.
This setting does not change where components are installed. Installation location fixed in the BFB.

MinLength: 1
Optional: {}

kubernetesAPIServerVIPstring

KubernetesAPIServerVIP is the VIP the Kubernetes API server is accessible at.
This setting enables specific underlying components deployed directly or indirectly by the DPF Operator to reach
the Kubernetes API Server when the ClusterIP Kubernetes Service is not functional.
If set, it should be set to an IP to ensure that components work even if DNS is not available in the cluster.

Optional: {}

kubernetesAPIServerPortinteger

KubernetesAPIServerPort is the port the Kubernetes API server is accessible at.
This setting is usually used together with the kubernetesAPIServerVIP setting. It enables specific underlying
components deployed directly or indirectly by the DPF Operator to reach the Kubernetes API Server when the
ClusterIP Kubernetes Service is not functional.

Optional: {}

argoCDNamespacestring

ArgoCDNamespace is the namespace where ArgoCD is deployed.
AppProjects and cluster secrets required by DPF will be created in this namespace.
Defaults to the namespace of the DPFOperatorConfig.

MaxLength: 63
MinLength: 1
Optional: {}

ProvisioningControllerConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

replicasinteger

Replicas is the number of replicas for the controller deployment.
This is used for High Availability. Leader election is enabled by default.

2

Maximum: 3
Minimum: 1
Optional: {}

imageImage

Image overrides the container image used by the Provisioning controller.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field controller instead.

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,\}))?$
Optional: {}

controllerDefaultOverridesConfiguration

Controller contains the configuration for the Provisioning controller component.
It contains the image for the controller and its resource requirements.

Optional: {}

bfCFGTemplateConfigMapstring

BFCFGTemplateConfigMap is the name of a configMap containing a template for the BF.cfg file used by the DPU controller.
By default the provisioning controller use a hardcoded BF.cfg e.g. https://github.com/NVIDIA/doca-platform/blob/release-v24.10/internal/provisioning/controllers/dpu/bfcfg/bf.cfg.template
Note: Replacing the bf.cfg is an advanced use case. The default bf.cfg is designed for most use cases.
Deprecated: BFCFGTemplateConfigMap is deprecated and will be removed in a future release.
Use enableDynamicBFCFGTemplates instead for custom bf.cfg templates.

Optional: {}

enableDynamicBFCFGTemplatesboolean

EnableDynamicBFCFGTemplates enables runtime discovery of bf.cfg templates via ConfigMaps.
When enabled, the provisioning controller discovers ConfigMaps by matching labels for BFB
name/namespace and DPUCluster name/namespace. Mutually exclusive with bfCFGTemplateConfigMap.

Optional: {}

bfbPVCNamestring

BFBPersistentVolumeClaimName is the name of the PersistentVolumeClaim used by dpf-provisioning-controller
If not provided, the controller will use local host storage (hostPath)

Optional: {}

dmsTimeoutinteger

DMSTimeout is the max time in seconds within which a DMS API must respond, 0 is unlimited

Minimum: 1
Optional: {}

customCASecretNamestring

CustomCASecretName indicates the name of the Kubernetes secret object
which containing the custom CA certificate

Optional: {}

installInterfaceProvisioningInstallInterface

InstallInterface is the interface through which the BFB is installed

Optional: {}

registryRegistryConfiguration

Registry is the configuration for the BFB Registry

Optional: {}

maxDPUParallelInstallationsinteger

MaxDPUParallelInstallations specifies the maximum number of DPUs that can be provisioned concurrently.
A DPU is removed from the concurrent provisioning count as soon as it finishes the "OS Installing" phase and
enters the "Rebooting" phase of its provisioning lifecycle.

50

Minimum: 1
Optional: {}

multiDPUOperationsSyncWaitTimeDuration

MultiDPUOperationsSyncWaitTime is the wait time between DPUs sync operations on the same node.
It would take effect only on DPUNode objects which contain more than one DPU.

30s

Format: duration
Pattern: ^([0-9]+(h\|m\|s\|ms\|us\|µs\|ns))+$
Type: string
Optional: {}

maxUnavailableDPUNodesinteger

MaxUnavailableDPUNodes is the maximum number of DPUNodes that are unavailable during the node effect period.

50

Minimum: 1
Optional: {}

osInstallTimeoutDuration

OSInstallTimeout is the maximum time allowed for OS installation in zero-trust mode.
If the installation exceeds this timeout, the DPU will transition to an error state.

45m

Format: duration
Pattern: ^([0-9]+(h\|m\|s\|ms\|us\|µs\|ns))+$
Type: string
Optional: {}

nodeEffectRemovalTimeoutDuration

NodeEffectRemovalTimeout is the maximum time allowed for the Node Effect Removal phase.
If the DPUNodeMaintenance CR still has requestors after this timeout, the DPU will transition to an error state.
When set to "0s" (the default), the timeout is disabled and no time limit is enforced.

0s

Format: duration
Pattern: ^([0-9]+(h\|m\|s\|ms\|us\|µs\|ns))+$
Type: string
Optional: {}

hostAgentDNSPolicyDNSPolicy

HostAgentDNSPolicy sets the DNS policy for the hostagent pod.
Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'.
Defaults to 'ClusterFirstWithHostNet'.

Enum: [ClusterFirstWithHostNet ClusterFirst Default None]
Optional: {}

ProvisioningInstallInterface

ProvisioningInstallInterface is the interface used to install the BFB

Appears in:

Field

Description

Default

Validation

installViaGNOIInstallViaGNOI

InstallViaGNOI is the interface used to install the BFB via GNOI
Deprecated: Use InstallViaHostAgent instead.

Optional: {}

installViaHostAgentInstallViaHostAgent

InstallViaHostAgent is the interface used to install the BFB via HostAgent

Optional: {}

installViaRedfishInstallViaRedfish

InstallViaRedfish is the interface used to install the BFB via Redfish

Optional: {}

RegistryConfiguration

Appears in:

Field

Description

Default

Validation

addressstring

Address is the address used to access the BFB Registry. The address must start with "http://".
By default, the BFB Registry can be accessed via its Service.
For non-kubernetes environments, this must be set due to the lack of kubelet on worker nodes.
For zero-trust environments, this must be set so that the BFB Registry can be accessed from DPU BMC.
Deprecated: Address is deprecated and will be removed in a future release.

Pattern: ^http://
Optional: {}

portinteger

Port is the port on which the registry instances will listen
Deprecated: Address is deprecated and will be removed in a future release.

Maximum: 65535
Minimum: 1
Optional: {}

loadBalancerAddressstring

LoadBalancerAddress is the address of the load balancer for the BFB Registry which the hostagent/redfish use to fetch the BFB and generated bf.cfg.
To enable the load balancer, you need to deploy your own load balancer controller and configure the LoadBalancerAddress field.
Then check the bfb-registry nodeport service and make your load balancer controller to distribute the requests to the bfb-registry nodeport.

Pattern: ^http://
Optional: {}

ResourceComponentConfig

ResourceComponentConfig defines the resource requirements for a container.

Appears in:

Field

Description

Default

Validation

resourcesResourceRequirements

Resources defines the memory and CPU resource requests and limits for the component.
This field is optional, and if not set, the component will use the default resource.

Optional: {}

ResourceRequirements

Appears in:

Field

Description

Default

Validation

requestsResources

Requests defines the resource requests for the component.

limitsResources

Limits defines the resource limits for the component.

Resources

Appears in:

Field

Description

Default

Validation

cpuQuantity

CPU is the amount of CPU requested by the component.

Optional: {}

memoryQuantity

Memory is the amount of Memory requested by the component.

Optional: {}

SFCControllerConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

imageImage

Image overrides the container image used by the SFC controller.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field controller instead.

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,\}))?$
Optional: {}

controllerDefaultOverridesConfiguration

Controller contains the configuration for the SFC controller component.
It contains the image for the controller and its resource requirements.

Optional: {}

secureFlowDeletionTimeoutDuration

SecureFlowDeletionTimeout controls the timeout for which the API server is unreachable after which all the flows
are deleted to prevent unintended packet leaks. It has effect when is greater than zero.
Value must be in units accepted by Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration.

Optional: {}

SRIOVDevicePluginConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

imageImage

Image overrides the container image used by the SRIOV Device Plugin container.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field deviceplugin instead.

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,\}))?$
Optional: {}

devicepluginDefaultOverridesConfiguration

DevicePlugin contains the configuration for the SRIOV Device Plugin component.
It contains the image for the controller and its resource requirements.

Optional: {}

ServiceSetControllerConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

replicasinteger

Replicas is the number of replicas for the controller deployment.
This is used for High Availability. Leader election is enabled by default.

1

Maximum: 3
Minimum: 1
Optional: {}

helmChartHelmChart

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://).+$
Optional: {}

imageImage

Image overrides the container image used by the ServiceChainSet Controller.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field controller instead.

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,\}))?$
Optional: {}

controllerDefaultOverridesConfiguration

Controller contains the configuration for the ServiceChainSet controller component.
It contains the image for the controller and its resource requirements.

Optional: {}

StaticClusterManagerConfiguration

Appears in:

Field

Description

Default

Validation

disableboolean

Disable ensures the component is not deployed when set to true.

Optional: {}

replicasinteger

Replicas is the number of replicas for the controller deployment.
This is used for High Availability. Leader election is enabled by default.

1

Maximum: 3
Minimum: 1
Optional: {}

imageImage

Image overrides the container image used by the Static Cluster Manager.
Deprecated: This field is deprecated and will be removed with v26.7.0.
Use the new field controller instead.

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,\}))?$
Optional: {}

controllerDefaultOverridesConfiguration

Controller contains the configuration for the Static Cluster Manager controller component.
It contains the image for the controller and its resource requirements.

Optional: {}

provisioning.dpu.nvidia.com/v1alpha1

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

Resource Types

Action

Appears in:

Field

Description

Default

Validation

taintTaint

Add specify taint on the DPU node

Optional: {}

noEffectboolean

Do not do any action on the DPU node

Optional: {}

customLabelobject (keys:string, values:string)

Add specify labels on the DPU node

Optional: {}

drainboolean

Drain the K8s host node by NodeMaintenance operator

Optional: {}

customActionstring

Name of a config map which contains a pod yaml definition to run which will apply the nodeEffect.
The pod is expected to exit when node effect is done, if pod terminates with error then DPU would move to an error phase.
The DPUNode's name will be exported as an environment variable, named as DPUNODE_NAME, to each container and init container in the pod.
The labels and annotations of DPUNode will be exported in /etc/dpu/dpf-pod-info/labels and /etc/dpu/dpf-pod-info/annotations accordingly; the volume name dpf-pod-info is used to mount the labels and annotations.
If any name confliction for env or volume, the controller will not export the name or labels/annotations of DPUNode accordingly.

Optional: {}

holdboolean

Places annotation wait-for-external-nodeeffect and waits for it to be removed
this is the default behavior in a non K8S environment

Optional: {}

forceboolean

Force is the flag to indicate if the node effect should be applied immediately.
If true, dpfOperatorConfig.multiDPUOperationsSyncWaitTime and dpfOperatorConfig.maxUnavailableDPUNodes will be ignored when applying node effect for DPUNodeMaintenance CR

false

Optional: {}

AgentStatus

Appears in:

Field

Description

Default

Validation

lastStartupTimeTime

LastStartupTime is the time when the DPU was last started

Optional: {}

initialBootIDstring

InitialBootID is the boot ID of the DPU OS during the first boot

rebootMethodRebootMethodType

RebootMethod is the type of reset/reboot set by the DPU agent
See enum values in RebootMethodType.
No default is set intentionally: nil means "check not run or not applicable"
(e.g. legacy flow, or agent has not run the check yet);
a non-nil value means the check ran and this is the result.

Enum: [Unknown NoAction PowerCycle SystemReboot SystemLevelReset FirmwareReset DPUWarmReboot]
Optional: {}

lastObservedPendingNvconfigPendingNVConfigState

LastObservedPendingNVConfig stores the last pending NVConfig parameters seen
during reboot-method discovery on this boot. It is used on the next boot to
ignore repeated parameters that remained unchanged across boots.

Optional: {}

rebootSequenceCountinteger

RebootSequenceCount is the length of the current non-NoAction RebootMethod sequence:
it increments on each agent run that reports a RebootMethod other than NoAction and
resets to 0 when the agent reports NoAction. Used with RebootMethod to bound host reboot loops.

Minimum: 0
Optional: {}

kubeletVersionstring

KubeletVersion represents the kubelet version running on the DPU.

conditionsCondition array

Conditions contains the conditions reported from inside the DPU

Optional: {}

BFB

BFB is the Schema for the bfbs API

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

BFB

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specBFBSpec

statusBFBStatus

{ phase:Initializing }

Optional: {}

BFBList

BFBList contains a list of BFB

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

BFBList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsBFB 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

namestring

Specifies name of the bfb CR to use for this DPU

MinLength: 1

BFBSpec

BFBSpec defines the content of the BFB

Appears in:

Field

Description

Default

Validation

fileNamestring

Specifies the file name where the BFB is downloaded on the volume.

Pattern: ^[A-Za-z0-9\_\-\.]+\.bfb$
Optional: {}

urlstring

The url of the bfb image to download.

Pattern: ^(http\|https)://.+$
Required: {}

versionsBFBVersions

Optionally specify BFB component versions. When set, these versions are
used directly in status instead of being extracted from the BFB file.
If set, all four fields (BSP, DOCA, UEFI, ATF) must be provided.

Optional: {}

BFBStatus

BFBStatus defines the observed state of BFB

Appears in:

Field

Description

Default

Validation

fileNamestring

Filename is the name of the file where the BFB can be accessed on its volume.
This is the same as .spec.Filename if set.

phaseBFBPhase

The current state of BFB.

Initializing

Enum: [Initializing Downloading Ready Deleting Error]
Required: {}

versionsBFBVersions

BFB versions - BSP, DOCA, UEFI and ATF
Holds detailed version information for each component within the BFB

Optional: {}

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

conditionsCondition array

Conditions represent the latest available observations of BFB state

Optional: {}

BFBVersions

BFBVersions represents the version information for BFB components.

Appears in:

Field

Description

Default

Validation

bspstring

BSP (Board Support Package) version.
This field stores the version of the BSP, which provides essential
support and drivers for the hardware platform.

Optional: {}

docastring

DOCA version
Specifies the version of NVIDIA's Data Center-on-a-Chip Architecture (DOCA),
a platform for developing applications on DPUs

Optional: {}

uefistring

UEFI (Unified Extensible Firmware Interface) version.
Indicates the UEFI firmware version, which is responsible for booting
the operating system and initializing hardware components

Optional: {}

atfstring

ATF (Arm Trusted Firmware) version.
Contains the version of ATF, which provides a secure runtime environment

Optional: {}

BlueFieldSoftware

BlueFieldSoftware is the Schema for the bluefieldsoftware API

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

BlueFieldSoftware

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specBlueFieldSpec

statusBlueFieldSoftwareStatus

{ phase:Initializing }

Optional: {}

BlueFieldSoftwareList

BlueFieldSoftwareList contains a list of BlueFieldSoftware

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

BlueFieldSoftwareList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsBlueFieldSoftware array

BlueFieldSoftwarePhase

Underlying type:string

BlueFieldSoftwarePhase describes current state of BlueFieldSoftware 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

BlueFieldSoftware CR is created

Downloading

Downloading BlueFieldSoftware components

Ready

Finished downloading BlueFieldSoftware components, ready for DPU to use

Deleting

Delete BlueFieldSoftware

Error

Error happens during BlueFieldSoftware downloading

BlueFieldSoftwareStatus

BlueFieldSoftwareStatus defines the observed state of BlueFieldSoftware

Appears in:

Field

Description

Default

Validation

phaseBlueFieldSoftwarePhase

The current state of BlueFieldSoftware.

Initializing

Enum: [Initializing Downloading Ready Deleting Error]
Required: {}

versionsBluefieldSoftwareVersions

Versions tracks the versions of the components

Optional: {}

downloadedComponentsDownloadedComponents

DownloadedComponents tracks which components have been successfully downloaded

Optional: {}

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

conditionsCondition array

Conditions represent the latest available observations of BlueFieldSoftware state

Optional: {}

BlueFieldSpec

Appears in:

Field

Description

Default

Validation

pldmFwBundlestring

Optional: {}

osIsostring

Optional: {}

tmpFwComponentsTmpFwComponents

Optional: {}

BluefieldSoftwareVersions

BluefieldSoftwareVersions defines the versions of various software components for a Bluefield device.

Appears in:

Field

Description

Default

Validation

fwBundleVersionstring

osISOVersionstring

tmpFwComponentsVersionsTmpFwComponentsVersions

ClusterEndpointSpec

Appears in:

Field

Description

Default

Validation

keepalivedKeepalivedSpec

Keepalived configures the keepalived that will be deployed for the cluster control-plane

Optional: {}

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

nodeLabelsobject (keys:string, values:string)

NodeLabels specifies the labels to be added to the node.

Optional: {}

selectorLabelSelector

Selector defines the selector of the DPUClusters the produced DPUs should join

Optional: {}

ConfigFile

Appears in:

Field

Description

Default

Validation

pathstring

Path is the path of the file to be written.

Optional: {}

operationDPUFlavorFileOp

Operation is the operation to be performed on the file.

Enum: [override append]
Optional: {}

rawstring

Raw is the raw content of the file.

Optional: {}

permissionsstring

Permissions are the permissions to be set on the file.

Optional: {}

ContainerdConfig

Appears in:

Field

Description

Default

Validation

registryEndpointstring

RegistryEndpoint is the endpoint of the container registry.

Optional: {}

DMSAddress

DMSAddress represents the IP and Port configuration for DMS.

Appears in:

Field

Description

Default

Validation

ipstring

IP address in IPv4 format.

Format: ipv4

portinteger

Port number.

Minimum: 1

DPU

DPU is the Schema for the dpus API

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPU

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUSpec

statusDPUStatus

{ phase:Initializing }

Optional: {}

DPUCluster

DPUCluster is the Schema for the dpuclusters API

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUCluster

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUClusterSpec

Required: {}

statusDPUClusterStatus

{ phase:Pending }

Optional: {}

DPUClusterList

DPUClusterList contains a list of DPUCluster

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUClusterList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUCluster array

DPUClusterSpec

DPUClusterSpec defines the desired state of DPUCluster

Appears in:

Field

Description

Default

Validation

typestring

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\|[^/]+/.*
Required: {}

maxNodesinteger

MaxNodes is the max amount of node in the cluster

1000

Maximum: 1000
Minimum: 1
Optional: {}

kubeconfigstring

Kubeconfig is the secret that contains the admin kubeconfig

Optional: {}

clusterEndpointClusterEndpointSpec

ClusterEndpoint contains configurations of the cluster entry point

Optional: {}

DPUClusterStatus

DPUClusterStatus defines the observed state of DPUCluster

Appears in:

Field

Description

Default

Validation

phaseClusterPhase

Pending

Enum: [Pending Creating Ready NotReady Failed]

versionstring

Version is the K8s control-plane version of the cluster

Optional: {}

nodesCountinteger

NodesCount is the number of DPUs assigned to the cluster

Minimum: 0
Optional: {}

conditionsCondition array

Optional: {}

DPUDevice

DPUDevice is the Schema for the dpudevices API

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUDevice

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUDeviceSpec

statusDPUDeviceStatus

DPUDeviceList

DPUDeviceList contains a list of DPUDevices

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUDeviceList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUDevice array

DPUDeviceSpec

DPUDeviceSpec defines the content of DPUDevice

Appears in:

Field

Description

Default

Validation

psidstring

PSID is the Product Serial ID of the device.
It's used to track the device's lifecycle and for inventory management.
This value is immutable and should not be changed once set.
Example: "MT_0001234567", "MT25066004C7"
Deprecated: This field is deprecated and will be removed in a future version. Use status.psid instead.

Optional: {}

serialNumberstring

SerialNumber is the serial number of the device.
It's used to track the device's lifecycle and for inventory management.
This value is immutable and should not be changed once set.
Example: "MT_0001234567", "MT25066004C7"

MinLength: 1
Required: {}

opnstring

OPN is the Ordering Part Number of the device.
It's used to track the device's compatibility with different software versions.
This value is immutable and should not be changed once set.
Example: "900-9D3B4-00SV-EA0"
Deprecated: This field is deprecated and will be removed in a future version. Use status.opn instead.

Optional: {}

bmcIpstring

BMCIP is the IP address of the BMC (Base Management Controller) on the device.
This is used for remote management and monitoring of the device.
This value is immutable and should not be changed once set.
Example: "10.1.2.3"

Format: ipv4
Optional: {}

bmcPortinteger

BMCPort is the port number of the BMC (Base Management Controller) on the device.
This is used for remote management and monitoring of the device.
This value is immutable and should not be changed once set.
Example: 443

443

Minimum: 1
Optional: {}

numberOfPFsinteger

NumberOfPFs is the number of PFs on the device.
This value is immutable and should not be changed once set.
Example: 1

1

Minimum: 1
Optional: {}

pf0Namestring

PF0Name is the name of the PF0 on the device.
This value is immutable and should not be changed once set.
Example: "eth0"
Deprecated: This field is deprecated and will be removed in a future version. Use status.pf0Name instead.

Optional: {}

DPUDeviceStatus

Appears in:

Field

Description

Default

Validation

psidstring

PSID is the Product Serial ID of the device.
It's used to track the device's lifecycle and for inventory management.
This value is discovered and should not be changed once set.
Example: "MT_0001234567", "MT25066004C7"

Optional: {}

serialNumberstring

SerialNumber is the serial number of the device.
It's used to track the device's lifecycle and for inventory management.
This value is discovered and should not be changed once set.
Example: "MT_0001234567", "MT25066004C7"

Optional: {}

opnstring

OPN is the Ordering Part Number of the device.
It's used to track the device's compatibility with different software versions.
This value is discovered and should not be changed once set.
Example: "900-9D3B4-00SV-EA0"

Optional: {}

bmcIpstring

BMCIP is the IP address of the BMC (Base Management Controller) on the device.
This is used for remote management and monitoring of the device.
This value is discovered and should not be changed once set.
Example: "10.1.2.3"

Format: ipv4
Optional: {}

bmcPortinteger

BMCPort is the port number of the BMC (Base Management Controller) on the device.
This is used for remote management and monitoring of the device.
This value is immutable and should not be changed once set.
Example: 443

443

Minimum: 1
Optional: {}

pciAddressstring

PCIAddress is the PCI address of the device in the host system.
Example: "0000-03-00", "03-00"

Optional: {}

pf0Namestring

PF0Name is the name of the PF0 on the device.
Example: "eth0"

Optional: {}

pf0Macstring

PF0MAC is the MAC address of the PF0 on the device.
Example: "00:00:00:00:00:00"

Pattern: ^([0-9A-Fa-f]\{2\}[:-])\{5\}([0-9A-Fa-f]\{2\})$
Optional: {}

dpuTypeDPUType

DPUType is the type of the DPU.

Unknown

Enum: [Unknown BlueField2 BlueField3 BlueField4]
Optional: {}

dpuModeDpuModeType

DPUMode is the mode of the DPU.

dpu

Enum: [dpu nic]
Optional: {}

secureBootSecureBootStatus

SecureBoot indicates the current UEFI Secure Boot state.

Optional: {}

conditionsCondition array

Optional: {}

DPUDiscovery

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUDiscovery

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUDiscoverySpec

statusDPUDiscoveryStatus

DPUDiscoveryList

DPUDiscoveryList contains a list of DPUDiscovery types

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUDiscoveryList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUDiscovery array

DPUDiscoverySpec

DPUDiscoverySpec defines the desired state of DPUDiscovery

Appears in:

Field

Description

Default

Validation

ipRangeSpecIPRangeValidationSpec

IPRange defines the range of IP addresses to scan

scanIntervalDuration

ScanInterval defines how often to perform the scan

1h

workersinteger

Workers defines the number of workers to use for the scan (default 1 worker for each 255 IPs in the range)

Optional: {}

DPUDiscoveryStatus

DPUDiscoveryStatus defines the observed state of DPUDiscovery

Appears in:

Field

Description

Default

Validation

lastScanTimeTime

LastScanTime is the timestamp of the last successful scan

foundDPUsinteger

FoundDPUs is the list of discovered DPU BMC IPs

DPUFLavorSysctl

Appears in:

Field

Description

Default

Validation

parametersstring array

Parameters are the sysctl parameters to be set.

Optional: {}

DPUFlavor

DPUFlavor is the Schema for the dpuflavors API

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUFlavor

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUFlavorSpec

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

kernelParametersstring array

KernelParameters are the kernel parameters to be set in the grub configuration.

Optional: {}

DPUFlavorList

DPUFlavorList contains a list of DPUFlavor

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUFlavorList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUFlavor array

DPUFlavorOVS

Appears in:

Field

Description

Default

Validation

rawConfigScriptstring

RawConfigScript is the raw configuration script for OVS.

Optional: {}

DPUFlavorSpec

DPUFlavorSpec defines the content of DPUFlavor

Appears in:

Field

Description

Default

Validation

grubDPUFlavorGrub

Grub contains the grub configuration for the DPUFlavor.

Optional: {}

sysctlDPUFLavorSysctl

Sysctl contains the sysctl configuration for the DPUFlavor.

Optional: {}

nvconfigNVConfig array

NVConfig contains the device-specific configuration (firmware settings, device parameters).
Each entry specifies a device (wildcard '', or port identifiers 'p0'/'P0'/'p1'/'P1') and its parameters.
If device is '' or unspecified (defaults to ''), it applies to all devices and must be the only entry.
Each device (including unspecified as '') must be unique across all nvconfig entries (case-insensitive).
Validation enforces: device enum values, parameter format (KEY=VALUE), case-insensitive uniqueness, and size limits.

MaxItems: 3
Optional: {}

ovsDPUFlavorOVS

OVS contains the OVS configuration for the DPUFlavor.

Optional: {}

bfcfgParametersstring array

BFCfgParameters are the parameters to be set in the bf.cfg file.

Optional: {}

configFilesConfigFile array

ConfigFiles are the files to be written on the DPU.

Optional: {}

containerdConfigContainerdConfig

ContainerdConfig contains the configuration for containerd.

Optional: {}

dpuResourcesResourceList

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.

Optional: {}

systemReservedResourcesResourceList

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.

Optional: {}

dpuModeDpuModeType

Specifies the DPU Mode type: one of dpu,zero-trust.
When not specified, defaults to "zero-trust" if the DPF deployment uses Redfish install interface,
otherwise defaults to "dpu".

Enum: [dpu zero-trust nic]
Optional: {}

hostNetworkInterfaceConfigsNetworkInterfaceConfig array

HostNetworkInterfaceConfigs contains the configuration for the host-side network interfaces.

Optional: {}

DPUList

DPUList contains a list of DPU

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPU array

DPUNode

DPUNode is the Schema for the dpunodes API

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUNode

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUNodeSpec

statusDPUNodeStatus

DPUNodeList

DPUNodeList contains a list of DPUNode

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUNodeList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUNode array

DPUNodeMaintenance

DPUNodeMaintenance is the Schema for the dpunodemaintenances API

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUNodeMaintenance

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUNodeMaintenanceSpec

statusDPUNodeMaintenanceStatus

DPUNodeMaintenanceList

DPUNodeMaintenanceList contains a list of DPUNodeMaintenance

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUNodeMaintenanceList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUNodeMaintenance array

DPUNodeMaintenanceSpec

DPUNodeMaintenanceSpec is the specification of the DPUNodeMaintenance object

Appears in:

Field

Description

Default

Validation

dpuNodeNamestring

DPUNodeName is the name of the DPUNode that is being maintained.

Required: {}

nodeEffectNodeEffect

NodeEffect is the effect to be applied to the node.

Optional: {}

requestorstring array

Requestor is the list of consumers for the maintenance.

Optional: {}

DPUNodeMaintenanceStatus

DPUNodeMaintenanceStatus defines the observed state of DPUNodeMaintenance

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions reflect the status of the object

Optional: {}

nodeEffectSyncStartTimeTime

NodeEffectSyncStartTime is the time when the node effect sync started.

Optional: {}

multiDPUOperationsSyncWaitTimeDuration

MultiDPUOperationsSyncWaitTime is the wait time between DPUs on the same node.

Optional: {}

maxUnavailableDPUNodesinteger

MaxUnavailableDPUNodes is the maximum number of DPUNodes that are unavailable during the node effect period.

Minimum: 1
Optional: {}

DPUNodeSpec

DPUNodeSpec defines the desired state of DPUNode

Appears in:

Field

Description

Default

Validation

nodeRebootMethodNodeRebootMethod

Defines the method for rebooting the host.
One of the following options can be chosen for this field:
- "external": Reboot the host via an external means, not controlled by the
DPU controller.
- "script": Reboot the host by executing a custom script.
- "hostAgent": Use the host agent to reboot the host.
"hostAgent" is the default value.

{ hostAgent:map[] }

Optional: {}

nodeDMSAddressDMSAddress

The IP address and port where the DMS is exposed. Only applicable if dpuInstallInterface is set to gNOI.
Deprecated: this field is no longer used.

Optional: {}

dpusDPURef array

A map containing names of each DPUDevice attached to the node.

Optional: {}

DPUNodeStatus

DPUNodeStatus defines the observed state of DPUNode

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions represent the latest available observations of an object's state.

Type: array
Optional: {}

dpuInstallInterfacestring

The name of the interface which will be used to install the bfb image, can be one of hostAgent,redfish

Enum: [gNOI hostAgent redfish]
Optional: {}

kubeNodeRefstring

The name of the Kubernetes Node object that this DPUNode represents.
This field is optional and only relevant if the x86 host is part of the DPF Kubernetes cluster.

Optional: {}

rebootInProgressboolean

RebootInProgress indicates if the node is in the process of rebooting.

Optional: {}

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 Config FW Parameters Prepare BFB OS Installing DPU Config DPU Cluster Config Host Network Configuration Ready Error Deleting Rebooting Perform ARM Force Restart Initialize Interface Node Effect Removal Checking Host Reboot Required]

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.

Prepare BFB

DPUPrepareBFB means the controller is preparing the BFB and bf.cfg to be installed to DPU

DPU Config

DPUConfig means the DPU agent will configure the DPU

Config FW Parameters

DPUConfigFWParameters means the controller will manipulate DPU firmware, e.g., set DPU mode, check firmware version

Initialize Interface

DPUInitializeInterface means the controller will intitialize the interface used to provision the DPUs, e.g., create the DMS pod, set up RedFish account.

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.

Node Effect Removal

DPUNodeEffectRemoval means the controller will remove the node effect from the DPU.

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.

Perform ARM Force Restart

DPUPerformArmForceRestart means ARM ForceRestart operations are in progress for Secure Boot configuration.

DPURef

Appears in:

Field

Description

Default

Validation

namestring

Name of the DPU device.

MinLength: 1
Required: {}

DPUSet

DPUSet is the Schema for the dpusets API

Appears in:

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUSet

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUSetSpec

statusDPUSetStatus

DPUSetList

DPUSetList contains a list of DPUSet

Field

Description

Default

Validation

apiVersionstring

provisioning.dpu.nvidia.com/v1alpha1

kindstring

DPUSetList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUSet array

DPUSetSpec

DPUSetSpec defines the desired state of DPUSet

Appears in:

Field

Description

Default

Validation

strategyDPUSetStrategy

The rolling update strategy to use to updating existing DPUs with new ones.

Required: {}

dpuNodeSelectorLabelSelector

Select the DPUNodes with specific labels

Optional: {}

dpuSelectorobject (keys:string, values:string)

Select the DPU with specific labels
Deprecated: This field is deprecated and will be removed with v26.7.0. Use DPUDeviceSelector instead.

Optional: {}

dpuDeviceSelectorLabelSelector

DPUDeviceSelector defines the selector for DPUDevices that the DPUSet should target and should create a DPU for.

Optional: {}

dpuTemplateDPUTemplate

Object that describes the DPU that will be created if insufficient replicas are detected

Required: {}

DPUSetStatus

DPUSetStatus defines the observed state of DPUSet

Appears in:

Field

Description

Default

Validation

dpuStatisticsobject (keys:DPUPhase, values:integer)

DPUStatistics is a map of DPUPhase to the number of DPUs in that phase.

Optional: {}

conditionsCondition array

Conditions reflect the status of the object

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUSetStrategy

Appears in:

Field

Description

Default

Validation

typeStrategyType

Can be "OnDelete" or "RollingUpdate".

Enum: [OnDelete RollingUpdate]
Required: {}

rollingUpdateRollingUpdateDPU

Rolling update config params. Present only if StrategyType = RollingUpdate.

Optional: {}

DPUSpec

DPUSpec defines the desired state of DPU

Appears in:

Field

Description

Default

Validation

dpuNodeNamestring

Specifies the DPUNode this DPU belongs to

Required: {}

dpuDeviceNamestring

Specifies the name of the DPUDevice this DPU is associated with

MinLength: 1
Required: {}

bfbstring

Specifies name of the bfb CR to use for this DPU

Required: {}

blueFieldSoftwarestring

Specifies the name of the BlueFieldSoftware CR to use for this DPU

Optional: {}

serialNumberstring

The serial number of the DPU

MinLength: 1
Required: {}

pciAddressstring

The PCI device related DPU
Example: "0000-03-00", "03-00"

Pattern: ^([0-9a-fA-F]\{4\}[-])?[0-9a-fA-F]\{2\}[-][0-9a-fA-F]\{2\}$
Optional: {}

nodeEffectNodeEffect

Specifies how changes to the DPU should affect the Node

Required: {}

clusterK8sCluster

Specifies details on the K8S cluster to join

Optional: {}

dpuFlavorstring

DPUFlavor is the name of the DPUFlavor that will be used to deploy the DPU.

MinLength: 1
Required: {}

secureBootboolean

SecureBoot specifies whether UEFI Secure Boot should be enabled.

Optional: {}

bmcIPstring

BMCIP is the ip address of the DPU BMC
Deprecated: Use BMCIP from DPUDevice instead.

Optional: {}

DPUStatus

DPUStatus defines the observed state of DPU

Appears in:

Field

Description

Default

Validation

phaseDPUPhase

The current state of DPU.

Initializing

Enum: [Initializing Node Effect Pending Config FW Parameters Prepare BFB OS Installing DPU Config DPU Cluster Config Host Network Configuration Ready Error Deleting Rebooting Perform ARM Force Restart Initialize Interface Node Effect Removal Checking Host Reboot Required]
Required: {}

previousPhaseDPUPhase

PreviousPhase is the last non-empty Phase before the current Phase, set by the controller
when Phase transitions. It may be unset during early initialization (empty Phase) or until
the first transition from a non-empty Phase. Internal controller tracking only.

Enum: [Initializing Node Effect Pending Config FW Parameters Prepare BFB OS Installing DPU Config DPU Cluster Config Host Network Configuration Ready Error Deleting Rebooting Perform ARM Force Restart Initialize Interface Node Effect Removal Checking Host Reboot Required]
Optional: {}

conditionsCondition array

Conditions represents the provisioning lifecycle conditions.

Optional: {}

operationalConditionsCondition array

OperationalConditions represents aggregated operational readiness conditions.
These conditions reflect the runtime health and readiness of DPU services and node health,
separate from the provisioning lifecycle represented by Conditions.

Optional: {}

bfbFilestring

BFBFile is the path to the BFB file

Optional: {}

bfCFGFilestring

BFCFGFile is the path to the bf.cfg

Optional: {}

bfbVersionstring

bfb version of this DPU

Optional: {}

dpfVersionstring

DPF version used to install this DPU

Optional: {}

pciDevicestring

pci device information of this DPU

Optional: {}

requiredResetboolean

whether require reset of DPU

Optional: {}

firmwareFirmware

the firmware information of DPU

Optional: {}

addressesNodeAddress array

The DPU node's IP addresses

Optional: {}

dpuInstallInterfacestring

the name of the interface which will be used to install the bfb image,
and communicate with DPU, can be one of hostAgent,redfish

Enum: [gNOI hostAgent redfish]
Optional: {}

postProvisioningNodeEffectboolean

Indicates that node effect was triggered by post-provisioning label changes

Optional: {}

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

dpuTypeDPUType

The type of the DPU

Unknown

Enum: [Unknown BlueField2 BlueField3 BlueField4]
Optional: {}

agentLastStartupTimeTime

AgentLastStartupTime is the time when the DPU agent was last started. This is copied from agentStatus.lastStartupTime.

Optional: {}

agentStatusAgentStatus

AgentStatus contains the information reported from inside the DPU

Optional: {}

dpuModeDpuModeType

The mode of the DPU

dpu

Enum: [dpu nic]
Optional: {}

secureBootSecureBootStatus

SecureBoot indicates the current UEFI Secure Boot state.

Optional: {}

redfishTaskIdstring

The task ID of the last task performed on the DPU BMC

Optional: {}

DPUTemplate

DPUTemplate is a template for DPU

Appears in:

Field

Description

Default

Validation

annotationsobject (keys:string, values:string)

Annotations specifies annotations which are added to the DPU.

specDPUTemplateSpec

Spec specifies the DPU specification.

DPUTemplateSpec

Appears in:

Field

Description

Default

Validation

bfbBFBReference

Specifies a BFB CR

nodeEffectNodeEffect

Specifies how changes to the DPU should affect the Node

Required: {}

clusterClusterSpec

Specifies details on the K8S cluster to join

Optional: {}

dpuFlavorstring

DPUFlavor is the name of the DPUFlavor that will be used to deploy the DPU.

MinLength: 1
Required: {}

secureBootboolean

SecureBoot specifies whether UEFI Secure Boot should be enabled.

Optional: {}

DPUType

Underlying type:string

Appears in:

Field

Description

Unknown

BlueField2

BlueField3

BlueField4

DownloadedComponents

DownloadedComponents tracks which components have been downloaded

Appears in:

Field

Description

Default

Validation

pldmFwBundlestring

osIsostring

bmcErotstring

bmcFWstring

astraNicFwstring

graceErotstring

graceFwstring

DpuModeType

Underlying type:string

DpuModeType defines the mode of the DPU

Validation:

  • Enum: [dpu zero-trust nic]

Appears in:

Field

Description

dpu

zero-trust

nic

External

Appears in:

Firmware

Appears in:

Field

Description

Default

Validation

bmcstring

BMC is the used BMC firmware version

nicstring

NIC is the used NIC firmware version

uefistring

UEFI is the used UEFI firmware version

GNOI

Appears in:

HostAgent

Appears in:

IPRange

IPRange represents a range of IP addresses to scan

Appears in:

Field

Description

Default

Validation

startIPstring

Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)$
Required: {}

endIPstring

Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)$
Required: {}

portinteger

Port defines the port to on which BMC is listening

443

Maximum: 65535
Minimum: 1
Optional: {}

IPRangeValidationSpec

IPRangeValidationSpec defines the desired state of IPRangeValidation IPRange defines the IP range to validate

Appears in:

Field

Description

Default

Validation

ipRangeIPRange

K8sCluster

Appears in:

Field

Description

Default

Validation

namestring

Name is the name of the DPUs Kubernetes cluster

Optional: {}

namespacestring

Namespace is the tenants namespace name where the Kubernetes cluster will be deployed

Optional: {}

nodeLabelsobject (keys:string, values:string)

NodeLabels specifies the labels to be added to the node.

Optional: {}

selectorLabelSelector

Selector defines the selector of the DPUClusters the produced DPUs should join

Optional: {}

KeepalivedSpec

Appears in:

Field

Description

Default

Validation

vipstring

VIP is the virtual IP owned by the keepalived instances

virtualRouterIDinteger

VirtualRouterID is the virtual_router_id in keepalived.conf

Maximum: 255
Minimum: 1

interfacestring

Interface specifies on which interface the VIP should be assigned

MinLength: 1

nodeSelectorobject (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

Optional: {}

NVConfig

Appears in:

Field

Description

Default

Validation

devicestring

Device is the device to which the configuration applies. If not specified, the configuration applies to all.
Supported values: "*" (wildcard for all devices), "p0"/"P0" (port 0), "p1"/"P1" (port 1). Case-insensitive.

Enum: [* p0 p1 P0 P1]
Optional: {}

parametersstring array

Parameters are the parameters to be set for the device.

MaxItems: 32
MinItems: 1
items:MaxLength: 200
items:Pattern: ^[^=\s]+=[^\s]*$
Optional: {}

NetworkInterfaceConfig

NetworkInterfaceConfig defines the configuration for a network interface

Appears in:

Field

Description

Default

Validation

mtuinteger

MTU is the MTU value to be set on the network interface.

Maximum: 9216
Minimum: 1280
Optional: {}

dhcpboolean

DHCP is the DHCP configuration for the network interface.

Optional: {}

portNumberinteger

PortNumber identifies which port this configuration applies to.

Maximum: 1
Minimum: 0
Required: {}

nvconfigNVConfig

NVConfig contains port-specific configuration for this network interface.
This configuration is applied in addition to the global NVConfig settings in DPUFlavorSpec.
Both global and per-interface NVConfig settings can coexist without collision.

Optional: {}

NodeEffect

NodeEffect is the effect the DPU has on Nodes during provisioning. Only one of Taint, NoEffect, CustomLabel, Drain, CustomAction, Hold can be set.

Appears in:

Field

Description

Default

Validation

taintTaint

Add specify taint on the DPU node

Optional: {}

noEffectboolean

Do not do any action on the DPU node

Optional: {}

customLabelobject (keys:string, values:string)

Add specify labels on the DPU node

Optional: {}

drainboolean

Drain the K8s host node by NodeMaintenance operator

Optional: {}

customActionstring

Name of a config map which contains a pod yaml definition to run which will apply the nodeEffect.
The pod is expected to exit when node effect is done, if pod terminates with error then DPU would move to an error phase.
The DPUNode's name will be exported as an environment variable, named as DPUNODE_NAME, to each container and init container in the pod.
The labels and annotations of DPUNode will be exported in /etc/dpu/dpf-pod-info/labels and /etc/dpu/dpf-pod-info/annotations accordingly; the volume name dpf-pod-info is used to mount the labels and annotations.
If any name confliction for env or volume, the controller will not export the name or labels/annotations of DPUNode accordingly.

Optional: {}

holdboolean

Places annotation wait-for-external-nodeeffect and waits for it to be removed
this is the default behavior in a non K8S environment

Optional: {}

forceboolean

Force is the flag to indicate if the node effect should be applied immediately.
If true, dpfOperatorConfig.multiDPUOperationsSyncWaitTime and dpfOperatorConfig.maxUnavailableDPUNodes will be ignored when applying node effect for DPUNodeMaintenance CR

false

Optional: {}

applyOnLabelChangeboolean

Apply node effect when labels change on the DPU object
When set to true, label changes in Ready state will trigger node effect logic

false

Optional: {}

nodeMaintenanceAdditionalRequestorsstring array

Additional requestors to be added to the NvidiaNodeMaintenance CR when Drain is selected

Optional: {}

NodeRebootMethod

NodeRebootMethod defines the desired reboot method

Appears in:

Field

Description

Default

Validation

gNOIGNOI

Use the DPU's DMS interface to reboot the host.
Deprecated: Use HostAgent instead.

Optional: {}

hostAgentHostAgent

Use the HostAgent to reboot the host.

Optional: {}

externalExternal

Reboot the host via an external means, not controlled by the DPU controller.

Optional: {}

scriptScript

Reboot the host by executing a custom script. This field defined which ConfigMap store the custom script.
The ConfigMap should include a pod template of Job object under the pod-template key.
That pod template will be put in a Job object to be executed.

Optional: {}

PendingNVConfigDevice

Appears in:

Field

Description

Default

Validation

devicestring

entriesPendingNVConfigEntry array

PendingNVConfigEntry

Appears in:

Field

Description

Default

Validation

namestring

defaultstring

currentstring

next_bootstring

NextBoot uses the "next_boot" so this type can be reused for parsing mlxfwrest output

PendingNVConfigState

Appears in:

Field

Description

Default

Validation

bootIDstring

devicesPendingNVConfigDevice array

RebootMethodType

Underlying type:string

RebootMethodType is the type of reset/reboot required after NVConfig or firmware changes. Set by the DPU agent. Values align with NVIDIA BlueField Reset and Reboot Procedures (mlxfwreset levels).

Validation:

  • Enum: [Unknown NoAction PowerCycle SystemReboot SystemLevelReset FirmwareReset DPUWarmReboot]

Appears in:

Field

Description

Unknown

RebootMethodUnknown is the initial value set by the DPU agent on startup before
HandleReboot determines the actual method. It prevents the controller from acting
on a stale RebootMethod left over from a previous agent session.

NoAction

RebootMethodNoAction indicates no reset or reboot is required.

PowerCycle

RebootMethodPowerCycle indicates a full server power cycle (cold boot) is required.

SystemReboot

RebootMethodSystemReboot firmware update without full server power cycle.

SystemLevelReset

RebootMethodSystemLevelReset firmware configuration changes to take effect.

FirmwareReset

RebootMethodFirmwareReset driver restart and PCI reset.

DPUWarmReboot

RebootMethodDPUWarmReboot indicates the DPU OS is rebooting itself to apply
configuration changes (e.g. grub kernel parameters) that do not originate
from firmware or NVConfig. The provisioning controller should stay in the
current phase and wait for the agent to come back.

RollingUpdateDPU

RollingUpdateDPU is the rolling update strategy for a DPUSet.

Appears in:

Field

Description

Default

Validation

maxUnavailableIntOrString

MaxUnavailable is the maximum number of DPUs that can be unavailable during the update.
Deprecated: This field is deprecated and will be removed with v26.7.0.

Optional: {}

Script

Appears in:

Field

Description

Default

Validation

namestring

MinLength: 1
Required: {}

SecureBootStatus

SecureBootStatus represents the UEFI Secure Boot configuration status on the DPU.

Appears in:

Field

Description

Default

Validation

enabledboolean

Enabled indicates whether UEFI Secure Boot is currently enabled on the DPU.

Optional: {}

StrategyType

Underlying type:string

StrategyType describes strategy to use to reprovision existing DPUs.

Validation:

  • Enum: [OnDelete RollingUpdate]

Appears in:

Field

Description

OnDelete

New DPU CR will only be created when you manually delete old DPU CR.

RollingUpdate

Gradually scale down the old DPUs and scale up the new one.

TmpFwComponents

Appears in:

Field

Description

Default

Validation

bmcErotstring

bmcFwstring

astraNicFwstring

graceErotstring

graceFwstring

TmpFwComponentsVersions

Appears in:

Field

Description

Default

Validation

bmcErotVersionstring

bmcFwVersionstring

astraNicFwVersionstring

graceErotVersionstring

graceFwVersionstring

UpgradePolicy

UpgradePolicy is the policy for the upgrade of the DPUSet.

Appears in:

Field

Description

Default

Validation

applyOnLabelChangeboolean

Apply node effect when labels change on the DPU object
When set to true, label changes in Ready state will trigger node effect logic

false

Optional: {}

nodeMaintenanceAdditionalRequestorsstring array

Additional requestors to be added to the NvidiaNodeMaintenance CR when Drain is selected

Optional: {}

storage.dpu.nvidia.com/v1alpha1

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

Resource Types

AttachmentStatusDPU

AttachmentStatusDPU describe the information of DPU volume

Appears in:

Field

Description

Default

Validation

pciAddressstring

PCI device address in the following format: (bus:device.function)

Optional: {}

deviceNamestring

The name of the device that was created by the storage vendor plugin

Optional: {}

nvmeAttrsNVMEAttrs

The attributes of the emulated NVME function

Optional: {}

virtioFSAttrsVirtioFSAttrs

The attributes of the emulated VirtioFS function

Optional: {}

BdevAttrs

BdevAttrs represents the attributes of the underlying block device

Appears in:

Field

Description

Default

Validation

nvmeNsIDinteger

The namespace ID within the NVME controller

nvmeUUIDstring

The nvme namespace UUID

CSIReference

CSIReference reference to CSI object

Appears in:

Field

Description

Default

Validation

csiDriverNamestring

storageClassNamestring

pvcRefObjectRef

CapacityRange

CapacityRange represents the capacity of the required storage space in bytes

Appears in:

Field

Description

Default

Validation

requestQuantity

limitQuantity

DPUStoragePolicy

DPUStoragePolicy represents a DPUStoragePolicy CR

Appears in:

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

DPUStoragePolicy

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUStoragePolicySpec

statusDPUStoragePolicyStatus

DPUStoragePolicyList

DPUStoragePolicyList contains a list of DPUStoragePolicy objects

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

DPUStoragePolicyList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUStoragePolicy array

DPUStoragePolicySpec

DPUStoragePolicySpec defines the desired state of DPUStoragePolicy

Appears in:

Field

Description

Default

Validation

dpuStorageVendorsstring array

List of storage vendors

MinItems: 1
Required: {}

parametersobject (keys:string, values:string)

Parameters supported by the policy

{ }

Optional: {}

selectionAlgorithmSelectionAlgorithm

Selection algorithm used to select DPUStorageVendor

NumberVolumes

Enum: [Random NumberVolumes]
Optional: {}

DPUStoragePolicyStatus

DPUStoragePolicyStatus defines the observed state of DPUStoragePolicy

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Current service state conditions

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUStorageVendor

DPUStorageVendor represents a StorageVendor CR on the DPU cluster.

Appears in:

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

DPUStorageVendor

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUStorageVendorSpec

statusDPUStorageVendorStatus

DPUStorageVendorList

DPUStorageVendorList contains a list of DPUStorageVendor

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

DPUStorageVendorList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUStorageVendor array

DPUStorageVendorSpec

DPUStorageVendorSpec defines the desired state of DPUStorageVendor

Appears in:

Field

Description

Default

Validation

storageClassNamestring

Storage vendor class name, deployed on the DPU K8S cluster.

MinLength: 1
Required: {}

pluginNamestring

Storage vendor DPU plugin name

MinLength: 1
Required: {}

DPUStorageVendorStatus

DPUStorageVendorStatus defines the observed state of DPUStorageVendor

Appears in:

Field

Description

Default

Validation

dpuClustersObjectReference array

DPUClusters is the list of clusters on which the DPUStorageVendor is deployed.

conditionsCondition array

Conditions defines current service state.

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUVolume

DPUVolume represents a DPUVolume CR.

Appears in:

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

DPUVolume

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUVolumeSpec

statusDPUVolumeStatus

DPUVolumeAttachment

DPUVolumeAttachment represents a Volume CR on the DPU cluster.

Appears in:

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

DPUVolumeAttachment

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUVolumeAttachmentSpec

statusDPUVolumeAttachmentStatus

DPUVolumeAttachmentList

DPUVolumeAttachmentList contains a list of DPUVolumeAttachment

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

DPUVolumeAttachmentList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUVolumeAttachment array

DPUVolumeAttachmentSpec

DPUVolumeAttachmentSpec defines the desired state of DPUVolumeAttachment

Appears in:

Field

Description

Default

Validation

dpuNodeNamestring

DPUNodeName is the name of DPUNode object that represents the node to which the volume should
be attached

MinLength: 1
Required: {}

dpuVolumeNamestring

DPUVolumeName is the name of DPUVolume object that represents the volume to be attached

MinLength: 1
Required: {}

functionTypeFunctionType

FunctionType is the type of the emulated function that should be used to attach the volume

Enum: [pf vf]
Required: {}

hotplugFunctionboolean

HotplugFunction is a boolean flag that indicates if the emulated function should be hotplugged

Required: {}

DPUVolumeAttachmentStatus

DPUVolumeAttachmentStatus defines the observed state of DPUVolumeAttachment

Appears in:

Field

Description

Default

Validation

controllerAttachedboolean

Indicates the volume is successfully attached to by the Vendor CSI driver

dpuAttachedboolean

Indicates the volume is successfully attached to the node by DPU

Optional: {}

attachmentMetadataobject (keys:string, values:string)

AttachmentMetadata contains the metadata of the volume attachment returned by the Vendor CSI driver

Optional: {}

dpuAttachmentStatusDPU

Details about the DPU attachment

Optional: {}

messagestring

The last error encountered during the attach operation, if any

Optional: {}

conditionsCondition array

Conditions defines current service state.

Optional: {}

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

DPUVolumeList

DPUVolumeList contains a list of DPUVolume

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

DPUVolumeList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUVolume array

DPUVolumePhase

Underlying type:string

Appears in:

Field

Description

Pending

used for DPUVolume that are not yet bound to a volume in the DPU cluster

Bound

used for DPUVolume that are bound to a volume in the DPU cluster

DPUVolumeSpec

DPUVolumeSpec defines the desired state of DPUVolume

Appears in:

Field

Description

Default

Validation

dpuStoragePolicyNamestring

Name of the DPUStoragePolicyName object that will be used to create the volume.

MinLength: 1
Required: {}

parametersobject (keys:string, values:string)

Additional parameters for the volume, these parameters are merged with the values from the DPUStoragePolicy object.

{ }

Optional: {}

accessModesPersistentVolumeAccessMode array

Access modes define how the volume can be mounted. These modes are directly passed to the
PersistentVolumeClaim created for the Vendor CSI Plugin selected by the DPUStoragePolicy.

MaxItems: 3
MinItems: 1
Required: {}

resourcesVolumeResourceRequirements

Resources represents the storage resources requested for the volume. These resource requirements
are directly passed to the PersistentVolumeClaim created for the Vendor CSI Plugin selected
by the DPUStoragePolicy. Since volume resizing is not supported, modifications to the resource request are prohibited.

Required: {}

volumeModePersistentVolumeMode

Volume mode defines how the volume should be mounted and used. This value is directly passed to the
PersistentVolumeClaim created for the Vendor CSI Plugin selected by the DPUStoragePolicy.

Filesystem

Enum: [Filesystem Block]
Optional: {}

DPUVolumeState

DPUVolumeState defines the state of the volume.

Appears in:

Field

Description

Default

Validation

dpuClusterObjectReference

DPUCluster contains the reference to the DPUCluster object that was selected for volume creation.

Optional: {}

parametersobject (keys:string, values:string)

Parameters contains the final set of parameters for volume creation, computed by merging
the parameters from the DPUStoragePolicy object with user-provided parameters.

Optional: {}

selectedDPUStorageVendorNamestring

SelectedDPUStorageVendorName contains the name of the DPUStorageVendor object that was selected for volume creation.

Optional: {}

storageVendorPluginNamestring

StorageVendorPluginName contains the name of the storage vendor plugin deployed on the DPU cluster that was selected for volume creation.

Optional: {}

storageClassNamestring

StorageClassName contains the name of the storage class in the DPU cluster that was selected for volume creation.

Optional: {}

csiDriverNamestring

CSIDriverName contains the name of the CSI driver in the DPU cluster that was selected for volume creation.

Optional: {}

persistentVolumeClaimRefObjectReference

PersistentVolumeClaimRef contains the reference to the PersistentVolumeClaim object in the DPU cluster that was created for the volume.

Optional: {}

volumeInfoVolumeInfo

VolumeInfo contains a subset of fields from the PersistentVolume object created in the DPU cluster

Optional: {}

DPUVolumeStatus

DPUVolumeStatus defines the observed state of DPUVolume

Appears in:

Field

Description

Default

Validation

phaseDPUVolumePhase

Phase of the volume

Enum: [Pending Bound]
Optional: {}

stateDPUVolumeState

State of the volume. This field is managed by the controller. User usually do not need to set fields from this struct.

Optional: {}

conditionsCondition array

Conditions defines current service state.

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

FSdevAttrs

FSdevAttrs represents the attributes of the underlying filesystem device

Appears in:

Field

Description

Default

Validation

filesystemTagstring

Filesystem tag identified by SNAP on the host (used for the mount). Relevant for volume of type filesystem

FunctionType

Underlying type:string

Appears in:

Field

Description

pf

FunctionTypePF is the PF function type

vf

FunctionTypeVF is the VF function type

FunctionTypeConfig

FunctionTypeConfig is the configuration for the emulated function that should be used to attach the volume

Appears in:

Field

Description

Default

Validation

functionTypeFunctionType

FunctionType is the type of the emulated function that should be used to attach the volume

Enum: [pf vf]
Required: {}

hotplugFunctionboolean

HotplugFunction is a boolean flag that indicates if the emulated function should be hotplugged

Required: {}

NVMEAttrs

NVMEAttrs represents the attributes of the NVME emulated function

Appears in:

Field

Description

Default

Validation

namespaceIDinteger

The namespace ID within the NVME controller

Optional: {}

namespaceUUIDstring

The NVMe namespace UUID

Optional: {}

ObjectRef

ObjectRef reference to the object

Appears in:

Field

Description

Default

Validation

kindstring

apiVersionstring

namestring

namespacestring

ObjectReference

ObjectReference represents a reference to a Kubernetes object.

Appears in:

Field

Description

Default

Validation

namestring

Name specifies the name of the referenced object

MinLength: 1
Required: {}

namespacestring

Namespace specifies the namespace where the referenced object exists

MinLength: 1
Required: {}

SVVolumeAttachment

SVVolumeAttachment captures the intent to attach/detach the specified Volume to/from the specified node.

Appears in:

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

SVVolumeAttachment

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specVolumeAttachmentSpec

statusVolumeAttachmentStatus

SVVolumeAttachmentList

SVVolumeAttachmentList contains a list of SVVolumeAttachment

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

SVVolumeAttachmentList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsSVVolumeAttachment array

SelectionAlgorithm

Underlying type:string

SelectionAlgorithm represents the storage selection algorithm type

Appears in:

Field

Description

Random

Random selection across the vendors defined in the StoragePolicy list.

NumberVolumes

Load-balancing on the number of volumes belonging to the StoragePolicy.
The vendor (in the DPUStoragePolicy list) with the minimal number of volumes should be selected.

VirtioFSAttrs

VirtioFSAttrs represents the attributes of the VirtioFS emulated function

Appears in:

Field

Description

Default

Validation

filesystemTagstring

Filesystem tag identified by SNAP on the host (used for the mount). Relevant for volume of type filesystem

Optional: {}

Volume

Volume represents a persistent volume on the DPU cluster. It maps between the tenant K8S persistent volume (PV) object on the tenant cluster into the actual volume on the DPU cluster. Volume is an internal API, it is not intended to be used by users.

Appears in:

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

Volume

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specVolumeSpec

statusVolumeStatus

VolumeAttachment

VolumeAttachment captures the intent to attach/detach the specified NV-Volume to/from the specified node. VolumeAttachment is an internal API, it is not intended to be used by users.

Appears in:

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

VolumeAttachment

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specVolumeAttachmentSpec

statusVolumeAttachmentStatus

VolumeAttachmentList

VolumeAttachmentList contains a list of VolumeAttachment

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

VolumeAttachmentList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsVolumeAttachment array

VolumeAttachmentSpec

VolumeAttachmentSpec defines the desired state of VolumeAttachment

Appears in:

Field

Description

Default

Validation

nodeNamestring

The name of the node that the volume should be attached to

sourceVolumeSource

Reference to the NV-Volume object

volumeAttachmentRefObjectRef

Reference to the SV-VolumeAttachment object

parametersobject (keys:string, values:string)

Opaque static publish properties of the volume returned by the plugin

functionTypeFunctionType

FunctionType is the type of the emulated function that should be used to attach the volume

Enum: [pf vf]
Required: {}

hotplugFunctionboolean

HotplugFunction is a boolean flag that indicates if the emulated function should be hotplugged

Required: {}

VolumeAttachmentStatus

VolumeAttachmentStatus defines the observed state of VolumeAttachment

Appears in:

Field

Description

Default

Validation

storageAttachedboolean

Indicates the volume is successfully attached to the target storage system

messagestring

The last error encountered during the attach operation, if any

dpuVolumeAttachmentStatusDPU

Details about the DPU attachment

VolumeAttachmentStatusDPU

VolumeAttachmentStatusDPU describe the information of DPU volume

Appears in:

Field

Description

Default

Validation

attachedboolean

Indicates the volume is successfully attached to the DPU node

pciDeviceAddressstring

PCI device address in the following format: (bus:device.function)

deviceNamestring

The name of the device that was created by the storage vendor plugin

bdevAttrsBdevAttrs

The attributes of the underlying block device

Optional: {}

fsdevAttrsFSdevAttrs

The attributes of the underlying filesystem device

Optional: {}

VolumeInfo

VolumeInfo represents a subset of fields from the PersistentVolume object that was created in the DPU cluster. This struct is used to track and expose key volume information without carrying the full PersistentVolume object.

Appears in:

Field

Description

Default

Validation

volumeNamestring

VolumeName contains the name of the PersistentVolume object in the DPU cluster

Optional: {}

capacityResourceList

Actual capacity of the volume in the DPU cluster

Optional: {}

accessModesPersistentVolumeAccessMode array

Actual access modes of the volume in the DPU cluster

Optional: {}

volumeModePersistentVolumeMode

Actual volume mode of the volume in the DPU cluster

Optional: {}

volumeAttributesobject (keys:string, values:string)

VolumeAttributes from the PersistentVolume object in the DPU cluster
This field usually contains parameters returned by the Vendor CSI plugin on volume creation.

Optional: {}

VolumeList

VolumeList contains a list of Volume

Field

Description

Default

Validation

apiVersionstring

storage.dpu.nvidia.com/v1alpha1

kindstring

VolumeList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsVolume array

VolumeRequest

VolumeRequest represents the volume's requirements

Appears in:

Field

Description

Default

Validation

capacityRangeCapacityRange

The capacity of the required storage space in bytes

Optional: {}

accessModesPersistentVolumeAccessMode array

Contains the types of access modes required

Optional: {}

volumeModePersistentVolumeMode

volumeMode defines what type of volume is required by the claim.
Value of Filesystem is implied when not included in claim spec.

Optional: {}

VolumeSource

VolumeSource references to the NV-Volume object

Appears in:

Field

Description

Default

Validation

volumeRefObjectRef

Reference to the NV-Volume object

VolumeSpec

VolumeSpec defines the desired state of Volume

Appears in:

Field

Description

Default

Validation

storageParametersobject (keys:string, values:string)

List of storage parameters supported by the policy, values are string only

Optional: {}

requestVolumeRequest

The capacity of the required storage space in bytes

Required: {}

storagePolicyRefObjectRef

Reference to the StoragePolicy object

Optional: {}

storagePolicyParametersobject (keys:string, values:string)

List of storage parameters supported by the policy, values are string only

Optional: {}

volumeVolumeSpecDPU

Describe volume information in DPU cluster

Optional: {}

VolumeSpecDPU

VolumeSpecDPU describe volume information in DPU cluster

Appears in:

Field

Description

Default

Validation

idstring

capacityQuantity

accessModesPersistentVolumeAccessMode array

reclaimPolicyPersistentVolumeReclaimPolicy

Enum: [Delete Retain]

storageVendorNamestring

storageVendorPluginNamestring

volumeAttributesobject (keys:string, values:string)

csiReferenceCSIReference

VolumeState

Underlying type:string

VolumeState represents the state of volume

Validation:

  • Enum: [InProgress Available]

Appears in:

Field

Description

InProgress

InProgress means the some of related resource is still in progress

Available

Available means that all related resources are created

VolumeStatus

VolumeStatus defines the observed state of Volume

Appears in:

Field

Description

Default

Validation

stateVolumeState

The state of a Volume object

Enum: [InProgress Available]
Optional: {}

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

repoURLstring

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://).+$
Required: {}

pathstring

Path is the location of the chart inside the repo.

Optional: {}

versionstring

Version is a semver tag for the Chart's version.

MinLength: 1
Required: {}

chartstring

Chart is the name of the helm chart.

Optional: {}

releaseNamestring

ReleaseName is the name to give to the release generate from the DPUService.

Optional: {}

CNIPlugin

CNIPlugin defines a CNI plugin to be used in a chained CNI configuration. When multiple CNI plugins are specified in ChainedCNIs, they are executed in order after the base OVS CNI plugin to provide additional network functionality.

Appears in:

Field

Description

Default

Validation

typestring

Type specifies the CNI plugin type to be used in the chain.
Currently only "rdma" is supported, which enables RDMA capabilities for the network interface.

Enum: [rdma]
Required: {}

configRawExtension

Config contains optional plugin-specific configuration as raw JSON.
The configuration is merged into the CNI plugin configuration.

Optional: {}

ConfigPort

ConfigPort defines the configuration of a single port within a DPUService. Each port must have a unique name within the service.

Appears in:

Field

Description

Default

Validation

namestring

Name is a unique identifier for the port within the DPUService.
This name is used for reference inside the service.

MinLength: 1
Pattern: ^[a-z0-9-]+$
Required: {}

portinteger

Port is the port number that will be exposed by the service.
Must be within the valid range of TCP/UDP ports (1-65535).

Required: {}

protocolProtocol

Protocol specifies the transport protocol used by the port.
Supported values: TCP, UDP

Enum: [TCP UDP]
Required: {}

nodePortinteger

NodePort is the external port assigned on each node in the cluster.
If not set, Kubernetes will automatically allocate a NodePort.
Constraints:
- Can only be set when ServiceType is "NodePort".
- Must be within the clusters valid NodePort range (Kubernetes default is 30000-32767).

Optional: {}

ConfigPorts

ConfigPorts defines the desired state of port configurations for a DPUService. This struct determines how ports are exposed from the DPU to the host cluster. A DPUService can only have a single ServiceType across all ports.

Validation:

  • If any port has a NodePort assigned, ServiceType must be "NodePort".

Appears in:

Field

Description

Default

Validation

serviceTypeServiceType

ServiceType specifies the type of Kubernetes Service to create.
All ports within this ConfigPorts will have the same ServiceType.
The value is immutable and cannot be changed after creation.
Supported values:
- "NodePort": Exposes ports externally on a node.
- "ClusterIP": Exposes ports internally within the cluster.
- "None": Internal-only service with no cluster IP.
Default: "NodePort"

NodePort

Enum: [NodePort ClusterIP None]
Required: {}

portsConfigPort array

Ports defines the list of port configurations that will be exposed by the DPUService.
Each port must specify a name, port number, and protocol.
Constraints:
- If ServiceType is "NodePort", ports may optionally specify a NodePort.
- If ServiceType is "None" or "ClusterIP", ports cannot specify a NodePort.

Required: {}

DPUDeployment

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

Appears in:

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUDeployment

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUDeploymentSpec

statusDPUDeploymentStatus

DPUDeploymentList

DPUDeploymentList contains a list of DPUDeployment

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUDeploymentList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUDeployment array

DPUDeploymentPort

DPUDeploymentPort defines how a port can be configured

Appears in:

Field

Description

Default

Validation

serviceDPUDeploymentService

Service holds configuration that helps configure the Service Function Chain and identify a port associated with
a DPUService

Optional: {}

serviceInterfaceServiceIfc

ServiceInterface holds configuration that helps configure the Service Function Chain and identify a user defined
port

Optional: {}

DPUDeploymentService

DPUDeploymentService is the struct used for referencing an interface.

Appears in:

Field

Description

Default

Validation

namestring

Name is the name of the service as defined in the DPUDeployment Spec

MaxLength: 28
MinLength: 1
Required: {}

interfacestring

Interface name is the name of the interface as defined in the DPUServiceConfiguration

MaxLength: 15
MinLength: 1
Required: {}

ipamIPAM

IPAM defines the IPAM configuration that is configured in the Service Function Chain

Optional: {}

DPUDeploymentServiceConfiguration

DPUDeploymentServiceConfiguration describes the configuration of a particular Service

Appears in:

Field

Description

Default

Validation

serviceTemplatestring

ServiceTemplate is the name of the DPUServiceTemplate object to be used for this Service. It must be in the same
namespace as the DPUDeployment.

serviceConfigurationstring

ServiceConfiguration is the name of the DPUServiceConfiguration object to be used for this Service. It must be
in the same namespace as the DPUDeployment.

dependsOnLocalObjectDependency array

DependsOn is a list of local object dependencies that are required for this Service.

MinItems: 1
Optional: {}

DPUDeploymentSpec

DPUDeploymentSpec defines the desired state of DPUDeployment

Appears in:

Field

Description

Default

Validation

dpusDPUs

DPUs contains the DPU related configuration

Required: {}

servicesobject (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.

MaxProperties: 50
MinProperties: 1
Required: {}

serviceChainsServiceChains

ServiceChains contains the configuration related to the DPUServiceChains that the DPUDeployment creates.

Optional: {}

revisionHistoryLimitinteger

The maximum number of revisions that can be retained during upgrades.
Defaults to 10.

10

Minimum: 1
Optional: {}

DPUDeploymentStatus

DPUDeploymentStatus defines the observed state of DPUDeployment

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions reflect the status of the object

observedGenerationinteger

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

portsDPUDeploymentPort array

Ports contains the ports of the switch

MaxItems: 50
MinItems: 1
Required: {}

serviceMTUinteger

ServiceMTU of the switch
The default is 1500.

1500

Maximum: 9216
Minimum: 1280
Optional: {}

DPUService

DPUService is the Schema for the dpuservices API

Appears in:

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUService

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUServiceSpec

statusDPUServiceStatus

DPUServiceChain

DPUServiceChain is the Schema for the DPUServiceChain API

Appears in:

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceChain

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUServiceChainSpec

statusDPUServiceChainStatus

DPUServiceChainList

DPUServiceChainList contains a list of DPUServiceChain

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceChainList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUServiceChain array

DPUServiceChainSpec

DPUServiceChainSpec defines the desired state of DPUServiceChainSpec

Appears in:

Field

Description

Default

Validation

clusterSelectorLabelSelector

Select the Clusters with specific labels, ServiceChainSet CRs will be created only for these Clusters
Deprecated: This field is deprecated and will be removed with v26.7.0. Use DPUClusterSelector instead.

Optional: {}

dpuClusterSelectorLabelSelector

DPUClusterSelector determines in which clusters the DPUServiceChain controller should apply the configuration.

Optional: {}

templateServiceChainSetSpecTemplate

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

conditionsCondition array

Conditions reflect the status of the object

observedGenerationinteger

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

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceConfiguration

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUServiceConfigurationSpec

statusDPUServiceConfigurationStatus

DPUServiceConfigurationList

DPUServiceConfigurationList contains a list of DPUServiceConfiguration

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceConfigurationList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUServiceConfiguration array

DPUServiceConfigurationServiceDaemonSetValues

DPUServiceConfigurationServiceDaemonSetValues reflects the Helm related configuration

Appears in:

Field

Description

Default

Validation

updateStrategyDaemonSetUpdateStrategy

UpdateStrategy specifies the DeaemonSet update strategy for the ServiceDaemonset.

Optional: {}

labelsobject (keys:string, values:string)

Labels specifies labels which are added to the ServiceDaemonSet.

MaxProperties: 50
Optional: {}

annotationsobject (keys:string, values:string)

Annotations specifies annotations which are added to the ServiceDaemonSet.

MaxProperties: 50
Optional: {}

resourcesResourceList

Resources specifies resources which are added to the ServiceDaemonSet.

Optional: {}

DPUServiceConfigurationSpec

DPUServiceConfigurationSpec defines the desired state of DPUServiceConfiguration

Appears in:

Field

Description

Default

Validation

deploymentServiceNamestring

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.

MaxLength: 28
MinLength: 1
Required: {}

serviceConfigurationServiceConfiguration

ServiceConfiguration contains fields that are configured on the generated DPUService.

Optional: {}

interfacesServiceInterfaceTemplate array

Interfaces specifies the DPUServiceInterface to be generated for the generated DPUService.

MaxItems: 50
MinItems: 1
Optional: {}

upgradePolicyUpgradePolicy

UpgradePolicy contains the configuration for the upgrade process

{ }

Required: {}

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

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceCredentialRequest

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUServiceCredentialRequestSpec

statusDPUServiceCredentialRequestStatus

DPUServiceCredentialRequestList

DPUServiceCredentialRequestList contains a list of DPUServiceCredentialRequest

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceCredentialRequestList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUServiceCredentialRequest array

DPUServiceCredentialRequestSpec

DPUServiceCredentialRequestSpec defines the desired state of DPUServiceCredentialRequest

Appears in:

Field

Description

Default

Validation

serviceAccountNamespacedName

ServiceAccount defines the needed information to create the service account.

Required: {}

durationDuration

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
Optional: {}

targetClusterNamespacedName

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.

Optional: {}

typestring

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 several
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 handle file rotation.

Enum: [kubeconfig tokenFile]
Required: {}

secretNamespacedName

Secret defines the needed information to create the secret.
The secret will be of the type specified in the spec.type field.

Required: {}

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

Optional: {}

DPUServiceCredentialRequestStatus

DPUServiceCredentialRequestStatus defines the observed state of DPUServiceCredentialRequest

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions defines current service state.

Optional: {}

serviceAccountstring

ServiceAccount is the namespaced name of the ServiceAccount resource created by
the controller for the DPUServiceCredentialRequest.

targetClusterstring

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.

Optional: {}

expirationTimestampTime

ExpirationTimestamp is the time when the token will expire.

Optional: {}

issuedAtTime

IssuedAt is the time when the token was issued.

Optional: {}

secretstring

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

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceIPAM

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUServiceIPAMSpec

statusDPUServiceIPAMStatus

DPUServiceIPAMList

DPUServiceIPAMList contains a list of DPUServiceIPAM

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceIPAMList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUServiceIPAM array

DPUServiceIPAMSpec

DPUServiceIPAMSpec defines the desired state of DPUServiceIPAM

Appears in:

Field

Description

Default

Validation

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ipv4NetworkIPV4Network

IPV4Network is the configuration related to splitting a network into subnets per node, each with their own gateway.

ipv4SubnetIPV4Subnet

IPV4Subnet is the configuration related to splitting a subnet into blocks per node. In this setup, there is a
single gateway.

clusterSelectorLabelSelector

ClusterSelector determines in which clusters the DPUServiceIPAM controller should apply the configuration.
Deprecated: This field is deprecated and will be removed with v26.7.0. Use DPUClusterSelector instead.

Optional: {}

dpuClusterSelectorLabelSelector

DPUClusterSelector determines in which clusters the DPUServiceIPAM controller should apply the configuration.

Optional: {}

nodeSelectorNodeSelector

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

conditionsCondition array

Conditions reflect the status of the object

observedGenerationinteger

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

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceInterface

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUServiceInterfaceSpec

statusDPUServiceInterfaceStatus

DPUServiceInterfaceList

DPUServiceInterfaceList contains a list of DPUServiceInterface

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceInterfaceList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUServiceInterface array

DPUServiceInterfaceSpec

DPUServiceInterfaceSpec defines the desired state of DPUServiceInterfaceSpec

Appears in:

Field

Description

Default

Validation

clusterSelectorLabelSelector

Select the Clusters with specific labels, ServiceInterfaceSet CRs will be created only for these Clusters
Deprecated: This field is deprecated and will be removed with v26.7.0. Use DPUClusterSelector instead.

Optional: {}

dpuClusterSelectorLabelSelector

DPUClusterSelector determines in which clusters the DPUServiceInterface controller should apply the configuration.

Optional: {}

templateServiceInterfaceSetSpecTemplate

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

conditionsCondition array

Conditions defines current service state.

observedGenerationinteger

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

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUService array

DPUServiceNAD

DPUServiceNAD is the Schema for the dpuservicenads API.

Appears in:

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceNAD

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUServiceNADSpec

statusDPUServiceNADStatus

DPUServiceNADList

DPUServiceNADList contains a list of DPUServiceNAD.

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceNADList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUServiceNAD array

DPUServiceNADSpec

DPUServiceNADSpec defines the desired state of DPUServiceNAD.

Appears in:

Field

Description

Default

Validation

dpuClusterSelectorLabelSelector

DPUClusterSelector determines in which clusters the DPUServiceNAD controller should apply the configuration.

Optional: {}

resourceTypestring

ResourceType specifies the type of network resource to allocate for pods using this NAD.
- "vf": Virtual Function (SR-IOV VF) from the DPU's physical ports
- "sf": Scalable Function from the DPU (maps to nvidia.com/bf_sf or nvidia.com/bf_sf_trusted)
- "veth": Virtual Ethernet pair (no device plugin resource required)
The resource type determines which SR-IOV device plugin resource will be requested.

Enum: [vf sf veth]
Required: {}

bridgestring

Bridge specifies the name of the OVS bridge to which the network interface will be connected.
This bridge name is used in the CNI configuration for the OVS plugin.

Optional: {}

serviceMTUinteger

ServiceMTU specifies the MTU size in bytes for the network interface.
This value is passed to the OVS CNI plugin and determines the maximum packet size.
If there is a DPUServiceChain that references an interface that is part of this network,
then the MTU that is defined in the DPUServiceChain takes precedence.
The default is 1500.

1500

Maximum: 9216
Minimum: 1280
Optional: {}

ipamboolean

IPAM enables IP Address Management for the network interfaces attached to this network
When set to true, a DPUServiceChain that references the DPUServiceInterface that has
requested this network must be created and include the relevant IPAM information. See
DPUServiceChain documentation for more.
When set to false, the network interfaces attached to this network will not get an IP

Optional: {}

chainedCNIsCNIPlugin array

ChainedCNIs specifies additional CNI plugins to be chained after the base OVS plugin.
When specified, the NAD will use the CNI chaining format with the OVS plugin as the
first plugin, followed by the plugins defined in this list.
This allows adding capabilities like RDMA support on top of the base network interface.
If empty, the NAD uses a single OVS plugin configuration (backward compatible format).

Optional: {}

DPUServiceNADStatus

DPUServiceNADStatus defines the observed state of DPUServiceNAD.

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions reflect the status of the object

DPUServiceSpec

DPUServiceSpec defines the desired state of DPUService

Appears in:

Field

Description

Default

Validation

dpuClusterSelectorLabelSelector

Select the Clusters with specific labels, Applications will be created only for these Clusters

Optional: {}

helmChartHelmChart

HelmChart reflects the Helm related configuration

Required: {}

serviceIDstring

ServiceID is the ID of the service that the DPUService is associated with.

Optional: {}

serviceDaemonSetServiceDaemonSetValues

ServiceDaemonSet specifies the configuration for the ServiceDaemonSet.

Optional: {}

deployInClusterboolean

DeployInCluster indicates if the DPUService Helm Chart will be deployed on
the Host cluster. Default to false.

Optional: {}

interfacesstring array

Interfaces specifies the DPUServiceInterface names that the DPUService
uses in the same namespace.

MaxItems: 50
MinItems: 1
Optional: {}

pausedboolean

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.

Optional: {}

configPortsConfigPorts

ConfigPorts defines the desired state of port configurations for a DPUService.
This struct determines how ports are exposed from the DPU to the host cluster.
A DPUService can only have a single ServiceType across all ports.

Optional: {}

DPUServiceStatus

DPUServiceStatus defines the observed state of DPUService

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions defines current service state.

Optional: {}

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

Optional: {}

configPortsobject (keys:string, values:ConfigPort)

ConfigPorts defines the observed state of the config ports.
It contains the actual port numbers that are exposed on the DPUService per cluster.

Optional: {}

serviceIDstring

ServiceID is the ID of the service that the DPUService is associated with.
This is set when the DPUService is created.

Optional: {}

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

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceTemplate

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUServiceTemplateSpec

statusDPUServiceTemplateStatus

DPUServiceTemplateList

DPUServiceTemplateList contains a list of DPUServiceTemplate

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

DPUServiceTemplateList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUServiceTemplate array

DPUServiceTemplateSpec

DPUServiceTemplateSpec defines the desired state of DPUServiceTemplate

Appears in:

Field

Description

Default

Validation

deploymentServiceNamestring

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.

MaxLength: 28
MinLength: 1
Required: {}

helmChartHelmChart

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.

Required: {}

resourceRequirementsResourceList

ResourceRequirements contains the overall resources required by this particular service to run on a single node

Optional: {}

DPUServiceTemplateStatus

DPUServiceTemplateStatus defines the observed state of DPUServiceTemplate

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions reflect the status of the object

Optional: {}

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

Optional: {}

versionsobject (keys:string, values:string)

Versions reflects the required versions the generated DPUService needs in order to function correctly.

Optional: {}

DPUSet

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

Appears in:

Field

Description

Default

Validation

nameSuffixstring

NameSuffix is the suffix to be added to the name of the DPUSet object created by the DPUDeployment.

MaxLength: 24
MinLength: 1
Required: {}

nodeSelectorLabelSelector

NodeSelector defines the nodes that the DPUSet should target
Deprecated: This field is deprecated and will be removed with v26.7.0. Use DPUNodeSelector instead.

Optional: {}

dpuSelectorobject (keys:string, values:string)

DPUSelector defines the DPUs that the DPUSet should target
Deprecated: This field is deprecated and will be removed with v26.7.0. Use DPUDeviceSelector instead.

Optional: {}

dpuNodeSelectorLabelSelector

DPUNodeSelector defines the selector for DPUNodes that the DPUSet should target and should create a DPU for.

Optional: {}

dpuDeviceSelectorLabelSelector

DPUDeviceSelector defines the selector for DPUDevices that the DPUSet should target and should create a DPU for.

Optional: {}

dpuClusterSelectorobject (keys:string, values:string)

DPUClusterSelector defines the selector for DPUClusters that the DPUs created by the DPUSets created by the
DPUDeployment should join
require multiple DPUServices, DPUServiceInterfaces, and DPUServiceChains to be created so that we can mathematically
cover the union of all the selectors across all the DPUSets.

Optional: {}

dpuAnnotationsobject (keys:string, values:string)

DPUAnnotations is the annotations to be added to the DPU object created by the DPUSet.

MaxProperties: 50
Optional: {}

DPUs

DPUs contains the DPU related configuration

Appears in:

Field

Description

Default

Validation

bfbstring

BFB is the name of the BFB object to be used in this DPUDeployment. It must be in the same namespace as the
DPUDeployment.

Required: {}

flavorstring

Flavor is the name of the DPUFlavor object to be used in this DPUDeployment. It must be in the same namespace as
the DPUDeployment.

Required: {}

dpuSetsDPUSet array

DPUSets contains configuration for each DPUSet that is going to be created by the DPUDeployment

MaxItems: 50
MinItems: 1
Optional: {}

nodeEffectAction

NodeEffect is the effect the DPU has on Nodes during provisioning.

Required: {}

dpuSetStrategyDPUSetStrategy

DPUSetStrategy is the strategy to use for the DPUSets created by the DPUDeployment.

Required: {}

secureBootboolean

SecureBoot specifies whether UEFI Secure Boot should be enabled.

Optional: {}

ExcludeRange

ExcludeRange contains range of IP addresses to exclude from allocation startIP and endIP are part of the Excluded range.

Appears in:

Field

Description

Default

Validation

startIPstring

StartIP is the start of the range.

endIPstring

EndIP is the end of the range.

HelmChart

HelmChart reflects the helm related configuration

Appears in:

Field

Description

Default

Validation

sourceApplicationSource

Source specifies information about the Helm chart

Required: {}

valuesRawExtension

Values specifies Helm values to be passed to Helm template, defined as a map. This takes precedence over Values.

Optional: {}

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

networkstring

Network is the CIDR from which subnets should be allocated per node.

gatewayIndexinteger

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.

prefixSizeinteger

PrefixSize is the size of the subnet that should be allocated per node.

exclusionsstring array

Exclusions is a list of IPs that should be excluded when splitting the CIDR into subnets per node.
Deprecated: This field is deprecated and will be removed with v26.10.0. Use ExcludeRanges instead.

excludeRangesExcludeRange array

ExcludeRanges is a list of IP ranges that should be excluded from the allocation.

allocationsobject (keys:string, values:string)

Allocations describes the subnets that should be assigned in each DPU node.

defaultGatewayboolean

DefaultGateway adds gateway as default gateway in the routes list if true.

routesRoute 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

subnetstring

Subnet is the CIDR from which blocks should be allocated per node

gatewaystring

Gateway is the IP in the subnet that should be the gateway of the subnet.

perNodeIPCountinteger

PerNodeIPCount is the number of IPs that should be allocated per node.

excludeRangesExcludeRange array

ExcludeRanges is a list of IP ranges that should be excluded from the allocation.

defaultGatewayboolean

if true, add gateway as default gateway in the routes list
DefaultGateway adds gateway as default gateway in the routes list if true.

routesRoute array

Routes is the static routes list using the gateway specified in the spec.

LocalObjectDependency

LocalObjectDependency is a list of local object dependencies that are required for this Service. The object must be part of the dpuDeployment spec.services list.

Appears in:

Field

Description

Default

Validation

namestring

Name is the name of the object

Required: {}

NamespacedName

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

Appears in:

Field

Description

Default

Validation

namestring

Name of the object.

Required: {}

namespacestring

Namespace of the object, if not provided the object will be looked up in
the same namespace as the referring object

Optional: {}

OVN

OVN defines the configuration for OVN interface type

Appears in:

Field

Description

Default

Validation

externalBridgestring

ExternalBridge is the name of the OVN bridge

br-ovn

Optional: {}

ObjectMeta

ObjectMeta holds metadata like labels and annotations.

Appears in:

Field

Description

Default

Validation

labelsobject (keys:string, values:string)

Labels is a map of string keys and values.

Optional: {}

annotationsobject (keys:string, values:string)

Annotations is a map of string keys and values.

Optional: {}

PF

PF defines the PF configuration

Appears in:

Field

Description

Default

Validation

pfIDinteger

The PF ID

Required: {}

virtualNetworkstring

VirtualNetwork is the VirtualNetwork name in the same namespace

Optional: {}

PatchDef

PatchDef defines the configuration for Patch interface type

Appears in:

Field

Description

Default

Validation

peerBridgestring

PeerBridge is the name of the bridge to which the patch port is connected.
This bridge must be created before the ServiceInterface is created.

Required: {}

peerPatchNamestring

PeerPatchName is the name of the patch port on the peer bridge.
If not set, it is auto-generated in the format: p_<bridgeA>_to_<bridgeB>_<hash>
where bridge names have hyphens removed and <hash> is an 8-character FNV-1a hash
derived from the ServiceInterface's namespace/name.
Example: p_brovn_to_brsfc_7aea60f7 (for bridges br-ovn and br-sfc).

Optional: {}

peerExternalIDsobject (keys:string, values:string)

PeerExternalIDs are the external IDs used to identify the peer patch port.

Optional: {}

Physical

Physical Identifies a physical interface

Appears in:

Field

Description

Default

Validation

interfaceNamestring

The interface name

Required: {}

Port

Port defines the port configuration

Appears in:

Field

Description

Default

Validation

serviceInterfaceServiceIfc

Required: {}

Route

Route contains static route parameters

Appears in:

Field

Description

Default

Validation

dststring

The destination of the route, in CIDR notation

ServiceChain

ServiceChain is the Schema for the servicechains API

Appears in:

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

ServiceChain

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specServiceChainSpec

statusServiceChainStatus

ServiceChainList

ServiceChainList contains a list of ServiceChain

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

ServiceChainList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsServiceChain array

ServiceChainSet

ServiceChainSet is the Schema for the servicechainsets API

Appears in:

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

ServiceChainSet

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specServiceChainSetSpec

statusServiceChainSetStatus

ServiceChainSetList

ServiceChainSetList contains a list of ServiceChainSet

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

ServiceChainSetList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsServiceChainSet array

ServiceChainSetSpec

ServiceChainSetSpec defines the desired state of ServiceChainSet

Appears in:

Field

Description

Default

Validation

nodeSelectorLabelSelector

Select the Nodes with specific labels, ServiceChain CRs will be created
only for these Nodes

Optional: {}

templateServiceChainSpecTemplate

ServiceChainSpecTemplate holds the template for the ServiceChainSpec

Required: {}

ServiceChainSetSpecTemplate

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

Appears in:

Field

Description

Default

Validation

specServiceChainSetSpec

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ServiceChainSetStatus

ServiceChainSetStatus defines the observed state of ServiceChainSet

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions reflect the status of the object

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

numberAppliedinteger

The number of nodes where the service chain is applied and is supposed to be applied.

numberReadyinteger

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

nodestring

Node where this ServiceChain applies to

Optional: {}

switchesSwitch array

The switches of the ServiceChain, order is significant

MaxItems: 50
MinItems: 1
Required: {}

ServiceChainSpecTemplate

ServiceChainSpecTemplate defines the template from which ServiceChainSpecs are created

Appears in:

Field

Description

Default

Validation

specServiceChainSpec

ServiceChainSpec is the spec for the ServiceChainSpec

Required: {}

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

Optional: {}

ServiceChainStatus

ServiceChainStatus defines the observed state of ServiceChain

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions reflect the status of the object

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

ServiceChains

Appears in:

Field

Description

Default

Validation

upgradePolicyUpgradePolicy

UpgradePolicy contains the configuration for the upgrade process

{ }

Required: {}

switchesDPUDeploymentSwitch array

Switches is the list of switches that form the service chain

MaxItems: 50
MinItems: 1
Required: {}

ServiceConfiguration

ServiceConfiguration contains fields that are configured on the generated DPUService.

Appears in:

Field

Description

Default

Validation

helmChartServiceConfigurationHelmChart

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.

Optional: {}

serviceDaemonSetDPUServiceConfigurationServiceDaemonSetValues

ServiceDaemonSet contains settings related to the underlying DaemonSet that is part of the Helm chart

Optional: {}

deployInClusterboolean

DeployInCluster indicates if the DPUService Helm Chart will be deployed on the Host cluster. Default to false.

Optional: {}

configPortsConfigPorts

ConfigPorts defines the desired state of port configurations for a DPUService.
This struct determines how ports are exposed from the DPU to the host cluster.
A DPUService can only have a single ServiceType across all ports.

Optional: {}

ServiceConfigurationHelmChart

ServiceConfigurationHelmChart reflects the helm related configuration

Appears in:

Field

Description

Default

Validation

valuesRawExtension

Values specifies Helm values to be passed to Helm template, defined as a map. This takes precedence over Values.

Optional: {}

ServiceDaemonSetValues

ServiceDaemonSetValues specifies the configuration for the ServiceDaemonSet.

Appears in:

Field

Description

Default

Validation

nodeSelectorNodeSelector

NodeSelector specifies which Nodes to deploy the ServiceDaemonSet to.

Optional: {}

updateStrategyDaemonSetUpdateStrategy

UpdateStrategy specifies the DeaemonSet update strategy for the ServiceDaemonset.

Optional: {}

labelsobject (keys:string, values:string)

Labels specifies labels which are added to the ServiceDaemonSet.

Optional: {}

annotationsobject (keys:string, values:string)

Annotations specifies annotations which are added to the ServiceDaemonSet.

Optional: {}

resourcesResourceList

Resources specifies resources which are added to the ServiceDaemonSet.

Optional: {}

ServiceDef

ServiceDef Identifies the service and network for the ServiceInterface

Appears in:

Field

Description

Default

Validation

serviceIDstring

ServiceID is the DPU Service Identifier

Required: {}

networkstring

Network is the Network Attachment Definition in the form of "namespace/name"
or just "name" if the namespace is the same as the ServiceInterface.

Required: {}

interfaceNamestring

The interface name

MaxLength: 15
MinLength: 1
Required: {}

virtualNetworkstring

VirtualNetwork is the VirtualNetwork name in the same namespace

Optional: {}

ServiceIfc

ServiceIfc defines the service interface configuration

Appears in:

Field

Description

Default

Validation

matchLabelsobject (keys:string, values:string)

Labels matching service interface

MaxProperties: 50
MinProperties: 1
Required: {}

ipamIPAM

IPAM defines the IPAM configuration when referencing a serviceInterface of type 'service'

Optional: {}

ServiceInterface

ServiceInterface is the Schema for the serviceinterfaces API

Appears in:

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

ServiceInterface

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specServiceInterfaceSpec

statusServiceInterfaceStatus

ServiceInterfaceList

ServiceInterfaceList contains a list of ServiceInterface

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

ServiceInterfaceList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsServiceInterface array

ServiceInterfaceSet

ServiceInterfaceSet is the Schema for the serviceinterfacesets API

Appears in:

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

ServiceInterfaceSet

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specServiceInterfaceSetSpec

statusServiceInterfaceSetStatus

ServiceInterfaceSetList

ServiceInterfaceSetList contains a list of ServiceInterfaceSet

Field

Description

Default

Validation

apiVersionstring

svc.dpu.nvidia.com/v1alpha1

kindstring

ServiceInterfaceSetList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsServiceInterfaceSet array

ServiceInterfaceSetSpec

ServiceInterfaceSetSpec defines the desired state of ServiceInterfaceSet

Appears in:

Field

Description

Default

Validation

nodeSelectorLabelSelector

Select the Nodes with specific labels, ServiceInterface CRs will be
created only for these Nodes

Optional: {}

templateServiceInterfaceSpecTemplate

Template holds the template for the serviceInterfaceSpec

Required: {}

ServiceInterfaceSetSpecTemplate

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

Appears in:

Field

Description

Default

Validation

specServiceInterfaceSetSpec

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ServiceInterfaceSetStatus

ServiceInterfaceSetStatus defines the observed state of ServiceInterfaceSet

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions reflect the status of the object

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

numberAppliedinteger

The number of nodes where the service chain is applied and is supposed to be applied.

numberReadyinteger

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

nodestring

Node where this interface exists

Optional: {}

interfaceTypestring

The interface type ("vlan", "physical", "pf", "vf", "ovn", "patch", "service")

Enum: [vlan physical pf vf ovn patch service]
Required: {}

physicalPhysical

The physical interface definition

Optional: {}

vlanVLAN

The VLAN definition

Optional: {}

vfVF

The VF definition

Optional: {}

pfPF

The PF definition

Optional: {}

serviceServiceDef

The Service definition

Optional: {}

ovnOVN

The OVN definition
Deprecated: This field is deprecated and will be removed with v26.10.0.
Migrate to interfaceType="patch" with spec.patch.peerBridge and spec.patch.peerPatchName instead.

Optional: {}

patchPatchDef

The Patch definition

Optional: {}

ServiceInterfaceSpecTemplate

ServiceInterfaceSpecTemplate defines the template from which ServiceInterfaceSpecs are created

Appears in:

Field

Description

Default

Validation

specServiceInterfaceSpec

ServiceInterfaceSpec is the spec for the ServiceInterfaceSpec

Required: {}

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

Optional: {}

ServiceInterfaceStatus

ServiceInterfaceStatus defines the observed state of ServiceInterface

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions reflect the status of the object

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

ServiceInterfaceTemplate

ServiceInterfaceTemplate contains the information related to an interface of the DPUService

Appears in:

Field

Description

Default

Validation

namestring

Name is the name of the interface

MaxLength: 15
MinLength: 1
Required: {}

networkstring

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.

Required: {}

virtualNetworkstring

VirtualNetwork is the VirtualNetwork name in the same namespace

Optional: {}

Switch

Switch defines the switch configuration

Appears in:

Field

Description

Default

Validation

portsPort array

Ports of the switch

MaxItems: 50
MinItems: 1
Required: {}

serviceMTUinteger

ServiceMTU of the switch
The default is 1500.

1500

Maximum: 9216
Minimum: 1280
Optional: {}

UpgradePolicy

Appears in:

Field

Description

Default

Validation

applyNodeEffectboolean

ApplyNodeEffect specifies if the node effect should be applied during the
upgrade. It signals the reconciler that this object upgrade is disruptive.
Hence a new revision of the object should be created and node effect should
be applied.

true

Optional: {}

VF

VF defines the VF configuration

Appears in:

Field

Description

Default

Validation

vfIDinteger

The VF ID

Required: {}

pfIDinteger

The PF ID

Required: {}

parentInterfaceRefstring

The parent interface reference

Optional: {}

virtualNetworkstring

VirtualNetwork is the VirtualNetwork name in the same namespace

Optional: {}

VLAN

VLAN defines the VLAN configuration

Appears in:

Field

Description

Default

Validation

vlanIDinteger

The VLAN ID

Required: {}

parentInterfaceRefstring

The parent interface reference

Required: {}

vpc.dpu.nvidia.com/v1alpha1

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

Resource Types

BridgedNetworkIPAMIPv4Spec

BridgedNetworkIPAMIPv4Spec contains IPv4 IPAM configuration for bridged network

Appears in:

Field

Description

Default

Validation

dhcpboolean

DHCP if set, enables DHCP for the network

Required: {}

subnetstring

Subnet is the network subnet in CIDR format to use for DHCP. the first IP in the subnet is the gateway.

Required: {}

excludeIPsExcludeIPsEntry array

ExcludeIPs are the IPs to exclude from DHCP allocation.

Optional: {}

BridgedNetworkIPAMSpec

BridgedNetworkIPAMSpec contains IPAM configuration for bridged network

Appears in:

Field

Description

Default

Validation

ipv4BridgedNetworkIPAMIPv4Spec

IPv4 contains the IPv4 IPAM configuration

Optional: {}

BridgedNetworkSpec

BridgedNetworkSpec contains configuration for bridged network

Appears in:

Field

Description

Default

Validation

ipamBridgedNetworkIPAMSpec

IPAM contains the IPAM configuration for the bridged network

Optional: {}

DPUVPC

DPUVPC is the Schema for the dpuvpc API

Appears in:

Field

Description

Default

Validation

apiVersionstring

vpc.dpu.nvidia.com/v1alpha1

kindstring

DPUVPC

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUVPCSpec

statusDPUVPCStatus

DPUVPCList

DPUVPCList contains a list of DPUVPC

Field

Description

Default

Validation

apiVersionstring

vpc.dpu.nvidia.com/v1alpha1

kindstring

DPUVPCList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUVPC array

DPUVPCSpec

DPUVPCSpec defines the desired state of DPUVPCSpec

Appears in:

Field

Description

Default

Validation

tenantstring

Tenant which owns the VPC.

MinLength: 1
Required: {}

nodeSelectorLabelSelector

NodeSelector Selects the DPU Nodes with specific labels which belong to this VPC.

Optional: {}

isolationClassNamestring

IsolationClassName is the name of the isolation class to use for the VPC

MinLength: 1
Required: {}

interNetworkAccessboolean

InterNetworkAccess defines if virtual networks within the VPC are routed or not.
if set to false, communication between virtual networks is not allowed.

Required: {}

DPUVPCStatus

DPUVPCStatus defines the observed state of DPUVPC

Appears in:

Field

Description

Default

Validation

virtualNetworksVirtualNetworkStatus array

VirtualNetworks contains the virtual networks that belong to this VPC

Optional: {}

conditionsCondition array

Conditions reflect the status of the object

Optional: {}

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

Optional: {}

DPUVirtualNetwork

DPUVirtualNetwork is the Schema for the dpuvirtualnetwork API

Appears in:

Field

Description

Default

Validation

apiVersionstring

vpc.dpu.nvidia.com/v1alpha1

kindstring

DPUVirtualNetwork

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specDPUVirtualNetworkSpec

statusDPUVirtualNetworkStatus

DPUVirtualNetworkList

DPUVirtualNetworkList contains a list of DPUVirtualNetwork

Field

Description

Default

Validation

apiVersionstring

vpc.dpu.nvidia.com/v1alpha1

kindstring

DPUVirtualNetworkList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsDPUVirtualNetwork array

DPUVirtualNetworkSpec

DPUVirtualNetworkSpec defines the desired state of DPUVirtualNetworkSpec

Appears in:

Field

Description

Default

Validation

nodeSelectorLabelSelector

NodeSelector Selects the DPU Nodes with specific labels which can belong to the virtual network.

Optional: {}

vpcNamestring

vpcName is the name of the DPUVPC the virtual network belongs within the same namespace.

Required: {}

typeNetworkType

Type of the virtual network

Enum: [Bridged]
Required: {}

externallyRoutedboolean

ExternallyRouted defines if the virtual network can be routed externally

Required: {}

masqueradeboolean

Masquerade defines if the virtual network should masquerade the traffic before egressing to external networks.
valid only if ExternallyRouted is true

true

Optional: {}

bridgedNetworkBridgedNetworkSpec

BridgedNetwork contains the bridged network configuration

Optional: {}

DPUVirtualNetworkStatus

DPUVirtualNetworkStatus defines the observed state of DPUVirtualNetwork

Appears in:

Field

Description

Default

Validation

conditionsCondition array

Conditions reflect the status of the object

Optional: {}

observedGenerationinteger

ObservedGeneration records the Generation observed on the object the last time it was patched.

Optional: {}

ExcludeIPsEntry

Appears in:

Field

Description

Default

Validation

ipstring

IP is the IP address to exclude from DHCP allocation. must be part for the virtual network subnet.

Optional: {}

rangeRangeEntry

Range is the range of IP addresses to exclude from DHCP allocation. must be part for the virtual network subnet.

Optional: {}

IsolationClass

IsolationClass is the Schema for the isolationclass API

Appears in:

Field

Description

Default

Validation

apiVersionstring

vpc.dpu.nvidia.com/v1alpha1

kindstring

IsolationClass

metadataObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

specIsolationClassSpec

statusIsolationClassStatus

IsolationClassList

IsolationClassList contains a list of IsolationClass

Field

Description

Default

Validation

apiVersionstring

vpc.dpu.nvidia.com/v1alpha1

kindstring

IsolationClassList

metadataListMeta

Refer to Kubernetes API documentation for fields of metadata.

itemsIsolationClass array

IsolationClassSpec

IsolationClassSpec defines the configuration of IsolationClass

Appears in:

Field

Description

Default

Validation

provisionerstring

Provisioner indicates the type of the provisioner.

Required: {}

parametersobject (keys:string, values:string)

Parameters holds the parameters for the provisioner

Optional: {}

IsolationClassStatus

IsolationClassStatus defines the status of IsolationClass

Appears in:

NetworkType

Underlying type:string

NetworkType represents the type of the virtual network

Validation:

  • Enum: [Bridged]

Appears in:

Field

Description

Bridged

BridgedVirtualNetworkType represents a bridged virtual network

RangeEntry

Underlying type:struct{Start string "json:\"start\""; End string "json:\"end\""}

RangeEntry contains a range of IP addresses

Appears in:

VirtualNetworkStatus

VirtualNetworkStatus is the status of a virtual network

Appears in:

Field

Description

Default

Validation

namestring

the name of the virtual network

Required: {}

Last updated: