From 806f0bf43b0bfdc113804ff0cfd2fcfefec71f4a Mon Sep 17 00:00:00 2001
From: Praveen M <m.praveen@ibm.com>
Date: Mon, 4 Nov 2024 13:39:47 +0530
Subject: [PATCH] api: add radosNamespace field to CephFsConfigSpec

Ceph-CSI now supports storing CephFS OMAP data in a
specified namespace defined in CephFS.radosNamespace
field in ceph-csi-config ConfigMap.
ref: https://github.com/ceph/ceph-csi/pull/4661.

This commit introduces the same by adding the radosNamespace field
to the ClientProfile.ClientProfileSpec.CephFsConfigSpec API.

Signed-off-by: Praveen M <m.praveen@ibm.com>
---
 api/v1alpha1/clientprofile_types.go                            | 3 +++
 config/crd/bases/csi.ceph.io_clientprofiles.yaml               | 2 ++
 .../ceph/ceph-csi-operator/api/v1alpha1/clientprofile_types.go | 3 +++
 3 files changed, 8 insertions(+)

diff --git a/api/v1alpha1/clientprofile_types.go b/api/v1alpha1/clientprofile_types.go
index 707295ce..cf4e4f8a 100644
--- a/api/v1alpha1/clientprofile_types.go
+++ b/api/v1alpha1/clientprofile_types.go
@@ -31,6 +31,9 @@ type CephFsConfigSpec struct {
 
 	//+kubebuilder:validation:Optional
 	FuseMountOptions map[string]string `json:"fuseMountOptions,omitempty"`
+
+	//+kubebuilder:validation:Optional
+	RadosNamespace string `json:"radosNamespace,omitempty"`
 }
 
 // RbdConfigSpec defines the desired RBD configuration
diff --git a/config/crd/bases/csi.ceph.io_clientprofiles.yaml b/config/crd/bases/csi.ceph.io_clientprofiles.yaml
index b15f9d2a..9af1cf28 100644
--- a/config/crd/bases/csi.ceph.io_clientprofiles.yaml
+++ b/config/crd/bases/csi.ceph.io_clientprofiles.yaml
@@ -74,6 +74,8 @@ spec:
                     additionalProperties:
                       type: string
                     type: object
+                  radosNamespace:
+                    type: string
                   subVolumeGroup:
                     type: string
                 type: object
diff --git a/vendor/github.com/ceph/ceph-csi-operator/api/v1alpha1/clientprofile_types.go b/vendor/github.com/ceph/ceph-csi-operator/api/v1alpha1/clientprofile_types.go
index 707295ce..cf4e4f8a 100644
--- a/vendor/github.com/ceph/ceph-csi-operator/api/v1alpha1/clientprofile_types.go
+++ b/vendor/github.com/ceph/ceph-csi-operator/api/v1alpha1/clientprofile_types.go
@@ -31,6 +31,9 @@ type CephFsConfigSpec struct {
 
 	//+kubebuilder:validation:Optional
 	FuseMountOptions map[string]string `json:"fuseMountOptions,omitempty"`
+
+	//+kubebuilder:validation:Optional
+	RadosNamespace string `json:"radosNamespace,omitempty"`
 }
 
 // RbdConfigSpec defines the desired RBD configuration