Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(namespaces): Initial support for multi-tenant #3050

Closed
wants to merge 11 commits into from
Closed

Conversation

adiholden
Copy link
Collaborator

@adiholden adiholden commented May 15, 2024

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.

@chakaz chakaz changed the title WIP do not review Tenants feat(namespaces): Initial support for multi-tenant Jul 3, 2024
@chakaz chakaz closed this Jul 3, 2024
@chakaz chakaz deleted the tenants branch July 3, 2024 10:54
chakaz added a commit that referenced this pull request Jul 3, 2024
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.
chakaz added a commit that referenced this pull request Jul 16, 2024
* 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants