Commit 6fb9e8de authored by Amy Qualls's avatar Amy Qualls

Light CTRT edits for API page

Light revisions to this page to bring it closer to GitLab tone
and style.
parent b6216e88
...@@ -9,31 +9,35 @@ type: reference ...@@ -9,31 +9,35 @@ type: reference
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53016) in GitLab 13.9. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53016) in GitLab 13.9.
Group repositories can be moved between storages. This can be useful when Group repositories can be moved between storages. This API can help you when
[migrating to Gitaly Cluster](../administration/gitaly/praefect.md#migrate-to-gitaly-cluster), for [migrating to Gitaly Cluster](../administration/gitaly/praefect.md#migrate-to-gitaly-cluster), for
example, or to migrate a Group Wiki. example, or to migrate a [group wiki](../user/project/wiki/index.md#group-wikis).
As group repository storage moves are processed, they transition through different states. Values As group repository storage moves are processed, they transition through different states. Values
of `state` are: of `state` are:
- `initial`: The record has been created but the background job has not yet been scheduled. - `initial`: The record has been created, but the background job has not yet been scheduled.
- `scheduled`: The background job has been scheduled. - `scheduled`: The background job has been scheduled.
- `started`: The group repositories are being copied to the destination storage. - `started`: The group repositories are being copied to the destination storage.
- `replicated`: The group has been moved. - `replicated`: The group has been moved.
- `failed`: The group repositories failed to copy or the checksums did not match. - `failed`: The group repositories failed to copy, or the checksums did not match.
- `finished`: The group has been moved and the repositories on the source storage have been deleted. - `finished`: The group has been moved, and the repositories on the source storage have been deleted.
- `cleanup failed`: The group has been moved but the repositories on the source storage could not be deleted. - `cleanup failed`: The group has been moved, but the repositories on the source storage could not be deleted.
To ensure data integrity, groups are put in a temporary read-only state for the To ensure data integrity, groups are put in a temporary read-only state for the
duration of the move. During this time, users receive a `The repository is temporarily duration of the move. During this time, users receive this message if they try to
read-only. Please try again later.` message if they try to push new commits. push new commits:
```plaintext
The repository is temporarily read-only. Please try again later.
```
This API requires you to [authenticate yourself](index.md#authentication) as an administrator. This API requires you to [authenticate yourself](index.md#authentication) as an administrator.
For other type of repositories you can read: APIs are also available to move other types of repositories:
- [Project repository storage moves API](project_repository_storage_moves.md) - [Project repository storage moves API](project_repository_storage_moves.md).
- [Snippet repository storage moves API](snippet_repository_storage_moves.md) - [Snippet repository storage moves API](snippet_repository_storage_moves.md).
## Retrieve all group repository storage moves ## Retrieve all group repository storage moves
...@@ -41,7 +45,7 @@ For other type of repositories you can read: ...@@ -41,7 +45,7 @@ For other type of repositories you can read:
GET /group_repository_storage_moves GET /group_repository_storage_moves
``` ```
By default, `GET` requests return 20 results at a time because the API results By default, `GET` requests return 20 results at a time, because the API results
are [paginated](index.md#pagination). are [paginated](index.md#pagination).
Example request: Example request:
...@@ -71,13 +75,13 @@ Example response: ...@@ -71,13 +75,13 @@ Example response:
## Retrieve all repository storage moves for a single group ## Retrieve all repository storage moves for a single group
In order to retrieve all the repository storage moves for a single group you can use the following endpoint: To retrieve all the repository storage moves for a single group you can use the following endpoint:
```plaintext ```plaintext
GET /groups/:group_id/repository_storage_moves GET /groups/:group_id/repository_storage_moves
``` ```
By default, `GET` requests return 20 results at a time because the API results By default, `GET` requests return 20 results at a time, because the API results
are [paginated](index.md#pagination). are [paginated](index.md#pagination).
Supported attributes: Supported attributes:
...@@ -113,7 +117,8 @@ Example response: ...@@ -113,7 +117,8 @@ Example response:
## Get a single group repository storage move ## Get a single group repository storage move
In order to retrieve a single repository storage move throughout all the existing repository storage moves, you can use the following endpoint: To retrieve a single repository storage move throughout all the existing repository
storage moves, you can use the following endpoint:
```plaintext ```plaintext
GET /group_repository_storage_moves/:repository_storage_id GET /group_repository_storage_moves/:repository_storage_id
...@@ -150,7 +155,8 @@ Example response: ...@@ -150,7 +155,8 @@ Example response:
## Get a single repository storage move for a group ## Get a single repository storage move for a group
Given a group, you can retrieve a specific repository storage move for that group, through the following endpoint: Given a group, you can retrieve a specific repository storage move for that group,
through the following endpoint:
```plaintext ```plaintext
GET /groups/:group_id/repository_storage_moves/:repository_storage_id GET /groups/:group_id/repository_storage_moves/:repository_storage_id
...@@ -197,7 +203,7 @@ Supported attributes: ...@@ -197,7 +203,7 @@ Supported attributes:
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- | | --------- | ---- | -------- | ----------- |
| `group_id` | integer | yes | ID of the group. | | `group_id` | integer | yes | ID of the group. |
| `destination_storage_name` | string | no | Name of the destination storage shard. In [GitLab 13.5 and later](https://gitlab.com/gitlab-org/gitaly/-/issues/3209), the storage is selected [automatically based on storage weights](../administration/repository_storage_paths.md#configure-where-new-repositories-are-stored) if not provided. | | `destination_storage_name` | string | no | Name of the destination storage shard. In [GitLab 13.5 and later](https://gitlab.com/gitlab-org/gitaly/-/issues/3209), the storage is selected [based on storage weights](../administration/repository_storage_paths.md#configure-where-new-repositories-are-stored) if not provided. |
Example request: Example request:
...@@ -238,7 +244,7 @@ Supported attributes: ...@@ -238,7 +244,7 @@ Supported attributes:
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- | | --------- | ---- | -------- | ----------- |
| `source_storage_name` | string | yes | Name of the source storage shard. | | `source_storage_name` | string | yes | Name of the source storage shard. |
| `destination_storage_name` | string | no | Name of the destination storage shard. The storage is selected [automatically based on storage weights](../administration/repository_storage_paths.md#configure-where-new-repositories-are-stored) if not provided. | | `destination_storage_name` | string | no | Name of the destination storage shard. The storage is selected [based on storage weights](../administration/repository_storage_paths.md#configure-where-new-repositories-are-stored) if not provided. |
Example request: Example request:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment