mirror of
https://github.com/dragonflydb/dragonfly.git
synced 2025-05-11 10:25:47 +02:00
feat(namespaces): Initial support for multi-tenant (#3260)
* feat(namespaces): Initial support for multi-tenant #3050 This PR introduces a way to create multiple, separate and isolated namespaces in Dragonfly. Each user can be associated with a single namespace, and will not be able to interact with other namespaces. This is still experimental, and lacks some important features, such as: * Replication and RDB saving completely ignores non-default namespaces * Defrag and statistics either use the default namespace or all namespaces without separation To associate a user with a namespace, use the `ACL` command with the `TENANT:<namespace>` flag: ``` ACL SETUSER user TENANT:namespace1 ON >user_pass +@all ~* ``` For more examples and up to date info check `tests/dragonfly/acl_family_test.py` - specifically the `test_namespaces` function.
This commit is contained in:
parent
3891efac2c
commit
18ca61d29b
51 changed files with 600 additions and 255 deletions
|
@ -102,7 +102,7 @@ class Service : public facade::ServiceInterface {
|
|||
}
|
||||
|
||||
// Used by tests.
|
||||
bool IsLocked(DbIndex db_index, std::string_view key) const;
|
||||
bool IsLocked(Namespace* ns, DbIndex db_index, std::string_view key) const;
|
||||
bool IsShardSetLocked() const;
|
||||
|
||||
util::ProactorPool& proactor_pool() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue