Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ An API object that represents a certificate used by a Redis Enterprise Software

| 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. |
| 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"<br />"sso_service"<br />"sso_issuer" | 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 |
28 changes: 28 additions & 0 deletions content/operate/rs/references/rest-api/objects/sso.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
Title: SSO object
alwaysopen: false
categories:
- docs
- operate
- rs
description: An object for single sign-on (SSO) configuration
linkTitle: sso
weight: $weight
---

An API object that represents single sign-on (SSO) configuration in the cluster.

| Name | Type/Value | Description |
|------|------------|-------------|
| control_plane | boolean (default: false) | If `true`, enables single sign-on (SSO) for the control plane. |
| enforce_control_plane | boolean (default: false) | If `true`, enforce SSO login for the control plane for non-admin users. If `false`, all users can still login using their local username and password if SSO is down. |
| protocol | "saml2" | SSO protocol to use. |
| issuer | complex object | Issuer related configuration.<br>Contains the following fields:<br>**id**: Unique ID of the issuer side (example: "urn:sso:example:idp")<br>**login_url**: SSO login URL (example: "https://idp.example.com/sso/saml")<br>**logout_url**: SSO logout URL (example: "https://idp.example.com/sso/slo")<br />**metadata**: Base64 encoded IdP metadata (read-only) |
| service | complex object | Service related configuration.<br />For SAML2 service configuration:<br />{{<code>}}{
"address": "string",
"saml2": {
"entity_id": "string",
"acs_url": "string",
"slo_url": "string"
}
}{{</code>}}<br>**address**: External service address used for SSO. By default, the cluster name with the Cluster Manager port is used.<br />**acs_url**: Assertion Consumer Service URL (read-only)<br>**slo_url**: Single Logout URL (read-only)<br>**entity_id**: Service entity ID (read-only) |
2 changes: 1 addition & 1 deletion content/operate/rs/references/rest-api/objects/user.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ weight: $weight
| uid | integer | User's unique ID |
| account_id | integer | SM account ID |
| action_uid | string | Action UID. If it exists, progress can be tracked by the <span class="break-all">`GET /actions/{uid}`</span> API request (read-only) |
| auth_method | **'regular'**<br />'certificate'<br />'entraid' | User's authentication method |
| auth_method | **'regular'**<br />'certificate'<br />'entraid'<br />'sso' | User's authentication method |
| bdbs_email_alerts | complex object | UIDs of databases that user will receive alerts for |
| <span class="break-all">certificate_subject_line</span> | string | The certificate’s subject line as defined by RFC2253. Used for certificate-based authentication users only. |
| cluster_email_alerts | boolean | Activate cluster email alerts for a user |
Expand Down
14 changes: 8 additions & 6 deletions content/operate/rs/references/rest-api/permissions.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ weight: $weight
| [PUT]({{< relref "./import_reset_status#put-bdbs-actions-import-reset-status" >}}) | `/v1/bdbs/{uid}/actions/import_reset_status` | Reset database import status |
| [POST]({{< relref "./import#post-bdbs-actions-import" >}}) | `/v1/bdbs/{uid}/actions/import` | Initiate manual dataset import |

## Migrate slots

| Method | Path | Description |
|--------|------|-------------|
| [POST]({{<relref "/operate/rs/references/rest-api/requests/bdbs/actions/migrate_slots#post-bdbs-actions-migrate-slots">}}) | `/v1/bdbs/{uid}/actions/migrate_slots` | Migrate slots between Redis instances (shards) within a database |
| [POST]({{<relref "/operate/rs/references/rest-api/requests/bdbs/actions/cancel_migrate_slots#post-bdbs-actions-cancel-migrate-slots">}}) | `/v1/bdbs/{uid}/actions/cancel_migrate_slots` | Cancel slot migrations between Redis instances (shards) within a database |

## Optimize shards placement

| Method | Path | Description |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
Title: Cancel migrate slots database action requests
alwaysopen: false
categories:
- docs
- operate
- rs
description: Cancel slot migrations between Redis instances (shards) within a database
headerRange: '[1-2]'
linkTitle: cancel_migrate_slots
weight: $weight
---

| Method | Path | Description |
|--------|------|-------------|
| [POST](#post-bdbs-actions-cancel-migrate-slots) | `/v1/bdbs/{uid}/actions/cancel_migrate_slots` | Cancel slot migrations between Redis instances (shards) within a database |

## Cancel slot migrations {#post-bdbs-actions-cancel-migrate-slots}

```sh
POST /v1/bdbs/{int: uid}/actions/cancel_migrate_slots
```

Cancel slot migrations. If no JSON is provided in the request body, all slot migrations on the current database will be canceled.

#### Required permissions

| Permission name | Roles |
|-----------------|-------|
| [update_bdb_with_action]({{< relref "/operate/rs/references/rest-api/permissions#update_bdb_with_action" >}}) | admin<br />cluster_member<br />db_member |

### Request {#post-request}

Include the following parameters in the request JSON body to cancel specific slot migrations. If no request body is provided, all slot migrations for the database will be canceled.

| Field | Type | Description |
|-------|------|-------------|
| slots | string | Slot ranges to cancel migration for. |
| source_shard_uid | string | The unique ID of the source shard. |
| destination_shard_uid | string | The unique ID of the destination shard. |

#### Example HTTP request

```sh
POST /v1/bdbs/3/actions/cancel_migrate_slots

{
"slots": "0-10,17-18",
"source_shard_uid": "10",
"destination_shard_uid": "11"
}
```

#### URL parameters

| Field | Type | Description |
|-------|------|-------------|
| uid | integer | The unique ID of the database. |

### Response {#post-response}

Returns a status indicating that the migration cancellation has been processed.

#### Example response

```json
{
"status": "canceled"
}
```

#### Status codes {#post-status-codes}

| Code | Description |
|------|-------------|
| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Migration canceled successfully. |
| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Invalid request parameters. |
| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Database or Redis instance not found. |
| [500 Internal Server Error](https://www.rfc-editor.org/rfc/rfc9110.html#name-500-internal-server-error) | Internal server error. |
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
Title: Migrate slots database action requests
alwaysopen: false
categories:
- docs
- operate
- rs
description: Migrate slots between Redis instances (shards) within a database
headerRange: '[1-2]'
linkTitle: migrate_slots
weight: $weight
---

| Method | Path | Description |
|--------|------|-------------|
| [POST](#post-bdbs-actions-migrate-slots) | `/v1/bdbs/{uid}/actions/migrate_slots` | Migrate slots between Redis instances (shards) within a database |

## Migrate slots between shards {#post-bdbs-actions-migrate-slots}

```sh
POST /v1/bdbs/{int: uid}/actions/migrate_slots
```

Migrate slots between Redis instances (shards) within a database.

#### Required permissions

| Permission name | Roles |
|-----------------|-------|
| [update_bdb_with_action]({{< relref "/operate/rs/references/rest-api/permissions#update_bdb_with_action" >}}) | admin<br />cluster_member<br />db_member |

### Request {#post-request}

Include the following parameters in the request JSON body:

| Field | Type | Description |
|-------|------|-------------|
| slots | string | Slot ranges to migrate. |
| source_shard_uid | string | The unique ID of the source shard. |
| destination_shard_uid | string | The unique ID of the destination shard. |

#### Example HTTP request

```sh
POST /v1/bdbs/3/actions/migrate_slots

{
"slots": "0-10,17-18",
"source_shard_uid": "10",
"destination_shard_uid": "11"
}
```

#### URL parameters

| Field | Type | Description |
|-------|------|-------------|
| uid | integer | The unique ID of the database. |

### Response {#post-response}

Returns a status indicating that the migration has been initiated.

#### Example response

```json
{
"status": "initiated"
}
```

#### Status codes {#post-status-codes}

| Code | Description |
|------|-------------|
| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Migration initiated successfully. |
| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Invalid request parameters. |
| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Database or Redis instance not found. |
| [500 Internal Server Error](https://www.rfc-editor.org/rfc/rfc9110.html#name-500-internal-server-error) | Internal server error. |
Loading