Skip to content
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
e1b0b25
DOC-5565 RS 7.22.2 release notes draft
rrelledge Aug 14, 2025
62b6f16
Merge branch 'main' into DOC-5564
rrelledge Aug 15, 2025
455f450
Merge branch 'main' into DOC-5564
rrelledge Sep 10, 2025
b1810ea
DOC-5565 Added resolved issues and more details about customer-manage…
rrelledge Sep 10, 2025
435849b
RS: Customer-managed certificates for internode encryption (#2010)
rrelledge Sep 10, 2025
768b1e5
Reduce top margin when headers immediately follow other headers with …
rrelledge Aug 25, 2025
6631fa9
DOC-5564 Added link to customer-provided internode encryption certs i…
rrelledge Sep 10, 2025
025ccd6
DOC-5210 Updated rladmin and REST API examples for customer-provided …
rrelledge Sep 11, 2025
cb145aa
DOC-5210 Updated rladmin cluster certificate reference for customer-p…
rrelledge Sep 11, 2025
4270cf3
DOC-5210 Updated certificate REST API requests reference for customer…
rrelledge Sep 12, 2025
57989e5
Added deprecation of PUT /v1/cluster/update_cert to RS 7.22.2 release…
rrelledge Sep 12, 2025
2e915cc
DOC-5210 Added new customer_managed_ine_certificates to v2 Prometheus…
rrelledge Sep 12, 2025
a7eccaa
DOC-5210 Added new PUT /v1/cluster/certificates examples for updating…
rrelledge Sep 12, 2025
81a64d8
Attempting to fix broken img in RS update certs
rrelledge Sep 12, 2025
2ca9844
DOC-5210 Feedback update to clarify when new certs are used
rrelledge Sep 15, 2025
6b06268
DOC-5210 Feedback update to clarify rladmin cluster certificate refer…
rrelledge Sep 15, 2025
66bd535
DOC-5210 Feedback update for auto-copying certs to new nodes
rrelledge Sep 16, 2025
c9ff8f5
DOC-5210 Feedback update to add shared and separate INE cert examples…
rrelledge Sep 16, 2025
aacef23
DOC-5210 Fixed typo
rrelledge Sep 17, 2025
b94e8e9
DOC-5210 Fixed multitabs IDs
rrelledge Sep 17, 2025
efb9e06
Merge branch 'main' into DOC-5564
rrelledge Sep 18, 2025
77bcf4c
DOC-5210 Updated screenshot for cluster certs screen that includes IN…
rrelledge Sep 18, 2025
2af27ea
DOC-5566 Added build number and checksums to 7.22.2 Sept release note…
rrelledge Sep 18, 2025
672f932
DOC-5210 Feedback update to add RSA key requirement for customer-prov…
rrelledge Sep 22, 2025
e4c4bc5
Merge branch 'main' into DOC-5564
rrelledge Sep 22, 2025
a1769b7
DOC-5564 Updated RS 7.22.2 release notes build number and checksums
rrelledge Sep 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions assets/css/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,25 @@ section.prose {
@apply mt-16 scroll-mt-6;
}

/* Reduce top margin when headers immediately follow other headers */
.prose h1[id] + h2[id],
.prose h1[id] + h3[id],
.prose h1[id] + h4[id],
.prose h1[id] + h5[id],
.prose h1[id] + h6[id],
.prose h2[id] + h3[id],
.prose h2[id] + h4[id],
.prose h2[id] + h5[id],
.prose h2[id] + h6[id],
.prose h3[id] + h4[id],
.prose h3[id] + h5[id],
.prose h3[id] + h6[id],
.prose h4[id] + h5[id],
.prose h4[id] + h6[id],
.prose h5[id] + h6[id] {
@apply mt-6;
}

.prose p:empty,
.prose li:empty {
@apply hidden;
Expand Down Expand Up @@ -579,6 +598,11 @@ html {
scrollbar-gutter: stable;
}

/* Auto-clickable for standalone images */
img:not(a img):not(.image-card-img):not([src*="#no-click"]) {
cursor: pointer;
}

/* Chroma syntax highlighting */

/* Background */
Expand Down
1 change: 1 addition & 0 deletions content/embeds/rs-prometheus-metrics-v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
| <span class="break-all">node_available_memory_no_overbooking_bytes</span> | gauge | Available RAM in the node (bytes) without taking into account overbooking |
| node_bigstore_free_bytes | gauge | Sum of free space of back-end flash (used by flash database's [BigRedis]) on all cluster nodes (bytes); returned only when BigRedis is enabled |
| <span class="break-all">node_cert_expires_in_seconds</span> | gauge | Certificate expiration (in seconds) per given node; read more about [certificates in Redis Enterprise]({{< relref "/operate/rs/security/certificates" >}}) and [monitoring certificates]({{< relref "/operate/rs/security/certificates/monitor-certificates" >}}) |
| <span class="break-all">customer_managed_ine_certificates</span> | gauge | Indicates whether customer-provided internode encryption certificates are in use<br />0=No<br />1=Yes |
| <span class="break-all">node_ephemeral_storage_avail_bytes</span> | gauge | Disk space available to RLEC processes on configured ephemeral disk (bytes) |
| <span class="break-all">node_ephemeral_storage_free_bytes</span> | gauge | Free disk space on configured ephemeral disk (bytes) |
| node_memory_MemFree_bytes | gauge | Free memory in the node (bytes) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ categories:
- docs
- operate
- rs
description: Sets the cluster certificate.
description: Sets cluster certificates.
headerRange: '[1-2]'
linkTitle: certificate
tags:
Expand All @@ -14,13 +14,14 @@ toc: 'true'
weight: $weight
---

## `cluster certificate set <certificate_name>`

Sets a cluster certificate to a specified PEM file.

```sh
rladmin cluster certificate
set <certificate name>
certificate_file <certificate filepath>
[ key_file <key filepath> ]
rladmin cluster certificate set <certificate_name>
certificate_file <filepath>
[ key_file <filepath> ]
```

To set a certificate for a specific service, use the corresponding certificate name. See the [certificates table]({{< relref "/operate/rs/security/certificates" >}}) for the list of cluster certificates and their descriptions.
Expand All @@ -29,7 +30,7 @@ To set a certificate for a specific service, use the corresponding certificate n

| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| certificate name | 'cm'<br /> 'api'<br /> 'proxy'<br /> 'syncer'<br /> 'metrics_exporter' | Name of the certificate to update |
| certificate_name | 'cm'<br /> 'api'<br /> 'proxy'<br /> 'syncer'<br /> 'metrics_exporter' | Name of the certificate to update. See the [certificates table]({{< relref "/operate/rs/security/certificates" >}}) for descriptions. |
| certificate_file | filepath | Path to the certificate file |
| key_file | filepath | Path to the key file (optional) |

Expand All @@ -39,8 +40,47 @@ Reports that the certificate was set to the specified file. Returns an error mes

### Example

Update the proxy certificate:

```sh
$ rladmin cluster certificate set proxy \
certificate_file /tmp/proxy.pem
Set proxy certificate to contents of file /tmp/proxy.pem
```

## `cluster certificate set internal`

Sets [customer-provided internode encryption certificates]({{<relref "/operate/rs/security/encryption/internode-encryption#customer-provided-certificates">}}).

```sh
rladmin cluster certificate set internal
dpine_certificate_file <filepath>
dpine_key_file <filepath>
cpine_certificate_file <filepath>
cpine_key_file <filepath>
```

### Parameters

| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| dpine_certificate_file | filepath | Path to the data plane internode encryption (DPINE) certificate file |
| dpine_key_file | filepath | Path to the data plane internode encryption (DPINE) key file |
| cpine_certificate_file | filepath | Path to the control plane internode encryption (CPINE) certificate file |
| cpine_key_file | filepath | Path to the control plane internode encryption (CPINE) key file |

### Returns

Reports that the internal certificates were set to the specified files. Returns an error message if the certificates fail to update.

### Example

Set up [customer-provided internode encryption certificates]({{<relref "/operate/rs/security/encryption/internode-encryption#customer-provided-certificates">}}):

```sh
$ rladmin cluster certificate set internal \
dpine_certificate_file /tmp/dpine_cert.pem \
dpine_key_file /tmp/dpine_key.pem \
cpine_certificate_file /tmp/cpine_cert.pem \
cpine_key_file /tmp/cpine_key.pem
```
19 changes: 19 additions & 0 deletions content/operate/rs/references/rest-api/objects/certificates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
Title: Certificates object
alwaysopen: false
categories:
- docs
- operate
- rs
description: An object that represents a certificate
linkTitle: certificates
weight: $weight
---

An API object that represents a certificate used by a Redis Enterprise Software cluster.

| Name | Type/Value | Description |
|------|------------|-------------|
| name | `cm`<br />`api`<br />`mtls_trusted_ca`<br />`proxy`<br />`metrics_exporter`<br />`syncer`<br />`ldap_client`<br />`ccs_internode_encryption`<br />`data_internode_encryption` | Certificate type.<br />See the [certificates table]({{< relref "/operate/rs/security/certificates" >}}) for the list of cluster certificates and their descriptions. |
| certificate | string | The certificate in PEM format |
| key | string | The private key in PEM format |
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ weight: $weight
| Method | Path | Description |
|--------|------|-------------|
| [GET](#get-cluster-certificates) | `/v1/cluster/certificates` | Get cluster certificates |
| [PUT](#put-cluster-update_cert) | `/v1/cluster/update_cert` | Update a cluster certificate |
| [PUT](#put-cluster-certificates) | `/v1/cluster/certificates` | Update cluster certificates |
| [PUT](#put-cluster-update_cert) | `/v1/cluster/update_cert` | Update a cluster certificate (deprecated as of Redis Enterprise Software version 7.22.2) |
| [DELETE](#delete-cluster-certificate) | `/v1/cluster/certificates/{certificate_name}` | Delete cluster certificate |

## Get cluster certificates {#get-cluster-certificates}
Expand Down Expand Up @@ -62,15 +63,83 @@ Returns a JSON object that contains the cluster's certificates and keys.

| Code | Description |
|------|-------------|
| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error |
| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error |


## Update cluster certificates {#put-cluster-certificates}

```sh
PUT /v1/cluster/certificates
```

Replaces multiple cluster certificates with the provided certificates on all nodes within the cluster. This endpoint validates all provided certificates before actually updating the cluster.

See the [certificates table]({{< relref "/operate/rs/security/certificates" >}}) for the list of cluster certificates and their descriptions.

### Request {#put-certificates-request}

#### Example HTTP request

```sh
PUT /v1/cluster/certificates
```

#### Example JSON body

```json
{
"certificates": [
{
"name": "proxy",
"certificate": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
"key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
},
{
"name": "api",
"certificate": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
"key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
}
]
}
```

#### Request headers

| Key | Value | Description |
|-----|-------|-------------|
| Host | cnm.cluster.fqdn | Domain name |
| Accept | application/json | Accepted media type |

#### Request body

Include an array of [certificate objects]({{<relref "/operate/rs/references/rest-api/objects/certificates">}}) in the request body.

### Response {#put-certificates-response}

Returns a `200 OK` status code if all certificates are successfully replaced across the entire cluster.

If the response returns a failed status code, you should retry updating the certificates in case the cluster is no longer in an optimal state.

### Status codes {#put-certificates-status-codes}

| Code | Description |
|------|-------------|
| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error |
| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Failed, invalid certificate(s) |
| [403 Forbidden](https://www.rfc-editor.org/rfc/rfc9110.html#name-403-forbidden) | Failed, unknown certificate(s) |
| [406 Not Acceptable](https://www.rfc-editor.org/rfc/rfc9110.html#name-406-not-acceptable) | Failed, expired certificate(s) |
| [409 Conflict](https://www.rfc-editor.org/rfc/rfc9110.html#name-409-conflict) | Failed, not all nodes have been updated |

## Update cluster certificate {#put-cluster-update_cert}

```sh
PUT /v1/cluster/update_cert
```

{{<note>}}
This REST API path is deprecated as of Redis Enterprise Software 7.22.2 and will be removed in a future version. Use [`PUT /v1/cluster/certificates`](#put-cluster-certificates) instead.
{{</note>}}

Replaces an existing certificate on all nodes within the cluster with a new certificate. The new certificate must pass validation before it can replace the old certificate.

See the [certificates table]({{< relref "/operate/rs/security/certificates" >}}) for the list of cluster certificates and their descriptions.
Expand Down Expand Up @@ -105,12 +174,12 @@ Otherwise, retry the certificate update in case the failure was due to a tempora

| Code | Description |
|------|-------------|
| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error |
| [400 Bad Request](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1) | Failed, invalid certificate. |
| [403 Forbidden](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4) | Failed, unknown certificate. |
| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Failed, invalid certificate. |
| [406 Not Acceptable](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.7) | Failed, expired certificate. |
| [409 Conflict](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.10) | Failed, not all nodes have been updated. |
| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error |
| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Failed, invalid certificate. |
| [403 Forbidden](https://www.rfc-editor.org/rfc/rfc9110.html#name-403-forbidden) | Failed, unknown certificate. |
| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Failed, invalid certificate. |
| [406 Not Acceptable](https://www.rfc-editor.org/rfc/rfc9110.html#name-406-not-acceptable) | Failed, expired certificate. |
| [409 Conflict](https://www.rfc-editor.org/rfc/rfc9110.html#name-409-conflict) | Failed, not all nodes have been updated. |


## Delete cluster certificate {#delete-cluster-certificate}
Expand Down Expand Up @@ -143,7 +212,7 @@ Returns a status code that indicates the certificate deletion success or failure

| Code | Description |
|------|-------------|
| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | Operation successful |
| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Failed, requested deletion of an unknown certificate |
| [403 Forbidden](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4) | Failed, requested deletion of a required certificate |
| [500 Internal Server Error](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1) | Failed, error while deleting certificate from disk |
| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Operation successful |
| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Failed, requested deletion of an unknown certificate |
| [403 Forbidden](https://www.rfc-editor.org/rfc/rfc9110.html#name-403-forbidden) | Failed, requested deletion of a required certificate |
| [500 Internal Server Error](https://www.rfc-editor.org/rfc/rfc9110.html#name-500-internal-server-error) | Failed, error while deleting certificate from disk |
2 changes: 2 additions & 0 deletions content/operate/rs/release-notes/rs-7-22-releases/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ For more detailed release notes, select a build version from the following table

- Deprecated the `data_files` option for the `recovery_plan` specified in [`POST /v2/bdbs`]({{<relref "/operate/rs/references/rest-api/requests/bdbs#post-bdbs-v2">}}) requests. Use the new `original_bdb_shards` option to recover a database from the provided list of shards instead.

- Deprecated [`PUT /v1/cluster/update_cert`]({{<relref "/operate/rs/references/rest-api/requests/cluster/certificates#put-cluster-update_cert">}}) REST API requests as of Redis Enterprise Software version 7.22.2. Use [`PUT /v1/cluster/certificates`]({{<relref "/operate/rs/references/rest-api/requests/cluster/certificates#put-cluster-certificates">}}) to update cluster certificates instead.

#### Internal monitoring and v1 Prometheus metrics deprecation

The existing [internal monitoring engine]({{<relref "/operate/rs/monitoring/v1_monitoring">}}) is deprecated. We recommend transitioning to the new [metrics stream engine]({{<relref "/operate/rs/monitoring/metrics_stream_engine">}}) for improved performance, enhanced integration capabilities, and modernized metrics streaming.
Expand Down
Loading