Movimientos de almacenamiento
Un administrador mueve repositorios entre shards de almacenamiento de Gitaly con movimientos de almacenamiento. Para proyectos, grupos y snippets, estas acciones listan todos los movimientos, listan los de uno, leen un movimiento, programan uno y programan movimientos para todos los repositorios de un shard. Los movimientos de grupos se sirven a partir de Premium.
Preguntas de ejemplo
Sección titulada «Preguntas de ejemplo»- “Lista los movimientos de almacenamiento de proyectos en curso”
- “Mueve el proyecto 42 al shard storage2”
- “¿En qué estado está el movimiento de almacenamiento de grupo 7?”
Cómo llamarlo
Sección titulada «Cómo llamarlo»- Dinámica, la superficie predeterminada: llama a
gitlab_execute_actionconactionigual al ID de la acción, comostorage_move.get_group, y sus parámetros enparams.gitlab_find_actionencuentra un ID a partir de una descripción de la tarea. - Meta (
GITLAB_MCP_TOOL_SURFACE=meta): llama agitlab_storage_moveconactionigual al nombre de la acción, comoget_group, y sus parámetros enparams. - Individual (
GITLAB_MCP_TOOL_SURFACE=individual): llama a la herramienta propia de la acción, comogitlab_get_group_storage_move, pasándole directamente sus parámetros.
Disponibilidad
Sección titulada «Disponibilidad»Cuántas de estas acciones sirve una instancia en cada nivel, de un total de 18:
- Free: 12
- Premium: 18
- Ultimate: 18
Solo se lista para un token que tenga admin_mode: el servidor quita el grupo de todas las superficies a un token cuyos ámbitos conoce y que no lo tiene.
Acciones de solo lectura: 12 de 18, las que conserva un despliegue en modo de solo lectura. A un token con read_api y sin api se le sirven 12 de las 18.
Acciones
Sección titulada «Acciones»La descripción de cada acción, y la de cada uno de sus parámetros, es el texto que sirve el servidor para ella en la superficie predeterminada, citado tal cual; por eso está en inglés. Las líneas de token dicen lo que exige GitLab 19.4.1 a un token para las peticiones que envía cada acción; en una instancia con Admin Mode activado, una acción que solo puede ejecutar un administrador necesita además admin_mode.
| Acción | Nivel | Individual |
|---|---|---|
storage_move.get_group | Premium | gitlab_get_group_storage_move |
storage_move.get_group_for_group | Premium | gitlab_get_group_storage_move_for_group |
storage_move.get_project | Free | gitlab_get_project_storage_move |
storage_move.get_project_for_project | Free | gitlab_get_project_storage_move_for_project |
storage_move.get_snippet | Free | gitlab_get_snippet_storage_move |
storage_move.get_snippet_for_snippet | Free | gitlab_get_snippet_storage_move_for_snippet |
storage_move.retrieve_all_group | Premium | gitlab_retrieve_all_group_storage_moves |
storage_move.retrieve_all_project | Free | gitlab_retrieve_all_project_storage_moves |
storage_move.retrieve_all_snippet | Free | gitlab_retrieve_all_snippet_storage_moves |
storage_move.retrieve_group | Premium | gitlab_retrieve_group_storage_moves |
storage_move.retrieve_project | Free | gitlab_retrieve_project_storage_moves |
storage_move.retrieve_snippet | Free | gitlab_retrieve_snippet_storage_moves |
storage_move.schedule_all_group | Premium | gitlab_schedule_all_group_storage_moves |
storage_move.schedule_all_project | Free | gitlab_schedule_all_project_storage_moves |
storage_move.schedule_all_snippet | Free | gitlab_schedule_all_snippet_storage_moves |
storage_move.schedule_group | Premium | gitlab_schedule_group_storage_move |
storage_move.schedule_project | Free | gitlab_schedule_project_storage_move |
storage_move.schedule_snippet | Free | gitlab_schedule_snippet_storage_move |
storage_move.get_group
Sección titulada «storage_move.get_group»Get a single group repository storage move by ID. Returns: the storage move with state, source and destination storage names, group reference, and creation time. See also:
storage_move.retrieve_all_group,storage_move.get_group_for_group.
- Meta-herramienta:
gitlab_storage_move, acciónget_group - Herramienta individual:
gitlab_get_group_storage_move - Nivel: Premium
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en instancia (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | integer | sí | Numeric ID of the storage move |
storage_move.get_group_for_group
Sección titulada «storage_move.get_group_for_group»Get a single repository storage move for a specific group. Returns: the storage move with state, source and destination storage names, group reference, and creation time. See also:
storage_move.retrieve_group,storage_move.get_group.
- Meta-herramienta:
gitlab_storage_move, acciónget_group_for_group - Herramienta individual:
gitlab_get_group_storage_move_for_group - Nivel: Premium
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en grupo (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
group_id | integer | sí | Numeric ID of the group |
id | integer | sí | Numeric ID of the storage move |
storage_move.get_project
Sección titulada «storage_move.get_project»Get a single project repository storage move by its global move id. Returns: the move’s id, state, source and destination storage shards, and project. Admin-only and self-managed only. See also:
storage_move.retrieve_all_project.
- Meta-herramienta:
gitlab_storage_move, acciónget_project - Herramienta individual:
gitlab_get_project_storage_move - Nivel: Free
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en instancia (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | integer | sí | Numeric ID of the storage move |
storage_move.get_project_for_project
Sección titulada «storage_move.get_project_for_project»Get a single repository storage move for a specific project by project_id and move id. Returns: the move’s id, state, source and destination storage shards, and project. Admin-only and self-managed only. See also:
storage_move.retrieve_project.
- Meta-herramienta:
gitlab_storage_move, acciónget_project_for_project - Herramienta individual:
gitlab_get_project_storage_move_for_project - Nivel: Free
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | integer | sí | Numeric ID of the storage move |
project_id | integer | sí | Numeric ID of the project |
storage_move.get_snippet
Sección titulada «storage_move.get_snippet»Get a single snippet repository storage move by its ID. Returns: the storage move with state, source and destination storage shards, and the associated snippet. See also:
storage_move.retrieve_all_snippet,storage_move.get_snippet_for_snippet.
- Meta-herramienta:
gitlab_storage_move, acciónget_snippet - Herramienta individual:
gitlab_get_snippet_storage_move - Nivel: Free
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en instancia (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | integer | sí | Numeric ID of the storage move |
storage_move.get_snippet_for_snippet
Sección titulada «storage_move.get_snippet_for_snippet»Get a single repository storage move scoped to one snippet by snippet ID and move ID. Returns: the storage move with state, source and destination storage shards, and the associated snippet. See also:
storage_move.retrieve_snippet,storage_move.get_snippet.
- Meta-herramienta:
gitlab_storage_move, acciónget_snippet_for_snippet - Herramienta individual:
gitlab_get_snippet_storage_move_for_snippet - Nivel: Free
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en instancia (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | integer | sí | Numeric ID of the storage move |
snippet_id | integer | sí | Numeric ID of the snippet |
storage_move.retrieve_all_group
Sección titulada «storage_move.retrieve_all_group»List all group repository storage moves across the instance. Returns: storage moves with state, source and destination storage names, group reference, creation time, and pagination metadata. See also:
storage_move.retrieve_group,storage_move.get_group,storage_move.schedule_all_group.
- Meta-herramienta:
gitlab_storage_move, acciónretrieve_all_group - Herramienta individual:
gitlab_retrieve_all_group_storage_moves - Nivel: Premium
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en instancia (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
order_by | string | no | Column to order keyset-paginated results by (e.g. id). Only used when pagination=‘keyset’. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction for keyset-paginated results: asc or desc. Only used when pagination=‘keyset’. |
storage_move.retrieve_all_project
Sección titulada «storage_move.retrieve_all_project»List all project repository storage moves on the instance. Returns: each move’s id, state, source and destination storage shards, and project. Admin-only and self-managed only. See also:
storage_move.get_project,storage_move.schedule_all_project.
- Meta-herramienta:
gitlab_storage_move, acciónretrieve_all_project - Herramienta individual:
gitlab_retrieve_all_project_storage_moves - Nivel: Free
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en instancia (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
order_by | string | no | Column to order keyset-paginated results by (e.g. id). Only applies when pagination=‘keyset’. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction for keyset-paginated results: asc or desc. Only applies when pagination=‘keyset’. |
storage_move.retrieve_all_snippet
Sección titulada «storage_move.retrieve_all_snippet»List every snippet repository storage move on the instance with ordering and pagination. Returns: storage moves with state, source and destination storage shards, the associated snippet, and pagination metadata. See also:
storage_move.get_snippet,storage_move.retrieve_snippet,storage_move.schedule_all_snippet.
- Meta-herramienta:
gitlab_storage_move, acciónretrieve_all_snippet - Herramienta individual:
gitlab_retrieve_all_snippet_storage_moves - Nivel: Free
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en instancia (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
order_by | string | no | Field to order results by (for example ‘id’). Maps to the GitLab order_by query parameter. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction: ‘asc’ or ‘desc’. Maps to the GitLab sort query parameter. |
storage_move.retrieve_group
Sección titulada «storage_move.retrieve_group»List repository storage moves for a single group. Returns: the group’s storage moves with state, source and destination storage names, creation time, and pagination metadata. See also:
storage_move.retrieve_all_group,storage_move.get_group_for_group,storage_move.schedule_group.
- Meta-herramienta:
gitlab_storage_move, acciónretrieve_group - Herramienta individual:
gitlab_retrieve_group_storage_moves - Nivel: Premium
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en grupo (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
group_id | integer | sí | Numeric ID of the group |
order_by | string | no | Column to order keyset-paginated results by (e.g. id). Only used when pagination=‘keyset’. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction for keyset-paginated results: asc or desc. Only used when pagination=‘keyset’. |
storage_move.retrieve_project
Sección titulada «storage_move.retrieve_project»List repository storage moves for a single project. Returns: each move’s id, state, source and destination storage shards, and project. Admin-only and self-managed only. See also:
storage_move.get_project_for_project,storage_move.schedule_project.
- Meta-herramienta:
gitlab_storage_move, acciónretrieve_project - Herramienta individual:
gitlab_retrieve_project_storage_moves - Nivel: Free
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
project_id | integer | sí | Numeric ID of the project |
order_by | string | no | Column to order keyset-paginated results by (e.g. id). Only applies when pagination=‘keyset’. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction for keyset-paginated results: asc or desc. Only applies when pagination=‘keyset’. |
storage_move.retrieve_snippet
Sección titulada «storage_move.retrieve_snippet»List repository storage moves for one snippet with ordering and pagination. Returns: storage moves scoped to the snippet with state, source and destination storage shards, and pagination metadata. See also:
storage_move.get_snippet_for_snippet,storage_move.retrieve_all_snippet,storage_move.schedule_snippet.
- Meta-herramienta:
gitlab_storage_move, acciónretrieve_snippet - Herramienta individual:
gitlab_retrieve_snippet_storage_moves - Nivel: Free
- Token clásico u OAuth:
read_api(oapi); este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Read en instancia (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
snippet_id | integer | sí | Numeric ID of the snippet |
order_by | string | no | Field to order results by (for example ‘id’). Maps to the GitLab order_by query parameter. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction: ‘asc’ or ‘desc’. Maps to the GitLab sort query parameter. |
storage_move.schedule_all_group
Sección titulada «storage_move.schedule_all_group»Schedule repository storage moves for all groups on a source storage shard. Returns: a confirmation that the bulk move has been scheduled. See also:
storage_move.retrieve_all_group,storage_move.schedule_group.
- Meta-herramienta:
gitlab_storage_move, acciónschedule_all_group - Herramienta individual:
gitlab_schedule_all_group_storage_moves - Nivel: Premium
- Token clásico u OAuth:
api; este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Create en instancia (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
source_storage_name | string | sí | Name of the source storage shard |
destination_storage_name | string | no | Name of the destination storage shard |
storage_move.schedule_all_project
Sección titulada «storage_move.schedule_all_project»Schedule repository storage moves for all projects on a Gitaly storage shard. Drains source_storage_name onto destination_storage_name. Returns: a confirmation message. Admin-only and self-managed only. See also:
storage_move.retrieve_all_project,storage_move.schedule_project.
- Meta-herramienta:
gitlab_storage_move, acciónschedule_all_project - Herramienta individual:
gitlab_schedule_all_project_storage_moves - Nivel: Free
- Token clásico u OAuth:
api; este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Create en instancia (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
source_storage_name | string | sí | Name of the source storage shard |
destination_storage_name | string | no | Name of the destination storage shard |
storage_move.schedule_all_snippet
Sección titulada «storage_move.schedule_all_snippet»Schedule repository storage moves for all snippets on a source Gitaly storage shard. Returns: a confirmation that the bulk move was scheduled. See also:
storage_move.retrieve_all_snippet,storage_move.schedule_snippet.
- Meta-herramienta:
gitlab_storage_move, acciónschedule_all_snippet - Herramienta individual:
gitlab_schedule_all_snippet_storage_moves - Nivel: Free
- Token clásico u OAuth:
api; este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Create en instancia (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
source_storage_name | string | sí | Name of the source storage shard |
destination_storage_name | string | no | Name of the destination storage shard |
storage_move.schedule_group
Sección titulada «storage_move.schedule_group»Schedule a repository storage move for a single group. Returns: the scheduled storage move with state, source and destination storage names, and group reference. See also:
storage_move.retrieve_group,storage_move.get_group_for_group,storage_move.schedule_all_group.
- Meta-herramienta:
gitlab_storage_move, acciónschedule_group - Herramienta individual:
gitlab_schedule_group_storage_move - Nivel: Premium
- Token clásico u OAuth:
api; este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Create en grupo (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
group_id | integer | sí | Numeric ID of the group |
destination_storage_name | string | no | Name of the destination storage shard |
storage_move.schedule_project
Sección titulada «storage_move.schedule_project»Schedule a repository storage move for a single project to another Gitaly storage shard. Returns: the created move’s id, state, source and destination shards, and project. Admin-only and self-managed only. See also:
storage_move.retrieve_project,storage_move.schedule_all_project.
- Meta-herramienta:
gitlab_storage_move, acciónschedule_project - Herramienta individual:
gitlab_schedule_project_storage_move - Nivel: Free
- Token clásico u OAuth:
api; este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Create en proyecto (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
project_id | integer | sí | Numeric ID of the project |
destination_storage_name | string | no | Name of the destination storage shard |
storage_move.schedule_snippet
Sección titulada «storage_move.schedule_snippet»Schedule a repository storage move for one snippet to a destination Gitaly storage shard. Returns: the scheduled storage move with its initial state and the associated snippet. See also:
storage_move.retrieve_snippet,storage_move.get_snippet_for_snippet,storage_move.schedule_all_snippet.
- Meta-herramienta:
gitlab_storage_move, acciónschedule_snippet - Herramienta individual:
gitlab_schedule_snippet_storage_move - Nivel: Free
- Token clásico u OAuth:
api; este servidor solo lista el grupo a un token que lleve ademásadmin_mode - Token de grano fino: Repository Storage Move: Create en instancia (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
snippet_id | integer | sí | Numeric ID of the snippet |
destination_storage_name | string | no | Name of the destination storage shard |