]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mgr/smb: add RGW credentials resource and store in priv_stor 69103/head
authorAvan Thakkar <athakkar@redhat.com>
Thu, 11 Jun 2026 09:55:33 +0000 (15:25 +0530)
committerShweta Sodani <Shweta.Sodani@ibm.com>
Thu, 25 Jun 2026 16:57:52 +0000 (22:27 +0530)
commit8916aa85f73a6d3dabc62bfce4e029bff7e9322d
tree439da3261f484f859739782ed53bfd3626271d4a
parent847dc5cc8c099fed82f1228e95051b4a30c4a4da
mgr/smb: add RGW credentials resource and store in priv_stor

Refactored RGW credential management to use dedicated RGWCredential
resources instead of embedding credentials directly in Share resources.
This will help to reuse the same credential across multiple shares using
same user.

RGW credentials must not appear in the public RADOS store, which any
client with pool caps can read. Instead, write a config:merge stub
containing only the credential fields to the private mon config-key
store, and pass its URI to the container alongside the primary config
URI via extra_config_uris.

- Public config: ceph_rgw:access_key / secret_access_key are empty strings
- Private stub: stored under smb/config/<cluster_id>/config.smb.rgw,
  contains only the real credential values via config:merge
- extra_config_uris: new Config field carrying supplementary URIs
  appended to SAMBACC_CONFIG after the primary config_uri

Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Signed-off-by: Shweta Sodani <ssodani@redhat.com>
src/cephadm/cephadmlib/daemons/smb.py
src/pybind/mgr/cephadm/services/smb.py
src/pybind/mgr/smb/enums.py
src/pybind/mgr/smb/external.py
src/pybind/mgr/smb/handler.py
src/pybind/mgr/smb/internal.py
src/pybind/mgr/smb/module.py
src/pybind/mgr/smb/resources.py
src/pybind/mgr/smb/rgw_auth.py [new file with mode: 0644]
src/pybind/mgr/smb/sqlite_store.py
src/pybind/mgr/smb/staging.py