Skip to content

Commit 445e3bb

Browse files
authored
RS: Module management updates for RS 8 (#2114)
* DOC-5680 RS: Removed manual module upload steps from OS upgrade prereqs * DOC-5680 Added manage_cluster_modules to REST API permissions * DOC-5680 Added user-defined modules REST API requests reference * DOC-5680 Copy edits for user-defined modules REST API requests reference * DOC-5680 Added RS 8 updates for installing modules on a cluster * DOC-5680 Removed module install step from RS 8 version of recover DB * DOC-5680 Removed previously deprecated module requests from RS 8 REST API reference * DOC-5680 Removed min_redis_pack_version and platforms from module REST API object * DOC-5680 Removed min_redis_pack_version and architecture from module_metadata REST API object * DOC-5680 Added module object link in user-defined REST API requests reference * DOC-5680 Mentioned Redis 8 automatically enables some modules/capabilities upon DB creation or upgrade * DOC-5680 RS: More Redis 8 updates for auto-enabled modules
1 parent 4a13d94 commit 445e3bb

File tree

20 files changed

+409
-561
lines changed

20 files changed

+409
-561
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
| Database type | Automatically enabled capabilities |
2+
|---------------|------------------------------------|
3+
| RAM-only | [Search and query]({{<relref "/operate/oss_and_stack/stack-with-enterprise/search">}})<br />[JSON]({{<relref "/operate/oss_and_stack/stack-with-enterprise/json">}})<br />[Time series]({{<relref "/operate/oss_and_stack/stack-with-enterprise/timeseries">}})<br />[Probabilistic]({{<relref "/operate/oss_and_stack/stack-with-enterprise/bloom">}}) |
4+
| Flash-enabled ([Auto Tiering]({{<relref "/operate/rs/databases/auto-tiering">}})) | [JSON]({{<relref "/operate/oss_and_stack/stack-with-enterprise/json">}})<br />[Probabilistic]({{<relref "/operate/oss_and_stack/stack-with-enterprise/bloom">}}) |
5+
| [Active-Active]({{<relref "/operate/rs/databases/active-active">}}) | [Search and query]({{<relref "/operate/oss_and_stack/stack-with-enterprise/search/search-active-active">}})<br />[JSON]({{<relref "/operate/oss_and_stack/stack-with-enterprise/json">}}) |

content/operate/oss_and_stack/stack-with-enterprise/install/_index.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,15 @@ linkTitle: Install and upgrade modules
1111
weight: 4
1212
---
1313

14-
Several modules, which provide Redis Stack features, come packaged with [Redis Enterprise Software]({{< relref "/operate/rs" >}}). As of version 7.8.2, Redis Enterprise Software includes three feature sets, compatible with different Redis database versions. However, if you want to use additional modules or upgrade a module to a more recent version, you need to:
14+
Several modules that provide additional Redis capabilities, such as search and query, JSON, time series, and probabilistic data structures, come packaged with [Redis Enterprise Software]({{< relref "/operate/rs" >}}). As of version 8.0, Redis Enterprise Software includes four feature sets, compatible with different Redis database versions.
15+
16+
However, if you want to use additional modules or upgrade a module to a more recent version, you need to:
1517

1618
1. [Install a module package]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster" >}}) on the cluster.
1719
1. [Enable a module]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-database" >}}) for a new database or [upgrade a module]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module" >}}) in an existing database.
20+
21+
## Automatically enabled capabilities in Redis 8
22+
23+
Databases created with or upgraded to Redis version 8 or later automatically enable the capabilities (modules) bundled with Redis Enterprise Software as follows:
24+
25+
{{<embed-md "rs-8-enabled-modules.md">}}

content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster.md

Lines changed: 58 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@ linkTitle: Install on a cluster
1010
weight: 10
1111
---
1212

13-
[Redis Enterprise Software]({{< relref "/operate/rs" >}}) comes packaged with several modules. As of version 7.8.2, Redis Enterprise Software includes three feature sets, compatible with different Redis database versions. You can view the installed modules, their versions, and their minimum compatible Redis database versions from **Cluster > Modules** in the Cluster Manager UI.
13+
[Redis Enterprise Software]({{< relref "/operate/rs" >}}) comes packaged with several modules that provide additional Redis capabilities such as [search and query]({{<relref "/operate/oss_and_stack/stack-with-enterprise/search">}}), [JSON]({{<relref "/operate/oss_and_stack/stack-with-enterprise/json">}}), [time series]({{<relref "/operate/oss_and_stack/stack-with-enterprise/timeseries">}}), and [probabilistic data structures]({{<relref "/operate/oss_and_stack/stack-with-enterprise/bloom">}}). As of version 8.0, Redis Enterprise Software includes four feature sets, compatible with different Redis database versions. You can view the installed modules, their versions, and their minimum compatible Redis database versions from **Cluster > Modules** in the Cluster Manager UI.
1414

1515
To use other modules or upgrade an existing module to a more recent version, you need to install the new module package on your cluster.
1616

1717
{{<warning>}}
18-
- Some module versions are not supported or recommended for use with Redis Enterprise.
19-
20-
- We recommend consulting [Redis support](https://redis.io/support/) before you upgrade a module on the cluster, especially if the cluster is used in production.
18+
Some module versions are not supported or recommended for use with Redis Enterprise Software.
2119
{{</warning>}}
2220

2321
## Get packaged modules
@@ -28,17 +26,61 @@ To install or upgrade a module on a [Redis Enterprise Software]({{< relref "/ope
2826

2927
- For custom-packaged modules, download a [custom-packaged module](https://redislabs.com/community/redis-modules-hub/) from the developer.
3028

31-
## Add a module to a cluster
29+
## Add a user-defined module to a cluster (Redis Software v8.0.x and later) {#add-user-defined-module-to-cluster}
30+
31+
To add a custom module to a cluster running Redis Enterprise Software version 8.0.x or later, use the following REST API requests:
32+
33+
1. [Upload the custom module configuration]({{< relref "/operate/rs/references/rest-api/requests/modules/user-defined#post-user-defined-module" >}}). Replace the values in the following example with your own.
34+
35+
```sh
36+
POST https://<host>:<port>/v2/modules/user-defined
37+
{
38+
"module_name": "TestModule",
39+
"version": 1,
40+
"semantic_version": "0.0.1",
41+
"display_name": "test module",
42+
"commands": [
43+
{
44+
"command_arity": -1,
45+
"command_name": "module.command",
46+
"first_key": 1,
47+
"flags": ["write"],
48+
"last_key": 1,
49+
"step": 1
50+
}
51+
],
52+
"command_line_args": "",
53+
"capabilities": ["list", "of", "capabilities"],
54+
"min_redis_version": "2.1"
55+
}
56+
```
57+
58+
1. For each node in the cluster, [upload the custom module artifact]({{< relref "/operate/rs/references/rest-api/requests/modules/user-defined#post-local-user-defined-artifacts" >}}):
59+
60+
```sh
61+
POST https://<host>:<port>/v2/local/modules/user-defined/artifacts
62+
"module=@/tmp/custom-module.so"
63+
```
64+
65+
The *module* parameter specifies the full path of the module artifact and must be submitted as form-data. In addition, the module artifact must be available and accessible to the server processing the request.
66+
67+
## Add a module to a cluster (Redis Software v7.22.x and earlier) {#add-a-module-to-a-cluster}
68+
69+
Use one of the following methods to add a module to a cluster running Redis Enterprise Software version 7.22.x or earlier:
3270

33-
Use one of the following methods to add a module to a Redis Enterprise cluster:
71+
{{< multitabs id="install-modules"
72+
tab1="Cluster Manager UI"
73+
tab2="REST API" >}}
3474

35-
- REST API [`POST` request to the `/v2/modules`]({{< relref "/operate/rs/references/rest-api/requests/modules#post-module-v2" >}}) endpoint
75+
To add a module to the cluster using the Cluster Manager UI:
3676

37-
- Redis Enterprise Cluster Manager UI
77+
1. Go to **Cluster > Modules**.
3878

39-
- For RedisGears, follow these [installation instructions]({{< relref "/operate/oss_and_stack/stack-with-enterprise/gears-v1/installing-redisgears" >}})
79+
1. Select **Upload module**.
4080

41-
### REST API method
81+
1. Use the file browser to add the packaged module.
82+
83+
-tab-sep-
4284

4385
To add a module to the cluster using the REST API:
4486

@@ -47,23 +89,21 @@ To add a module to the cluster using the REST API:
4789
1. Add the module to the cluster with a [`POST` request to the `/v2/modules`]({{< relref "/operate/rs/references/rest-api/requests/modules#post-module-v2" >}}) endpoint:
4890

4991
```sh
50-
POST https://[host][:port]/v2/modules
92+
POST https://<host>:<port>/v2/modules
5193
"module=@/tmp/redisearch.Linux-ubuntu16.04-x86_64.2.2.6.zip"
5294
```
5395

5496
Here, the *module* parameter specifies the full path of the module package and must be submitted as form-data. In addition, the package must be available and accessible to the server processing the request.
5597

5698
1. If the module installation succeeds, the `POST` request returns a [JSON object]({{< relref "/operate/rs/references/rest-api/objects/module" >}}) that represents the new module. If it fails, it may return a JSON object with an `error_code` and `description` with more details.
5799

58-
### Cluster Manager UI method
100+
{{< /multitabs >}}
59101

60-
To add a module to the cluster using the Cluster Manager UI:
102+
For RedisGears, follow these [installation instructions]({{< relref "/operate/oss_and_stack/stack-with-enterprise/gears-v1/installing-redisgears" >}}) instead.
61103

62-
1. Go to **Cluster > Modules**.
63-
64-
1. Select **Upload module**.
65-
66-
1. Use the file browser to add the packaged module.
104+
{{<warning>}}
105+
We recommend consulting [Redis support](https://redis.io/support/) before you upgrade a module on the cluster, especially if the cluster is used in production.
106+
{{</warning>}}
67107

68108
## Next steps
69109

content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-database.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,22 @@ weight: 30
1313

1414
Modules add additional functionality to Redis databases for specific use cases. You can enable modules when you create a database.
1515

16-
## Prerequisites
16+
## Automatically enabled capabilities in Redis 8
1717

18-
- [Installed the module on the cluster]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster" >}})
19-
- [Upgraded the module]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module" >}}) to the latest version
18+
Databases created with or upgraded to Redis version 8 or later automatically enable the capabilities (modules) bundled with Redis Enterprise Software as follows:
19+
20+
{{<embed-md "rs-8-enabled-modules.md">}}
2021

2122
## Create a database with a module
2223

23-
{{<note>}}
2424
You can only add modules to a database when you first create it. You cannot add modules to an existing database.
25-
{{</note>}}
25+
26+
### Prerequisites
27+
28+
- [Installed the module on the cluster]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster" >}})
29+
- [Upgraded the module]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module" >}}) to the latest version
30+
31+
### Create a database and enable capabilities
2632

2733
In the Redis Enterprise Cluster Manager UI, follow these steps to add modules to a database:
2834

content/operate/oss_and_stack/stack-with-enterprise/json/active-active.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ To use JSON in an Active-Active database, you must enable JSON during database c
2121

2222
Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active database]({{< relref "/operate/rc/databases/create-database/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details.
2323

24-
In Redis Enterprise Software, JSON is not enabled by default for Active-Active databases. To create an Active-Active JSON database in Redis Enterprise Software:
24+
In Redis Enterprise Software, Active-Active databases created with or upgraded to Redis version 8 or later automatically enable JSON. For earlier Redis versions, you can enable JSON during database creation:
2525

2626
1. See [Create an Active-Active geo-replicated database]({{< relref "/operate/rs/databases/active-active/create" >}}) in the Redis Enterprise Software documentation for prerequisites and detailed steps.
2727

content/operate/oss_and_stack/stack-with-enterprise/search/search-active-active.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ You can run search operations on any instance of an Active-Active database.
1515

1616
## How it works
1717

18-
1. Create an Active-Active database with RediSearch 2.x enabled.
18+
1. Create an Active-Active database with RediSearch 2.x enabled. Active-Active databases created with or upgraded to Redis version 8 or later automatically enable search and query.
1919
1. [Create the index]({{< relref "commands/ft.create" >}}) on each instance of the database.
2020
1. If you are using [synonyms]({{< relref "/develop/ai/search-and-query/advanced-concepts/synonyms" >}}), you need to add them to each replica.
2121
1. The index is maintained by each instance outside of the database keyspace, so only updates to the hashes in the databases are synchronized.

content/operate/rs/databases/active-active/create.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,14 +134,13 @@ for this database. Minimum RAM is 10%. Maximum RAM is 50%.
134134
135135
- **Memory eviction** - The default [eviction policy]({{<relref "/operate/rs/databases/memory-performance/eviction-policy">}}) for Active-Active databases is `noeviction`. Redis Enterprise versions 6.0.20 and later support all eviction policies for Active-Active databases, unless [Auto Tiering]({{<relref "/operate/rs/databases/auto-tiering">}}) is enabled.
136136
137-
- [**Capabilities**]({{< relref "/operate/oss_and_stack/stack-with-enterprise" >}}) (previously **Modules**) - When you create a new in-memory database, you can enable multiple Redis Stack capabilities in the database. For Auto Tiering databases, you can enable capabilities that support Auto Tiering. See [Redis Enterprise and Redis Stack feature compatibility
137+
- [**Capabilities**]({{< relref "/operate/oss_and_stack/stack-with-enterprise" >}}) (previously **Modules**) - When you create a new in-memory database, you can enable additional capabilities in the database. You cannot enable them after database creation.
138+
139+
Active-Active databases created with or upgraded to Redis version 8 or later automatically enable [search and query]({{<relref "/operate/oss_and_stack/stack-with-enterprise/search/search-active-active">}}) and [JSON]({{<relref "/operate/oss_and_stack/stack-with-enterprise/json">}}), which allows you to index, query, and perform full-text searches of nested JSON documents.
140+
141+
For Auto Tiering databases, you can enable capabilities that support Auto Tiering. See [Redis Enterprise and Redis Stack feature compatibility
138142
]({{< relref "/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities" >}}) for compatibility details.
139-
140-
{{<note>}}
141-
To use Redis Stack capabilities, enable them when you create a new database.
142-
You cannot enable them after database creation.
143-
{{</note>}}
144-
143+
145144
To add capabilities to the database:
146145
147146
1. In the **Capabilities** section, select one or more capabilities.

content/operate/rs/databases/active-active/develop/data-types/json.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ To use JSON in an Active-Active database, you must enable JSON during database c
2121

2222
Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/create-database/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details.
2323

24-
In Redis Enterprise Software, JSON is not enabled by default for Active-Active databases. See [Create an Active-Active JSON database]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json/active-active#create-an-active-active-json-database" >}}) in the Redis Stack and Redis Enterprise documentation for instructions.
24+
In Redis Enterprise Software, Active-Active databases created with or upgraded to Redis version 8 or later automatically enable JSON. For earlier Redis versions, see [Create an Active-Active JSON database]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json/active-active#create-an-active-active-json-database" >}}) in the Redis Stack and Redis Enterprise documentation for instructions.
2525

2626
{{<embed-md "json-active-active-command-differences.md">}}
2727

content/operate/rs/databases/active-active/planning.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ See [Synchronizing cluster node clocks]({{< relref "/operate/rs/clusters/configu
7272
## Redis modules {#redis-modules}
7373

7474
Several Redis modules are compatible with Active-Active databases. Find the list of [compatible Redis modules]({{< relref "/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities" >}}).
75-
{{< note >}}
76-
Starting with v6.2.18, you can index, query, and perform full-text searches of nested JSON documents in Active-Active databases by combining RedisJSON and RediSearch.
77-
{{< /note >}}
75+
76+
Active-Active databases created with or upgraded to Redis version 8 or later automatically enable [search and query]({{<relref "/operate/oss_and_stack/stack-with-enterprise/search/search-active-active">}}) and [JSON]({{<relref "/operate/oss_and_stack/stack-with-enterprise/json">}}), which allows you to index, query, and perform full-text searches of nested JSON documents.
77+
7878

7979
## Limitations
8080

content/operate/rs/databases/configure/_index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ after the database is created.
8383

8484
When you create a new in-memory database, you can enable multiple Redis Stack [**Capabilities**]({{<relref "/operate/oss_and_stack/stack-with-enterprise">}}).
8585

86+
Databases created with or upgraded to Redis version 8 or later automatically enable the capabilities (modules) bundled with Redis Enterprise Software as follows:
87+
88+
{{<embed-md "rs-8-enabled-modules.md">}}
89+
8690
For Auto Tiering databases, you can enable capabilities that support Auto Tiering. See [Redis Enterprise and Redis Stack feature compatibility
8791
]({{< relref "/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities" >}}) for compatibility details.
8892

0 commit comments

Comments
 (0)