2017-03-16 18:57:06 +00:00
|
|
|
|
---
|
2017-03-17 18:06:03 +00:00
|
|
|
|
layout: "api"
|
2017-03-16 18:57:06 +00:00
|
|
|
|
page_title: "/sys/replication - HTTP API"
|
|
|
|
|
sidebar_current: "docs-http-system-replication"
|
|
|
|
|
description: |-
|
2017-07-26 20:47:41 +00:00
|
|
|
|
The '/sys/replication' endpoint focuses on managing general operations in Vault Enterprise replication
|
2017-03-16 18:57:06 +00:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# `/sys/replication`
|
|
|
|
|
|
2017-03-21 17:30:28 +00:00
|
|
|
|
~> **Enterprise Only** – These endpoints require Vault Enterprise.
|
2017-03-16 18:57:06 +00:00
|
|
|
|
|
|
|
|
|
## Attempt Recovery
|
|
|
|
|
|
|
|
|
|
This endpoint attempts recovery if replication is in an adverse state. For
|
|
|
|
|
example: an error has caused replication to stop syncing.
|
|
|
|
|
|
|
|
|
|
| Method | Path | Produces |
|
|
|
|
|
| :------- | :--------------------------- | :--------------------- |
|
|
|
|
|
| `POST` | `/sys/replication/recover` | `200 application/json` |
|
|
|
|
|
|
|
|
|
|
### Sample Request
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ curl \
|
|
|
|
|
--header "X-Vault-Token: ..." \
|
|
|
|
|
--request POST \
|
2018-03-23 15:41:51 +00:00
|
|
|
|
http://127.0.0.1:8200/v1/sys/replication/recover
|
2017-03-16 18:57:06 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Sample Response
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"warnings": ["..."]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Reindex Replication
|
|
|
|
|
|
|
|
|
|
This endpoint reindexes the local data storage. This can cause a very long delay
|
|
|
|
|
depending on the number and size of objects in the data store.
|
|
|
|
|
|
|
|
|
|
**This endpoint requires 'sudo' capability.**
|
|
|
|
|
|
|
|
|
|
| Method | Path | Produces |
|
|
|
|
|
| :------- | :--------------------------- | :--------------------- |
|
|
|
|
|
| `POST` | `/sys/replication/reindex` | `200 application/json` |
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ curl \
|
|
|
|
|
--header "X-Vault-Token: ..." \
|
|
|
|
|
--request POST \
|
2018-03-23 15:41:51 +00:00
|
|
|
|
http://127.0.0.1:8200/v1/sys/replication/reindex
|
2017-03-16 18:57:06 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Sample Response
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"warnings": ["..."]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Check Status
|
|
|
|
|
|
|
|
|
|
This endpoint print information about the status of replication (mode,
|
|
|
|
|
sync progress, etc).
|
|
|
|
|
|
|
|
|
|
This is an authenticated endpoint.
|
|
|
|
|
|
|
|
|
|
| Method | Path | Produces |
|
|
|
|
|
| :------- | :--------------------------- | :--------------------- |
|
|
|
|
|
| `GET` | `/sys/replication/status` | `200 application/json` |
|
|
|
|
|
|
|
|
|
|
### Sample Request
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ curl \
|
2018-03-23 15:41:51 +00:00
|
|
|
|
http://127.0.0.1:8200/v1/sys/replication/status
|
2017-03-16 18:57:06 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Sample Response
|
|
|
|
|
|
|
|
|
|
The printed status of the replication environment. As an example, for a
|
2018-06-13 23:43:39 +00:00
|
|
|
|
performance primary and DR primary node, it will look something like:
|
2017-03-16 18:57:06 +00:00
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
2018-06-13 23:43:39 +00:00
|
|
|
|
"data": {
|
|
|
|
|
"dr": {
|
|
|
|
|
"cluster_id": "f2c21cb5-523f-617b-20ac-c913d9154ba6",
|
|
|
|
|
"known_secondaries": [
|
|
|
|
|
"3"
|
|
|
|
|
],
|
|
|
|
|
"last_wal": 291,
|
|
|
|
|
"merkle_root": "38543b95d44132138003939addbaf94125ec184e",
|
|
|
|
|
"mode": "primary",
|
|
|
|
|
"primary_cluster_addr": ""
|
|
|
|
|
},
|
|
|
|
|
"performance": {
|
|
|
|
|
"cluster_id": "1598d434-dfec-1f48-f019-3d22a8075bf9",
|
|
|
|
|
"known_secondaries": [
|
|
|
|
|
"2"
|
|
|
|
|
],
|
|
|
|
|
"last_wal": 291,
|
|
|
|
|
"merkle_root": "43f40fc775b40cc76cd5d7e289b2e6eaf4ba138c",
|
|
|
|
|
"mode": "primary",
|
|
|
|
|
"primary_cluster_addr": ""
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Sample Response from Performance Secondary & DR Primary
|
|
|
|
|
|
|
|
|
|
The printed status of the replication environment. As an example, for a
|
|
|
|
|
performnace secondary and DR primary node, it will look something like:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"dr": {
|
|
|
|
|
"cluster_id": "e4bfa800-002e-7b6d-14c2-617855ece02f",
|
|
|
|
|
"known_secondaries": [
|
|
|
|
|
"4"
|
|
|
|
|
],
|
|
|
|
|
"last_wal": 455,
|
|
|
|
|
"merkle_root": "cdcf796619240ce19dd8af30fa700f64c8006e3d",
|
|
|
|
|
"mode": "primary",
|
|
|
|
|
"primary_cluster_addr": ""
|
|
|
|
|
},
|
|
|
|
|
"performance": {
|
|
|
|
|
"cluster_id": "1598d434-dfec-1f48-f019-3d22a8075bf9",
|
|
|
|
|
"known_primary_cluster_addrs": [
|
|
|
|
|
"https://127.0.0.1:8201"
|
|
|
|
|
],
|
|
|
|
|
"last_remote_wal": 291,
|
|
|
|
|
"merkle_root": "43f40fc775b40cc76cd5d7e289b2e6eaf4ba138c",
|
|
|
|
|
"mode": "secondary",
|
|
|
|
|
"primary_cluster_addr": "https://127.0.0.1:8201",
|
|
|
|
|
"secondary_id": "2",
|
|
|
|
|
"state": "stream-wals"
|
|
|
|
|
}
|
|
|
|
|
},
|
2017-03-16 18:57:06 +00:00
|
|
|
|
}
|
|
|
|
|
```
|