Enable Custom Certificate Authority for DMS
This document provides instructions on how to configure DPF to use a custom Certificate Authority (CA) for mutual TLS (mTLS) authentication between the provisioning controller and DOCA Management Service (DMS) in non-Kubernetes(only Kubernetes control plane) system. To enable mTLS, the user needs to create a Kubernetes Secret containing the required certificates and keys, and configure the DPFOperatorConfig
to use this Secret.
Ensure have the following files ready:
Server Certificate: A PEM-encoded certificate for the server (tls.crt).
Private Key: A PEM-encoded private key corresponding to the server certificate (tls.key).
CA Certificate: A PEM-encoded certificate for the custom Certificate Authority (ca.crt).
Create a Kubernetes Secret of type kubernetes.io/tls
that includes the tls.crt
, tls.key
, and ca.crt
fields in dpf-operator-system
namespace.
kubectl create secret tls custom-ca-secret --cert=tls.crt --key=tls.key --certificate-authority=ca.crt -n dpf-operator-system
When creating or updating the DPFOperatorConfig
, specify the name of the Secret created in the previous step.
Example DPFOperatorConfig Configuration
In the DPFOperatorConfig
configuration, set the customCASecretName
field to the name of the Secret (e.g., custom-ca-secret):
apiVersion: operator.dpu.nvidia.com/v1alpha1
kind: DPFOperatorConfig
metadata:
name: dpfoperatorconfig
namespace: dpf-operator-system
spec:
provisioningController:
bfbPVCName: "bfb-pvc"
customCASecretName: "custom-ca-secret"
kamajiClusterManager: {}