+
metadata
string
diff --git a/deploy/charts/rook-ceph/templates/resources.yaml b/deploy/charts/rook-ceph/templates/resources.yaml
index e9070b79f..7950f0da2 100644
--- a/deploy/charts/rook-ceph/templates/resources.yaml
+++ b/deploy/charts/rook-ceph/templates/resources.yaml
@@ -10401,6 +10401,14 @@ spec:
- write
- read, write
type: string
+ buckets:
+ description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
+ enum:
+ - '*'
+ - read
+ - write
+ - read, write
+ type: string
datalog:
description: Add capabilities for user to change data logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
enum:
@@ -10481,6 +10489,14 @@ spec:
- write
- read, write
type: string
+ users:
+ description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
+ enum:
+ - '*'
+ - read
+ - write
+ - read, write
+ type: string
zone:
description: Admin capabilities to read/write Ceph object store zones. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
enum:
diff --git a/deploy/examples/crds.yaml b/deploy/examples/crds.yaml
index 954045e16..b2a3c88f0 100644
--- a/deploy/examples/crds.yaml
+++ b/deploy/examples/crds.yaml
@@ -10392,6 +10392,14 @@ spec:
- write
- read, write
type: string
+ buckets:
+ description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
+ enum:
+ - '*'
+ - read
+ - write
+ - read, write
+ type: string
datalog:
description: Add capabilities for user to change data logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
enum:
@@ -10472,6 +10480,14 @@ spec:
- write
- read, write
type: string
+ users:
+ description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
+ enum:
+ - '*'
+ - read
+ - write
+ - read, write
+ type: string
zone:
description: Admin capabilities to read/write Ceph object store zones. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
enum:
diff --git a/pkg/apis/ceph.rook.io/v1/types.go b/pkg/apis/ceph.rook.io/v1/types.go
index f1b107357..e94c98783 100755
--- a/pkg/apis/ceph.rook.io/v1/types.go
+++ b/pkg/apis/ceph.rook.io/v1/types.go
@@ -1587,10 +1587,18 @@ type ObjectUserCapSpec struct {
User string `json:"user,omitempty"`
// +optional
// +kubebuilder:validation:Enum={"*","read","write","read, write"}
+ // Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
+ Users string `json:"users,omitempty"`
+ // +optional
+ // +kubebuilder:validation:Enum={"*","read","write","read, write"}
// Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
Bucket string `json:"bucket,omitempty"`
// +optional
// +kubebuilder:validation:Enum={"*","read","write","read, write"}
+ // Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
+ Buckets string `json:"buckets,omitempty"`
+ // +optional
+ // +kubebuilder:validation:Enum={"*","read","write","read, write"}
// Admin capabilities to read/write Ceph object store metadata. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
MetaData string `json:"metadata,omitempty"`
// +optional
diff --git a/pkg/operator/ceph/object/user/controller.go b/pkg/operator/ceph/object/user/controller.go
index 0fdf0c0af..b4866cc38 100644
--- a/pkg/operator/ceph/object/user/controller.go
+++ b/pkg/operator/ceph/object/user/controller.go
@@ -424,9 +424,15 @@ func generateUserConfig(user *cephv1.CephObjectStoreUser) admin.User {
if user.Spec.Capabilities.User != "" {
userConfig.UserCaps += fmt.Sprintf("users=%s;", user.Spec.Capabilities.User)
}
+ if user.Spec.Capabilities.Users != "" {
+ userConfig.UserCaps += fmt.Sprintf("users=%s;", user.Spec.Capabilities.Users)
+ }
if user.Spec.Capabilities.Bucket != "" {
userConfig.UserCaps += fmt.Sprintf("buckets=%s;", user.Spec.Capabilities.Bucket)
}
+ if user.Spec.Capabilities.Buckets != "" {
+ userConfig.UserCaps += fmt.Sprintf("buckets=%s;", user.Spec.Capabilities.Buckets)
+ }
if user.Spec.Capabilities.MetaData != "" {
userConfig.UserCaps += fmt.Sprintf("metadata=%s;", user.Spec.Capabilities.MetaData)
}
|