1112 lines
50 KiB
Markdown
1112 lines
50 KiB
Markdown
|
---
|
||
|
stage: Systems
|
||
|
group: Geo
|
||
|
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||
|
---
|
||
|
|
||
|
# Geo sites API **(PREMIUM SELF)**
|
||
|
|
||
|
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/369140) in GitLab 16.0.
|
||
|
|
||
|
Use the Geo sites API to manage Geo site endpoints.
|
||
|
|
||
|
Prerequisites:
|
||
|
|
||
|
- You must be an administrator.
|
||
|
|
||
|
## Create a new Geo site
|
||
|
|
||
|
Creates a new Geo site.
|
||
|
|
||
|
```plaintext
|
||
|
POST /geo_sites
|
||
|
```
|
||
|
|
||
|
```shell
|
||
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/geo_sites" \
|
||
|
--request POST \
|
||
|
-d "name=himynameissomething" \
|
||
|
-d "url=https://another-node.example.com/"
|
||
|
```
|
||
|
|
||
|
| Attribute | Type | Required | Description |
|
||
|
|---------------------------------------|---------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||
|
| `primary` | boolean | no | Specifying whether this site should be primary. Defaults to false. |
|
||
|
| `enabled` | boolean | no | Flag indicating if the Geo site is enabled. Defaults to true. |
|
||
|
| `name` | string | yes | The unique identifier for the Geo site. Must match `geo_node_name` if it is set in `gitlab.rb`, otherwise it must match `external_url` |
|
||
|
| `url` | string | yes | The user-facing URL for the Geo site. |
|
||
|
| `internal_url` | string | no | The URL defined on the primary site that secondary sites should use to contact it. Returns `url` if not set. |
|
||
|
| `files_max_capacity` | integer | no | Control the maximum concurrency of LFS/attachment backfill for this secondary site. Defaults to 10. |
|
||
|
| `repos_max_capacity` | integer | no | Control the maximum concurrency of repository backfill for this secondary site. Defaults to 25. |
|
||
|
| `verification_max_capacity` | integer | no | Control the maximum concurrency of repository verification for this site. Defaults to 100. |
|
||
|
| `container_repositories_max_capacity` | integer | no | Control the maximum concurrency of container repository sync for this site. Defaults to 10. |
|
||
|
| `sync_object_storage` | boolean | no | Flag indicating if the secondary Geo site should replicate blobs in Object Storage. Defaults to false. |
|
||
|
| `selective_sync_type` | string | no | Limit syncing to only specific groups or shards. Valid values: `"namespaces"`, `"shards"`, or `null`. |
|
||
|
| `selective_sync_shards` | array | no | The repository storage for the projects synced if `selective_sync_type` == `shards`. |
|
||
|
| `selective_sync_namespace_ids` | array | no | The IDs of groups that should be synced, if `selective_sync_type` == `namespaces`. |
|
||
|
| `minimum_reverification_interval` | integer | no | The interval (in days) in which the repository verification is valid. Once expired, it is reverified. This has no effect when set on a secondary site. |
|
||
|
|
||
|
Example response:
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"id": 3,
|
||
|
"name": "Test Site 1",
|
||
|
"url": "https://secondary.example.com/",
|
||
|
"internal_url": "https://secondary.example.com/",
|
||
|
"primary": false,
|
||
|
"enabled": true,
|
||
|
"current": false,
|
||
|
"files_max_capacity": 10,
|
||
|
"repos_max_capacity": 25,
|
||
|
"verification_max_capacity": 100,
|
||
|
"container_repositories_max_capacity": 10,
|
||
|
"selective_sync_type": "namespaces",
|
||
|
"selective_sync_shards": [],
|
||
|
"selective_sync_namespace_ids": [1, 25],
|
||
|
"minimum_reverification_interval": 7,
|
||
|
"sync_object_storage": false,
|
||
|
"web_edit_url": "https://primary.example.com/admin/geo/sites/3/edit",
|
||
|
"web_geo_replication_details_url": "https://secondary.example.com/admin/geo/sites/3/replication/lfs_objects",
|
||
|
"_links": {
|
||
|
"self": "https://primary.example.com/api/v4/geo_sites/3",
|
||
|
"status": "https://primary.example.com/api/v4/geo_sites/3/status",
|
||
|
"repair": "https://primary.example.com/api/v4/geo_sites/3/repair"
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Retrieve configuration about all Geo sites
|
||
|
|
||
|
```plaintext
|
||
|
GET /geo_sites
|
||
|
```
|
||
|
|
||
|
```shell
|
||
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/geo_sites"
|
||
|
```
|
||
|
|
||
|
Example response:
|
||
|
|
||
|
```json
|
||
|
[
|
||
|
{
|
||
|
"id": 1,
|
||
|
"name": "us-site",
|
||
|
"url": "https://primary.example.com/",
|
||
|
"internal_url": "https://internal.example.com/",
|
||
|
"primary": true,
|
||
|
"enabled": true,
|
||
|
"current": true,
|
||
|
"files_max_capacity": 10,
|
||
|
"repos_max_capacity": 25,
|
||
|
"verification_max_capacity": 100,
|
||
|
"container_repositories_max_capacity": 10,
|
||
|
"selective_sync_type": "namespaces",
|
||
|
"selective_sync_shards": [],
|
||
|
"selective_sync_namespace_ids": [1, 25],
|
||
|
"minimum_reverification_interval": 7,
|
||
|
"web_edit_url": "https://primary.example.com/admin/geo/sites/1/edit",
|
||
|
"_links": {
|
||
|
"self": "https://primary.example.com/api/v4/geo_sites/1",
|
||
|
"status":"https://primary.example.com/api/v4/geo_sites/1/status",
|
||
|
"repair":"https://primary.example.com/api/v4/geo_sites/1/repair"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"id": 2,
|
||
|
"name": "cn-site",
|
||
|
"url": "https://secondary.example.com/",
|
||
|
"internal_url": "https://secondary.example.com/",
|
||
|
"primary": false,
|
||
|
"enabled": true,
|
||
|
"current": false,
|
||
|
"files_max_capacity": 10,
|
||
|
"repos_max_capacity": 25,
|
||
|
"verification_max_capacity": 100,
|
||
|
"container_repositories_max_capacity": 10,
|
||
|
"selective_sync_type": "namespaces",
|
||
|
"selective_sync_shards": [],
|
||
|
"selective_sync_namespace_ids": [1, 25],
|
||
|
"minimum_reverification_interval": 7,
|
||
|
"sync_object_storage": true,
|
||
|
"web_edit_url": "https://primary.example.com/admin/geo/sites/2/edit",
|
||
|
"web_geo_replication_details_url": "https://secondary.example.com/admin/geo/sites/2/replication/lfs_objects",
|
||
|
"_links": {
|
||
|
"self":"https://primary.example.com/api/v4/geo_sites/2",
|
||
|
"status":"https://primary.example.com/api/v4/geo_sites/2/status",
|
||
|
"repair":"https://primary.example.com/api/v4/geo_sites/2/repair"
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
```
|
||
|
|
||
|
## Retrieve configuration about a specific Geo site
|
||
|
|
||
|
```plaintext
|
||
|
GET /geo_sites/:id
|
||
|
```
|
||
|
|
||
|
```shell
|
||
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/geo_sites/1"
|
||
|
```
|
||
|
|
||
|
Example response:
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"id": 1,
|
||
|
"name": "us-site",
|
||
|
"url": "https://primary.example.com/",
|
||
|
"internal_url": "https://primary.example.com/",
|
||
|
"primary": true,
|
||
|
"enabled": true,
|
||
|
"current": true,
|
||
|
"files_max_capacity": 10,
|
||
|
"repos_max_capacity": 25,
|
||
|
"verification_max_capacity": 100,
|
||
|
"container_repositories_max_capacity": 10,
|
||
|
"selective_sync_type": "namespaces",
|
||
|
"selective_sync_shards": [],
|
||
|
"selective_sync_namespace_ids": [1, 25],
|
||
|
"minimum_reverification_interval": 7,
|
||
|
"web_edit_url": "https://primary.example.com/admin/geo/sites/1/edit",
|
||
|
"_links": {
|
||
|
"self": "https://primary.example.com/api/v4/geo_sites/1",
|
||
|
"status":"https://primary.example.com/api/v4/geo_sites/1/status",
|
||
|
"repair":"https://primary.example.com/api/v4/geo_sites/1/repair"
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Edit a primary Geo site
|
||
|
|
||
|
Updates settings of an existing primary Geo site.
|
||
|
|
||
|
```plaintext
|
||
|
PUT /geo_sites/:id
|
||
|
```
|
||
|
|
||
|
| Attribute | Type | Required | Description |
|
||
|
|---------------------------------------|---------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||
|
| `id` | integer | yes | The ID of the Geo site. |
|
||
|
| `enabled` | boolean | no | Flag indicating if the Geo site is enabled. |
|
||
|
| `name` | string | no | The unique identifier for the Geo site. Must match `geo_node_name` if it is set in `gitlab.rb`, otherwise it must match `external_url`. |
|
||
|
| `url` | string | no | The user-facing URL of the Geo site. |
|
||
|
| `internal_url` | string | no | The URL defined on the primary site that secondary sites should use to contact it. Returns `url` if not set. |
|
||
|
| `files_max_capacity` | integer | no | Control the maximum concurrency of LFS/attachment backfill for this secondary site. |
|
||
|
| `repos_max_capacity` | integer | no | Control the maximum concurrency of repository backfill for this secondary site. |
|
||
|
| `verification_max_capacity` | integer | no | Control the maximum concurrency of verification for this site. |
|
||
|
| `container_repositories_max_capacity` | integer | no | Control the maximum concurrency of container repository sync for this site. |
|
||
|
| `selective_sync_type` | string | no | Limit syncing to only specific groups or shards. Valid values: `"namespaces"`, `"shards"`, or `null`. |
|
||
|
| `selective_sync_shards` | array | no | The repository storage for the projects synced if `selective_sync_type` == `shards`. |
|
||
|
| `selective_sync_namespace_ids` | array | no | The IDs of groups that should be synced, if `selective_sync_type` == `namespaces`. |
|
||
|
| `minimum_reverification_interval` | integer | no | The interval (in days) in which the repository verification is valid. Once expired, it is reverified. This has no effect when set on a secondary site. |
|
||
|
|
||
|
Example response:
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"id": 1,
|
||
|
"name": "us-site",
|
||
|
"url": "https://primary.example.com/",
|
||
|
"internal_url": "https://internal.example.com/",
|
||
|
"primary": true,
|
||
|
"enabled": true,
|
||
|
"current": true,
|
||
|
"files_max_capacity": 10,
|
||
|
"repos_max_capacity": 25,
|
||
|
"verification_max_capacity": 100,
|
||
|
"container_repositories_max_capacity": 10,
|
||
|
"selective_sync_type": "namespaces",
|
||
|
"selective_sync_shards": [],
|
||
|
"selective_sync_namespace_ids": [1, 25],
|
||
|
"minimum_reverification_interval": 7,
|
||
|
"web_edit_url": "https://primary.example.com/admin/geo/sites/1/edit",
|
||
|
"_links": {
|
||
|
"self": "https://primary.example.com/api/v4/geo_sites/1",
|
||
|
"status": "https://primary.example.com/api/v4/geo_sites/1/status",
|
||
|
"repair": "https://primary.example.com/api/v4/geo_sites/1/repair"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
```
|
||
|
|
||
|
## Delete a Geo site
|
||
|
|
||
|
Removes the Geo site.
|
||
|
|
||
|
```plaintext
|
||
|
DELETE /geo_sites/:id
|
||
|
```
|
||
|
|
||
|
| Attribute | Type | Required | Description |
|
||
|
|-----------|---------|----------|-------------------------|
|
||
|
| `id` | integer | yes | The ID of the Geo site. |
|
||
|
|
||
|
## Repair a primary Geo site
|
||
|
|
||
|
Repairs the OAuth authentication of a primary Geo site.
|
||
|
|
||
|
```plaintext
|
||
|
POST /geo_sites/:id/repair
|
||
|
```
|
||
|
|
||
|
Example response:
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"id": 1,
|
||
|
"name": "us-site",
|
||
|
"url": "https://primary.example.com/",
|
||
|
"internal_url": "https://primary.example.com/",
|
||
|
"primary": true,
|
||
|
"enabled": true,
|
||
|
"current": true,
|
||
|
"files_max_capacity": 10,
|
||
|
"repos_max_capacity": 25,
|
||
|
"verification_max_capacity": 100,
|
||
|
"container_repositories_max_capacity": 10,
|
||
|
"web_edit_url": "https://primary.example.com/admin/geo/sites/1/edit",
|
||
|
"_links": {
|
||
|
"self": "https://primary.example.com/api/v4/geo_sites/1",
|
||
|
"status":"https://primary.example.com/api/v4/geo_sites/1/status",
|
||
|
"repair":"https://primary.example.com/api/v4/geo_sites/1/repair"
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Retrieve status about all Geo sites
|
||
|
|
||
|
```plaintext
|
||
|
GET /geo_sites/status
|
||
|
```
|
||
|
|
||
|
```shell
|
||
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/geo_sites/status"
|
||
|
```
|
||
|
|
||
|
Example response:
|
||
|
|
||
|
```json
|
||
|
[
|
||
|
{
|
||
|
"geo_node_id": 1,
|
||
|
"repository_verification_enabled": true,
|
||
|
"repositories_replication_enabled": null,
|
||
|
"repositories_synced_count": null,
|
||
|
"repositories_failed_count": null,
|
||
|
"wikis_synced_count": null,
|
||
|
"wikis_failed_count": null,
|
||
|
"repositories_verified_count": null,
|
||
|
"repositories_verification_failed_count": null,
|
||
|
"repositories_verification_total_count": null,
|
||
|
"wikis_verified_count": null,
|
||
|
"wikis_verification_failed_count": null,
|
||
|
"wikis_verification_total_count": null,
|
||
|
"job_artifacts_synced_missing_on_primary_count": null,
|
||
|
"repositories_checksummed_count": 19,
|
||
|
"repositories_checksum_failed_count": 0,
|
||
|
"repositories_checksum_mismatch_count": null,
|
||
|
"repositories_checksum_total_count": 19,
|
||
|
"wikis_checksummed_count": 0,
|
||
|
"wikis_checksum_failed_count": 0,
|
||
|
"wikis_checksum_mismatch_count": null,
|
||
|
"wikis_checksum_total_count": 19,
|
||
|
"repositories_retrying_verification_count": null,
|
||
|
"wikis_retrying_verification_count": null,
|
||
|
"projects_count": 19,
|
||
|
"container_repositories_replication_enabled": null,
|
||
|
"design_repositories_replication_enabled": null,
|
||
|
"design_repositories_count": null,
|
||
|
"design_repositories_synced_count": null,
|
||
|
"design_repositories_failed_count": null,
|
||
|
"lfs_objects_count": 0,
|
||
|
"lfs_objects_checksum_total_count": 0,
|
||
|
"lfs_objects_checksummed_count": 0,
|
||
|
"lfs_objects_checksum_failed_count": 0,
|
||
|
"lfs_objects_synced_count": null,
|
||
|
"lfs_objects_failed_count": null,
|
||
|
"lfs_objects_registry_count": null,
|
||
|
"lfs_objects_verification_total_count": null,
|
||
|
"lfs_objects_verified_count": null,
|
||
|
"lfs_objects_verification_failed_count": null,
|
||
|
"merge_request_diffs_count": 0,
|
||
|
"merge_request_diffs_checksum_total_count": 0,
|
||
|
"merge_request_diffs_checksummed_count": 0,
|
||
|
"merge_request_diffs_checksum_failed_count": 0,
|
||
|
"merge_request_diffs_synced_count": null,
|
||
|
"merge_request_diffs_failed_count": null,
|
||
|
"merge_request_diffs_registry_count": null,
|
||
|
"merge_request_diffs_verification_total_count": null,
|
||
|
"merge_request_diffs_verified_count": null,
|
||
|
"merge_request_diffs_verification_failed_count": null,
|
||
|
"package_files_count": 25,
|
||
|
"package_files_checksum_total_count": 25,
|
||
|
"package_files_checksummed_count": 25,
|
||
|
"package_files_checksum_failed_count": 0,
|
||
|
"package_files_synced_count": null,
|
||
|
"package_files_failed_count": null,
|
||
|
"package_files_registry_count": null,
|
||
|
"package_files_verification_total_count": null,
|
||
|
"package_files_verified_count": null,
|
||
|
"package_files_verification_failed_count": null,
|
||
|
"terraform_state_versions_count": 18,
|
||
|
"terraform_state_versions_checksum_total_count": 18,
|
||
|
"terraform_state_versions_checksummed_count": 18,
|
||
|
"terraform_state_versions_checksum_failed_count": 0,
|
||
|
"terraform_state_versions_synced_count": null,
|
||
|
"terraform_state_versions_failed_count": null,
|
||
|
"terraform_state_versions_registry_count": null,
|
||
|
"terraform_state_versions_verification_total_count": null,
|
||
|
"terraform_state_versions_verified_count": null,
|
||
|
"terraform_state_versions_verification_failed_count": null,
|
||
|
"snippet_repositories_count": 20,
|
||
|
"snippet_repositories_checksum_total_count": 20,
|
||
|
"snippet_repositories_checksummed_count": 20,
|
||
|
"snippet_repositories_checksum_failed_count": 0,
|
||
|
"snippet_repositories_synced_count": null,
|
||
|
"snippet_repositories_failed_count": null,
|
||
|
"snippet_repositories_registry_count": null,
|
||
|
"snippet_repositories_verification_total_count": null,
|
||
|
"snippet_repositories_verified_count": null,
|
||
|
"snippet_repositories_verification_failed_count": null,
|
||
|
"group_wiki_repositories_count": 0,
|
||
|
"group_wiki_repositories_checksum_total_count": null,
|
||
|
"group_wiki_repositories_checksummed_count": null,
|
||
|
"group_wiki_repositories_checksum_failed_count": null,
|
||
|
"group_wiki_repositories_synced_count": null,
|
||
|
"group_wiki_repositories_failed_count": null,
|
||
|
"group_wiki_repositories_registry_count": null,
|
||
|
"group_wiki_repositories_verification_total_count": null,
|
||
|
"group_wiki_repositories_verified_count": null,
|
||
|
"group_wiki_repositories_verification_failed_count": null,
|
||
|
"pipeline_artifacts_count": 0,
|
||
|
"pipeline_artifacts_checksum_total_count": 0,
|
||
|
"pipeline_artifacts_checksummed_count": 0,
|
||
|
"pipeline_artifacts_checksum_failed_count": 0,
|
||
|
"pipeline_artifacts_synced_count": null,
|
||
|
"pipeline_artifacts_failed_count": null,
|
||
|
"pipeline_artifacts_registry_count": null,
|
||
|
"pipeline_artifacts_verification_total_count": null,
|
||
|
"pipeline_artifacts_verified_count": null,
|
||
|
"pipeline_artifacts_verification_failed_count": null,
|
||
|
"pages_deployments_count": 0,
|
||
|
"pages_deployments_checksum_total_count": 0,
|
||
|
"pages_deployments_checksummed_count": 0,
|
||
|
"pages_deployments_checksum_failed_count": 0,
|
||
|
"pages_deployments_synced_count": null,
|
||
|
"pages_deployments_failed_count": null,
|
||
|
"pages_deployments_registry_count": null,
|
||
|
"pages_deployments_verification_total_count": null,
|
||
|
"pages_deployments_verified_count": null,
|
||
|
"pages_deployments_verification_failed_count": null,
|
||
|
"uploads_count": 51,
|
||
|
"uploads_checksum_total_count": 51,
|
||
|
"uploads_checksummed_count": 51,
|
||
|
"uploads_checksum_failed_count": 0,
|
||
|
"uploads_synced_count": null,
|
||
|
"uploads_failed_count": null,
|
||
|
"uploads_registry_count": null,
|
||
|
"uploads_verification_total_count": null,
|
||
|
"uploads_verified_count": null,
|
||
|
"uploads_verification_failed_count": null,
|
||
|
"job_artifacts_count": 205,
|
||
|
"job_artifacts_checksum_total_count": 205,
|
||
|
"job_artifacts_checksummed_count": 205,
|
||
|
"job_artifacts_checksum_failed_count": 0,
|
||
|
"job_artifacts_synced_count": null,
|
||
|
"job_artifacts_failed_count": null,
|
||
|
"job_artifacts_registry_count": null,
|
||
|
"job_artifacts_verification_total_count": null,
|
||
|
"job_artifacts_verified_count": null,
|
||
|
"job_artifacts_verification_failed_count": null,
|
||
|
"ci_secure_files_count": 0,
|
||
|
"ci_secure_files_checksum_total_count": 0,
|
||
|
"ci_secure_files_checksummed_count": 0,
|
||
|
"ci_secure_files_checksum_failed_count": 0,
|
||
|
"ci_secure_files_synced_count": null,
|
||
|
"ci_secure_files_failed_count": null,
|
||
|
"ci_secure_files_registry_count": null,
|
||
|
"ci_secure_files_verification_total_count": null,
|
||
|
"ci_secure_files_verified_count": null,
|
||
|
"ci_secure_files_verification_failed_count": null,
|
||
|
"container_repositories_count": 0,
|
||
|
"container_repositories_checksum_total_count": 0,
|
||
|
"container_repositories_checksummed_count": 0,
|
||
|
"container_repositories_checksum_failed_count": 0,
|
||
|
"container_repositories_synced_count": null,
|
||
|
"container_repositories_failed_count": null,
|
||
|
"container_repositories_registry_count": null,
|
||
|
"container_repositories_verification_total_count": null,
|
||
|
"container_repositories_verified_count": null,
|
||
|
"container_repositories_verification_failed_count": null,
|
||
|
"dependency_proxy_blobs_count": 0,
|
||
|
"dependency_proxy_blobs_checksum_total_count": 0,
|
||
|
"dependency_proxy_blobs_checksummed_count": 0,
|
||
|
"dependency_proxy_blobs_checksum_failed_count": 0,
|
||
|
"dependency_proxy_blobs_synced_count": null,
|
||
|
"dependency_proxy_blobs_failed_count": null,
|
||
|
"dependency_proxy_blobs_registry_count": null,
|
||
|
"dependency_proxy_blobs_verification_total_count": null,
|
||
|
"dependency_proxy_blobs_verified_count": null,
|
||
|
"dependency_proxy_blobs_verification_failed_count": null,
|
||
|
"dependency_proxy_manifests_count": 0,
|
||
|
"dependency_proxy_manifests_checksum_total_count": 0,
|
||
|
"dependency_proxy_manifests_checksummed_count": 0,
|
||
|
"dependency_proxy_manifests_checksum_failed_count": 0,
|
||
|
"dependency_proxy_manifests_synced_count": null,
|
||
|
"dependency_proxy_manifests_failed_count": null,
|
||
|
"dependency_proxy_manifests_registry_count": null,
|
||
|
"dependency_proxy_manifests_verification_total_count": null,
|
||
|
"dependency_proxy_manifests_verified_count": null,
|
||
|
"dependency_proxy_manifests_verification_failed_count": null,
|
||
|
"project_wiki_repositories_count": 19,
|
||
|
"project_wiki_repositories_checksum_total_count": 19,
|
||
|
"project_wiki_repositories_checksummed_count": 19,
|
||
|
"project_wiki_repositories_checksum_failed_count": 0,
|
||
|
"project_wiki_repositories_synced_count": null,
|
||
|
"project_wiki_repositories_failed_count": null,
|
||
|
"project_wiki_repositories_registry_count": null,
|
||
|
"project_wiki_repositories_verification_total_count": null,
|
||
|
"project_wiki_repositories_verified_count": null,
|
||
|
"project_wiki_repositories_verification_failed_count": null,
|
||
|
"git_fetch_event_count_weekly": null,
|
||
|
"git_push_event_count_weekly": null,
|
||
|
"proxy_remote_requests_event_count_weekly": null,
|
||
|
"proxy_local_requests_event_count_weekly": null,
|
||
|
"repositories_synced_in_percentage": "0.00%",
|
||
|
"repositories_checksummed_in_percentage": "100.00%",
|
||
|
"repositories_verified_in_percentage": "0.00%",
|
||
|
"repositories_checked_in_percentage": "0.00%",
|
||
|
"wikis_synced_in_percentage": "0.00%",
|
||
|
"wikis_checksummed_in_percentage": "0.00%",
|
||
|
"wikis_verified_in_percentage": "0.00%",
|
||
|
"replication_slots_used_in_percentage": "100.00%",
|
||
|
"design_repositories_synced_in_percentage": "0.00%",
|
||
|
"lfs_objects_synced_in_percentage": "0.00%",
|
||
|
"lfs_objects_verified_in_percentage": "0.00%",
|
||
|
"merge_request_diffs_synced_in_percentage": "0.00%",
|
||
|
"merge_request_diffs_verified_in_percentage": "0.00%",
|
||
|
"package_files_synced_in_percentage": "0.00%",
|
||
|
"package_files_verified_in_percentage": "0.00%",
|
||
|
"terraform_state_versions_synced_in_percentage": "0.00%",
|
||
|
"terraform_state_versions_verified_in_percentage": "0.00%",
|
||
|
"snippet_repositories_synced_in_percentage": "0.00%",
|
||
|
"snippet_repositories_verified_in_percentage": "0.00%",
|
||
|
"group_wiki_repositories_synced_in_percentage": "0.00%",
|
||
|
"group_wiki_repositories_verified_in_percentage": "0.00%",
|
||
|
"pipeline_artifacts_synced_in_percentage": "0.00%",
|
||
|
"pipeline_artifacts_verified_in_percentage": "0.00%",
|
||
|
"pages_deployments_synced_in_percentage": "0.00%",
|
||
|
"pages_deployments_verified_in_percentage": "0.00%",
|
||
|
"uploads_synced_in_percentage": "0.00%",
|
||
|
"uploads_verified_in_percentage": "0.00%",
|
||
|
"job_artifacts_synced_in_percentage": "0.00%",
|
||
|
"job_artifacts_verified_in_percentage": "0.00%",
|
||
|
"ci_secure_files_synced_in_percentage": "0.00%",
|
||
|
"ci_secure_files_verified_in_percentage": "0.00%",
|
||
|
"container_repositories_synced_in_percentage": "0.00%",
|
||
|
"container_repositories_verified_in_percentage": "0.00%",
|
||
|
"dependency_proxy_blobs_synced_in_percentage": "0.00%",
|
||
|
"dependency_proxy_blobs_verified_in_percentage": "0.00%",
|
||
|
"dependency_proxy_manifests_synced_in_percentage": "0.00%",
|
||
|
"dependency_proxy_manifests_verified_in_percentage": "0.00%",
|
||
|
"project_wiki_repositories_synced_in_percentage": "0.00%",
|
||
|
"project_wiki_repositories_verified_in_percentage": "0.00%",
|
||
|
"repositories_count": 19,
|
||
|
"wikis_count": 19,
|
||
|
"replication_slots_count": 1,
|
||
|
"replication_slots_used_count": 1,
|
||
|
"healthy": true,
|
||
|
"health": "Healthy",
|
||
|
"health_status": "Healthy",
|
||
|
"missing_oauth_application": false,
|
||
|
"db_replication_lag_seconds": null,
|
||
|
"replication_slots_max_retained_wal_bytes": 0,
|
||
|
"repositories_checked_count": null,
|
||
|
"repositories_checked_failed_count": null,
|
||
|
"last_event_id": 357,
|
||
|
"last_event_timestamp": 1683127088,
|
||
|
"cursor_last_event_id": null,
|
||
|
"cursor_last_event_timestamp": 0,
|
||
|
"last_successful_status_check_timestamp": 1683129788,
|
||
|
"version": "16.0.0-pre",
|
||
|
"revision": "129eb954664",
|
||
|
"selective_sync_type": null,
|
||
|
"namespaces": [],
|
||
|
"updated_at": "2023-05-03T16:03:10.117Z",
|
||
|
"storage_shards_match": true,
|
||
|
"_links": {
|
||
|
"self": "https://primary.example.com/api/v4/geo_sites/1/status",
|
||
|
"site": "https://primary.example.com/api/v4/geo_sites/1"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"geo_node_id": 2,
|
||
|
"repository_verification_enabled": true,
|
||
|
"repositories_replication_enabled": true,
|
||
|
"repositories_synced_count": 18,
|
||
|
"repositories_failed_count": 0,
|
||
|
"wikis_synced_count": 18,
|
||
|
"wikis_failed_count": 0,
|
||
|
"repositories_verified_count": 0,
|
||
|
"repositories_verification_failed_count": 0,
|
||
|
"repositories_verification_total_count": 19,
|
||
|
"wikis_verified_count": 0,
|
||
|
"wikis_verification_failed_count": 0,
|
||
|
"wikis_verification_total_count": 19,
|
||
|
"job_artifacts_synced_missing_on_primary_count": null,
|
||
|
"repositories_checksummed_count": null,
|
||
|
"repositories_checksum_failed_count": null,
|
||
|
"repositories_checksum_mismatch_count": 0,
|
||
|
"repositories_checksum_total_count": null,
|
||
|
"wikis_checksummed_count": null,
|
||
|
"wikis_checksum_failed_count": null,
|
||
|
"wikis_checksum_mismatch_count": 0,
|
||
|
"wikis_checksum_total_count": null,
|
||
|
"repositories_retrying_verification_count": 0,
|
||
|
"wikis_retrying_verification_count": 0,
|
||
|
"projects_count": 19,
|
||
|
"container_repositories_replication_enabled": null,
|
||
|
"design_repositories_replication_enabled": true,
|
||
|
"design_repositories_count": 0,
|
||
|
"design_repositories_synced_count": 0,
|
||
|
"design_repositories_failed_count": 0,
|
||
|
"lfs_objects_count": 0,
|
||
|
"lfs_objects_checksum_total_count": null,
|
||
|
"lfs_objects_checksummed_count": null,
|
||
|
"lfs_objects_checksum_failed_count": null,
|
||
|
"lfs_objects_synced_count": 0,
|
||
|
"lfs_objects_failed_count": 0,
|
||
|
"lfs_objects_registry_count": 0,
|
||
|
"lfs_objects_verification_total_count": 0,
|
||
|
"lfs_objects_verified_count": 0,
|
||
|
"lfs_objects_verification_failed_count": 0,
|
||
|
"merge_request_diffs_count": 0,
|
||
|
"merge_request_diffs_checksum_total_count": null,
|
||
|
"merge_request_diffs_checksummed_count": null,
|
||
|
"merge_request_diffs_checksum_failed_count": null,
|
||
|
"merge_request_diffs_synced_count": 0,
|
||
|
"merge_request_diffs_failed_count": 0,
|
||
|
"merge_request_diffs_registry_count": 0,
|
||
|
"merge_request_diffs_verification_total_count": 0,
|
||
|
"merge_request_diffs_verified_count": 0,
|
||
|
"merge_request_diffs_verification_failed_count": 0,
|
||
|
"package_files_count": 25,
|
||
|
"package_files_checksum_total_count": null,
|
||
|
"package_files_checksummed_count": null,
|
||
|
"package_files_checksum_failed_count": null,
|
||
|
"package_files_synced_count": 1,
|
||
|
"package_files_failed_count": 24,
|
||
|
"package_files_registry_count": 25,
|
||
|
"package_files_verification_total_count": 1,
|
||
|
"package_files_verified_count": 1,
|
||
|
"package_files_verification_failed_count": 0,
|
||
|
"terraform_state_versions_count": 18,
|
||
|
"terraform_state_versions_checksum_total_count": null,
|
||
|
"terraform_state_versions_checksummed_count": null,
|
||
|
"terraform_state_versions_checksum_failed_count": null,
|
||
|
"terraform_state_versions_synced_count": 0,
|
||
|
"terraform_state_versions_failed_count": 0,
|
||
|
"terraform_state_versions_registry_count": 18,
|
||
|
"terraform_state_versions_verification_total_count": 0,
|
||
|
"terraform_state_versions_verified_count": 0,
|
||
|
"terraform_state_versions_verification_failed_count": 0,
|
||
|
"snippet_repositories_count": 20,
|
||
|
"snippet_repositories_checksum_total_count": null,
|
||
|
"snippet_repositories_checksummed_count": null,
|
||
|
"snippet_repositories_checksum_failed_count": null,
|
||
|
"snippet_repositories_synced_count": 20,
|
||
|
"snippet_repositories_failed_count": 0,
|
||
|
"snippet_repositories_registry_count": 20,
|
||
|
"snippet_repositories_verification_total_count": 20,
|
||
|
"snippet_repositories_verified_count": 20,
|
||
|
"snippet_repositories_verification_failed_count": 0,
|
||
|
"group_wiki_repositories_count": 0,
|
||
|
"group_wiki_repositories_checksum_total_count": null,
|
||
|
"group_wiki_repositories_checksummed_count": null,
|
||
|
"group_wiki_repositories_checksum_failed_count": null,
|
||
|
"group_wiki_repositories_synced_count": 0,
|
||
|
"group_wiki_repositories_failed_count": 0,
|
||
|
"group_wiki_repositories_registry_count": 0,
|
||
|
"group_wiki_repositories_verification_total_count": null,
|
||
|
"group_wiki_repositories_verified_count": null,
|
||
|
"group_wiki_repositories_verification_failed_count": null,
|
||
|
"pipeline_artifacts_count": 0,
|
||
|
"pipeline_artifacts_checksum_total_count": null,
|
||
|
"pipeline_artifacts_checksummed_count": null,
|
||
|
"pipeline_artifacts_checksum_failed_count": null,
|
||
|
"pipeline_artifacts_synced_count": 0,
|
||
|
"pipeline_artifacts_failed_count": 0,
|
||
|
"pipeline_artifacts_registry_count": 0,
|
||
|
"pipeline_artifacts_verification_total_count": 0,
|
||
|
"pipeline_artifacts_verified_count": 0,
|
||
|
"pipeline_artifacts_verification_failed_count": 0,
|
||
|
"pages_deployments_count": 0,
|
||
|
"pages_deployments_checksum_total_count": null,
|
||
|
"pages_deployments_checksummed_count": null,
|
||
|
"pages_deployments_checksum_failed_count": null,
|
||
|
"pages_deployments_synced_count": 0,
|
||
|
"pages_deployments_failed_count": 0,
|
||
|
"pages_deployments_registry_count": 0,
|
||
|
"pages_deployments_verification_total_count": 0,
|
||
|
"pages_deployments_verified_count": 0,
|
||
|
"pages_deployments_verification_failed_count": 0,
|
||
|
"uploads_count": 51,
|
||
|
"uploads_checksum_total_count": null,
|
||
|
"uploads_checksummed_count": null,
|
||
|
"uploads_checksum_failed_count": null,
|
||
|
"uploads_synced_count": 0,
|
||
|
"uploads_failed_count": 1,
|
||
|
"uploads_registry_count": 51,
|
||
|
"uploads_verification_total_count": 0,
|
||
|
"uploads_verified_count": 0,
|
||
|
"uploads_verification_failed_count": 0,
|
||
|
"job_artifacts_count": 0,
|
||
|
"job_artifacts_checksum_total_count": null,
|
||
|
"job_artifacts_checksummed_count": null,
|
||
|
"job_artifacts_checksum_failed_count": null,
|
||
|
"job_artifacts_synced_count": 0,
|
||
|
"job_artifacts_failed_count": 0,
|
||
|
"job_artifacts_registry_count": 0,
|
||
|
"job_artifacts_verification_total_count": 0,
|
||
|
"job_artifacts_verified_count": 0,
|
||
|
"job_artifacts_verification_failed_count": 0,
|
||
|
"ci_secure_files_count": 0,
|
||
|
"ci_secure_files_checksum_total_count": null,
|
||
|
"ci_secure_files_checksummed_count": null,
|
||
|
"ci_secure_files_checksum_failed_count": null,
|
||
|
"ci_secure_files_synced_count": 0,
|
||
|
"ci_secure_files_failed_count": 0,
|
||
|
"ci_secure_files_registry_count": 0,
|
||
|
"ci_secure_files_verification_total_count": 0,
|
||
|
"ci_secure_files_verified_count": 0,
|
||
|
"ci_secure_files_verification_failed_count": 0,
|
||
|
"container_repositories_count": null,
|
||
|
"container_repositories_checksum_total_count": null,
|
||
|
"container_repositories_checksummed_count": null,
|
||
|
"container_repositories_checksum_failed_count": null,
|
||
|
"container_repositories_synced_count": null,
|
||
|
"container_repositories_failed_count": null,
|
||
|
"container_repositories_registry_count": null,
|
||
|
"container_repositories_verification_total_count": null,
|
||
|
"container_repositories_verified_count": null,
|
||
|
"container_repositories_verification_failed_count": null,
|
||
|
"dependency_proxy_blobs_count": 0,
|
||
|
"dependency_proxy_blobs_checksum_total_count": null,
|
||
|
"dependency_proxy_blobs_checksummed_count": null,
|
||
|
"dependency_proxy_blobs_checksum_failed_count": null,
|
||
|
"dependency_proxy_blobs_synced_count": 0,
|
||
|
"dependency_proxy_blobs_failed_count": 0,
|
||
|
"dependency_proxy_blobs_registry_count": 0,
|
||
|
"dependency_proxy_blobs_verification_total_count": 0,
|
||
|
"dependency_proxy_blobs_verified_count": 0,
|
||
|
"dependency_proxy_blobs_verification_failed_count": 0,
|
||
|
"dependency_proxy_manifests_count": 0,
|
||
|
"dependency_proxy_manifests_checksum_total_count": null,
|
||
|
"dependency_proxy_manifests_checksummed_count": null,
|
||
|
"dependency_proxy_manifests_checksum_failed_count": null,
|
||
|
"dependency_proxy_manifests_synced_count": 0,
|
||
|
"dependency_proxy_manifests_failed_count": 0,
|
||
|
"dependency_proxy_manifests_registry_count": 0,
|
||
|
"dependency_proxy_manifests_verification_total_count": 0,
|
||
|
"dependency_proxy_manifests_verified_count": 0,
|
||
|
"dependency_proxy_manifests_verification_failed_count": 0,
|
||
|
"project_wiki_repositories_count": 19,
|
||
|
"project_wiki_repositories_checksum_total_count": null,
|
||
|
"project_wiki_repositories_checksummed_count": null,
|
||
|
"project_wiki_repositories_checksum_failed_count": null,
|
||
|
"project_wiki_repositories_synced_count": 19,
|
||
|
"project_wiki_repositories_failed_count": 0,
|
||
|
"project_wiki_repositories_registry_count": 19,
|
||
|
"project_wiki_repositories_verification_total_count": 19,
|
||
|
"project_wiki_repositories_verified_count": 19,
|
||
|
"project_wiki_repositories_verification_failed_count": 0,
|
||
|
"git_fetch_event_count_weekly": null,
|
||
|
"git_push_event_count_weekly": null,
|
||
|
"proxy_remote_requests_event_count_weekly": null,
|
||
|
"proxy_local_requests_event_count_weekly": null,
|
||
|
"repositories_synced_in_percentage": "94.74%",
|
||
|
"repositories_checksummed_in_percentage": "0.00%",
|
||
|
"repositories_verified_in_percentage": "0.00%",
|
||
|
"repositories_checked_in_percentage": "0.00%",
|
||
|
"wikis_synced_in_percentage": "94.74%",
|
||
|
"wikis_checksummed_in_percentage": "0.00%",
|
||
|
"wikis_verified_in_percentage": "0.00%",
|
||
|
"replication_slots_used_in_percentage": "0.00%",
|
||
|
"design_repositories_synced_in_percentage": "0.00%",
|
||
|
"lfs_objects_synced_in_percentage": "0.00%",
|
||
|
"lfs_objects_verified_in_percentage": "0.00%",
|
||
|
"merge_request_diffs_synced_in_percentage": "0.00%",
|
||
|
"merge_request_diffs_verified_in_percentage": "0.00%",
|
||
|
"package_files_synced_in_percentage": "4.00%",
|
||
|
"package_files_verified_in_percentage": "4.00%",
|
||
|
"terraform_state_versions_synced_in_percentage": "0.00%",
|
||
|
"terraform_state_versions_verified_in_percentage": "0.00%",
|
||
|
"snippet_repositories_synced_in_percentage": "100.00%",
|
||
|
"snippet_repositories_verified_in_percentage": "100.00%",
|
||
|
"group_wiki_repositories_synced_in_percentage": "0.00%",
|
||
|
"group_wiki_repositories_verified_in_percentage": "0.00%",
|
||
|
"pipeline_artifacts_synced_in_percentage": "0.00%",
|
||
|
"pipeline_artifacts_verified_in_percentage": "0.00%",
|
||
|
"pages_deployments_synced_in_percentage": "0.00%",
|
||
|
"pages_deployments_verified_in_percentage": "0.00%",
|
||
|
"uploads_synced_in_percentage": "0.00%",
|
||
|
"uploads_verified_in_percentage": "0.00%",
|
||
|
"job_artifacts_synced_in_percentage": "0.00%",
|
||
|
"job_artifacts_verified_in_percentage": "0.00%",
|
||
|
"ci_secure_files_synced_in_percentage": "0.00%",
|
||
|
"ci_secure_files_verified_in_percentage": "0.00%",
|
||
|
"container_repositories_synced_in_percentage": "0.00%",
|
||
|
"container_repositories_verified_in_percentage": "0.00%",
|
||
|
"dependency_proxy_blobs_synced_in_percentage": "0.00%",
|
||
|
"dependency_proxy_blobs_verified_in_percentage": "0.00%",
|
||
|
"dependency_proxy_manifests_synced_in_percentage": "0.00%",
|
||
|
"dependency_proxy_manifests_verified_in_percentage": "0.00%",
|
||
|
"project_wiki_repositories_synced_in_percentage": "100.00%",
|
||
|
"project_wiki_repositories_verified_in_percentage": "100.00%",
|
||
|
"repositories_count": 19,
|
||
|
"wikis_count": 19,
|
||
|
"replication_slots_count": null,
|
||
|
"replication_slots_used_count": null,
|
||
|
"healthy": false,
|
||
|
"health": "An existing tracking database cannot be reused..",
|
||
|
"health_status": "Unhealthy",
|
||
|
"missing_oauth_application": false,
|
||
|
"db_replication_lag_seconds": 0,
|
||
|
"replication_slots_max_retained_wal_bytes": null,
|
||
|
"repositories_checked_count": null,
|
||
|
"repositories_checked_failed_count": null,
|
||
|
"last_event_id": 357,
|
||
|
"last_event_timestamp": 1683127088,
|
||
|
"cursor_last_event_id": 357,
|
||
|
"cursor_last_event_timestamp": 1683127088,
|
||
|
"last_successful_status_check_timestamp": 1683127146,
|
||
|
"version": "16.0.0-pre",
|
||
|
"revision": "129eb954664",
|
||
|
"selective_sync_type": "",
|
||
|
"namespaces": [],
|
||
|
"updated_at": "2023-05-03T15:19:06.174Z",
|
||
|
"storage_shards_match": true,
|
||
|
"_links": {
|
||
|
"self": "https://primary.example.com/api/v4/geo_sites/2/status",
|
||
|
"site": "https://primary.example.com/api/v4/geo_sites/2"
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
```
|
||
|
|
||
|
## Retrieve status about a specific Geo site
|
||
|
|
||
|
```plaintext
|
||
|
GET /geo_sites/:id/status
|
||
|
```
|
||
|
|
||
|
```shell
|
||
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/geo_sites/2/status"
|
||
|
```
|
||
|
|
||
|
Example response:
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"geo_node_id": 2,
|
||
|
"repository_verification_enabled": true,
|
||
|
"repositories_replication_enabled": true,
|
||
|
"repositories_synced_count": 18,
|
||
|
"repositories_failed_count": 0,
|
||
|
"wikis_synced_count": 18,
|
||
|
"wikis_failed_count": 0,
|
||
|
"repositories_verified_count": 0,
|
||
|
"repositories_verification_failed_count": 0,
|
||
|
"repositories_verification_total_count": 19,
|
||
|
"wikis_verified_count": 0,
|
||
|
"wikis_verification_failed_count": 0,
|
||
|
"wikis_verification_total_count": 19,
|
||
|
"job_artifacts_synced_missing_on_primary_count": null,
|
||
|
"repositories_checksummed_count": null,
|
||
|
"repositories_checksum_failed_count": null,
|
||
|
"repositories_checksum_mismatch_count": 0,
|
||
|
"repositories_checksum_total_count": null,
|
||
|
"wikis_checksummed_count": null,
|
||
|
"wikis_checksum_failed_count": null,
|
||
|
"wikis_checksum_mismatch_count": 0,
|
||
|
"wikis_checksum_total_count": null,
|
||
|
"repositories_retrying_verification_count": 0,
|
||
|
"wikis_retrying_verification_count": 0,
|
||
|
"projects_count": 19,
|
||
|
"container_repositories_replication_enabled": null,
|
||
|
"design_repositories_replication_enabled": true,
|
||
|
"design_repositories_count": 0,
|
||
|
"design_repositories_synced_count": 0,
|
||
|
"design_repositories_failed_count": 0,
|
||
|
"lfs_objects_count": 0,
|
||
|
"lfs_objects_checksum_total_count": null,
|
||
|
"lfs_objects_checksummed_count": null,
|
||
|
"lfs_objects_checksum_failed_count": null,
|
||
|
"lfs_objects_synced_count": 0,
|
||
|
"lfs_objects_failed_count": 0,
|
||
|
"lfs_objects_registry_count": 0,
|
||
|
"lfs_objects_verification_total_count": 0,
|
||
|
"lfs_objects_verified_count": 0,
|
||
|
"lfs_objects_verification_failed_count": 0,
|
||
|
"merge_request_diffs_count": 0,
|
||
|
"merge_request_diffs_checksum_total_count": null,
|
||
|
"merge_request_diffs_checksummed_count": null,
|
||
|
"merge_request_diffs_checksum_failed_count": null,
|
||
|
"merge_request_diffs_synced_count": 0,
|
||
|
"merge_request_diffs_failed_count": 0,
|
||
|
"merge_request_diffs_registry_count": 0,
|
||
|
"merge_request_diffs_verification_total_count": 0,
|
||
|
"merge_request_diffs_verified_count": 0,
|
||
|
"merge_request_diffs_verification_failed_count": 0,
|
||
|
"package_files_count": 25,
|
||
|
"package_files_checksum_total_count": null,
|
||
|
"package_files_checksummed_count": null,
|
||
|
"package_files_checksum_failed_count": null,
|
||
|
"package_files_synced_count": 1,
|
||
|
"package_files_failed_count": 24,
|
||
|
"package_files_registry_count": 25,
|
||
|
"package_files_verification_total_count": 1,
|
||
|
"package_files_verified_count": 1,
|
||
|
"package_files_verification_failed_count": 0,
|
||
|
"terraform_state_versions_count": 18,
|
||
|
"terraform_state_versions_checksum_total_count": null,
|
||
|
"terraform_state_versions_checksummed_count": null,
|
||
|
"terraform_state_versions_checksum_failed_count": null,
|
||
|
"terraform_state_versions_synced_count": 0,
|
||
|
"terraform_state_versions_failed_count": 0,
|
||
|
"terraform_state_versions_registry_count": 18,
|
||
|
"terraform_state_versions_verification_total_count": 0,
|
||
|
"terraform_state_versions_verified_count": 0,
|
||
|
"terraform_state_versions_verification_failed_count": 0,
|
||
|
"snippet_repositories_count": 20,
|
||
|
"snippet_repositories_checksum_total_count": null,
|
||
|
"snippet_repositories_checksummed_count": null,
|
||
|
"snippet_repositories_checksum_failed_count": null,
|
||
|
"snippet_repositories_synced_count": 20,
|
||
|
"snippet_repositories_failed_count": 0,
|
||
|
"snippet_repositories_registry_count": 20,
|
||
|
"snippet_repositories_verification_total_count": 20,
|
||
|
"snippet_repositories_verified_count": 20,
|
||
|
"snippet_repositories_verification_failed_count": 0,
|
||
|
"group_wiki_repositories_count": 0,
|
||
|
"group_wiki_repositories_checksum_total_count": null,
|
||
|
"group_wiki_repositories_checksummed_count": null,
|
||
|
"group_wiki_repositories_checksum_failed_count": null,
|
||
|
"group_wiki_repositories_synced_count": 0,
|
||
|
"group_wiki_repositories_failed_count": 0,
|
||
|
"group_wiki_repositories_registry_count": 0,
|
||
|
"group_wiki_repositories_verification_total_count": null,
|
||
|
"group_wiki_repositories_verified_count": null,
|
||
|
"group_wiki_repositories_verification_failed_count": null,
|
||
|
"pipeline_artifacts_count": 0,
|
||
|
"pipeline_artifacts_checksum_total_count": null,
|
||
|
"pipeline_artifacts_checksummed_count": null,
|
||
|
"pipeline_artifacts_checksum_failed_count": null,
|
||
|
"pipeline_artifacts_synced_count": 0,
|
||
|
"pipeline_artifacts_failed_count": 0,
|
||
|
"pipeline_artifacts_registry_count": 0,
|
||
|
"pipeline_artifacts_verification_total_count": 0,
|
||
|
"pipeline_artifacts_verified_count": 0,
|
||
|
"pipeline_artifacts_verification_failed_count": 0,
|
||
|
"pages_deployments_count": 0,
|
||
|
"pages_deployments_checksum_total_count": null,
|
||
|
"pages_deployments_checksummed_count": null,
|
||
|
"pages_deployments_checksum_failed_count": null,
|
||
|
"pages_deployments_synced_count": 0,
|
||
|
"pages_deployments_failed_count": 0,
|
||
|
"pages_deployments_registry_count": 0,
|
||
|
"pages_deployments_verification_total_count": 0,
|
||
|
"pages_deployments_verified_count": 0,
|
||
|
"pages_deployments_verification_failed_count": 0,
|
||
|
"uploads_count": 51,
|
||
|
"uploads_checksum_total_count": null,
|
||
|
"uploads_checksummed_count": null,
|
||
|
"uploads_checksum_failed_count": null,
|
||
|
"uploads_synced_count": 0,
|
||
|
"uploads_failed_count": 1,
|
||
|
"uploads_registry_count": 51,
|
||
|
"uploads_verification_total_count": 0,
|
||
|
"uploads_verified_count": 0,
|
||
|
"uploads_verification_failed_count": 0,
|
||
|
"job_artifacts_count": 0,
|
||
|
"job_artifacts_checksum_total_count": null,
|
||
|
"job_artifacts_checksummed_count": null,
|
||
|
"job_artifacts_checksum_failed_count": null,
|
||
|
"job_artifacts_synced_count": 0,
|
||
|
"job_artifacts_failed_count": 0,
|
||
|
"job_artifacts_registry_count": 0,
|
||
|
"job_artifacts_verification_total_count": 0,
|
||
|
"job_artifacts_verified_count": 0,
|
||
|
"job_artifacts_verification_failed_count": 0,
|
||
|
"ci_secure_files_count": 0,
|
||
|
"ci_secure_files_checksum_total_count": null,
|
||
|
"ci_secure_files_checksummed_count": null,
|
||
|
"ci_secure_files_checksum_failed_count": null,
|
||
|
"ci_secure_files_synced_count": 0,
|
||
|
"ci_secure_files_failed_count": 0,
|
||
|
"ci_secure_files_registry_count": 0,
|
||
|
"ci_secure_files_verification_total_count": 0,
|
||
|
"ci_secure_files_verified_count": 0,
|
||
|
"ci_secure_files_verification_failed_count": 0,
|
||
|
"container_repositories_count": null,
|
||
|
"container_repositories_checksum_total_count": null,
|
||
|
"container_repositories_checksummed_count": null,
|
||
|
"container_repositories_checksum_failed_count": null,
|
||
|
"container_repositories_synced_count": null,
|
||
|
"container_repositories_failed_count": null,
|
||
|
"container_repositories_registry_count": null,
|
||
|
"container_repositories_verification_total_count": null,
|
||
|
"container_repositories_verified_count": null,
|
||
|
"container_repositories_verification_failed_count": null,
|
||
|
"dependency_proxy_blobs_count": 0,
|
||
|
"dependency_proxy_blobs_checksum_total_count": null,
|
||
|
"dependency_proxy_blobs_checksummed_count": null,
|
||
|
"dependency_proxy_blobs_checksum_failed_count": null,
|
||
|
"dependency_proxy_blobs_synced_count": 0,
|
||
|
"dependency_proxy_blobs_failed_count": 0,
|
||
|
"dependency_proxy_blobs_registry_count": 0,
|
||
|
"dependency_proxy_blobs_verification_total_count": 0,
|
||
|
"dependency_proxy_blobs_verified_count": 0,
|
||
|
"dependency_proxy_blobs_verification_failed_count": 0,
|
||
|
"dependency_proxy_manifests_count": 0,
|
||
|
"dependency_proxy_manifests_checksum_total_count": null,
|
||
|
"dependency_proxy_manifests_checksummed_count": null,
|
||
|
"dependency_proxy_manifests_checksum_failed_count": null,
|
||
|
"dependency_proxy_manifests_synced_count": 0,
|
||
|
"dependency_proxy_manifests_failed_count": 0,
|
||
|
"dependency_proxy_manifests_registry_count": 0,
|
||
|
"dependency_proxy_manifests_verification_total_count": 0,
|
||
|
"dependency_proxy_manifests_verified_count": 0,
|
||
|
"dependency_proxy_manifests_verification_failed_count": 0,
|
||
|
"project_wiki_repositories_count": 19,
|
||
|
"project_wiki_repositories_checksum_total_count": null,
|
||
|
"project_wiki_repositories_checksummed_count": null,
|
||
|
"project_wiki_repositories_checksum_failed_count": null,
|
||
|
"project_wiki_repositories_synced_count": 19,
|
||
|
"project_wiki_repositories_failed_count": 0,
|
||
|
"project_wiki_repositories_registry_count": 19,
|
||
|
"project_wiki_repositories_verification_total_count": 19,
|
||
|
"project_wiki_repositories_verified_count": 19,
|
||
|
"project_wiki_repositories_verification_failed_count": 0,
|
||
|
"git_fetch_event_count_weekly": null,
|
||
|
"git_push_event_count_weekly": null,
|
||
|
"proxy_remote_requests_event_count_weekly": null,
|
||
|
"proxy_local_requests_event_count_weekly": null,
|
||
|
"repositories_synced_in_percentage": "94.74%",
|
||
|
"repositories_checksummed_in_percentage": "0.00%",
|
||
|
"repositories_verified_in_percentage": "0.00%",
|
||
|
"repositories_checked_in_percentage": "0.00%",
|
||
|
"wikis_synced_in_percentage": "94.74%",
|
||
|
"wikis_checksummed_in_percentage": "0.00%",
|
||
|
"wikis_verified_in_percentage": "0.00%",
|
||
|
"replication_slots_used_in_percentage": "0.00%",
|
||
|
"design_repositories_synced_in_percentage": "0.00%",
|
||
|
"lfs_objects_synced_in_percentage": "0.00%",
|
||
|
"lfs_objects_verified_in_percentage": "0.00%",
|
||
|
"merge_request_diffs_synced_in_percentage": "0.00%",
|
||
|
"merge_request_diffs_verified_in_percentage": "0.00%",
|
||
|
"package_files_synced_in_percentage": "4.00%",
|
||
|
"package_files_verified_in_percentage": "4.00%",
|
||
|
"terraform_state_versions_synced_in_percentage": "0.00%",
|
||
|
"terraform_state_versions_verified_in_percentage": "0.00%",
|
||
|
"snippet_repositories_synced_in_percentage": "100.00%",
|
||
|
"snippet_repositories_verified_in_percentage": "100.00%",
|
||
|
"group_wiki_repositories_synced_in_percentage": "0.00%",
|
||
|
"group_wiki_repositories_verified_in_percentage": "0.00%",
|
||
|
"pipeline_artifacts_synced_in_percentage": "0.00%",
|
||
|
"pipeline_artifacts_verified_in_percentage": "0.00%",
|
||
|
"pages_deployments_synced_in_percentage": "0.00%",
|
||
|
"pages_deployments_verified_in_percentage": "0.00%",
|
||
|
"uploads_synced_in_percentage": "0.00%",
|
||
|
"uploads_verified_in_percentage": "0.00%",
|
||
|
"job_artifacts_synced_in_percentage": "0.00%",
|
||
|
"job_artifacts_verified_in_percentage": "0.00%",
|
||
|
"ci_secure_files_synced_in_percentage": "0.00%",
|
||
|
"ci_secure_files_verified_in_percentage": "0.00%",
|
||
|
"container_repositories_synced_in_percentage": "0.00%",
|
||
|
"container_repositories_verified_in_percentage": "0.00%",
|
||
|
"dependency_proxy_blobs_synced_in_percentage": "0.00%",
|
||
|
"dependency_proxy_blobs_verified_in_percentage": "0.00%",
|
||
|
"dependency_proxy_manifests_synced_in_percentage": "0.00%",
|
||
|
"dependency_proxy_manifests_verified_in_percentage": "0.00%",
|
||
|
"project_wiki_repositories_synced_in_percentage": "100.00%",
|
||
|
"project_wiki_repositories_verified_in_percentage": "100.00%",
|
||
|
"repositories_count": 19,
|
||
|
"wikis_count": 19,
|
||
|
"replication_slots_count": null,
|
||
|
"replication_slots_used_count": null,
|
||
|
"healthy": false,
|
||
|
"health": "An existing tracking database cannot be reused..",
|
||
|
"health_status": "Unhealthy",
|
||
|
"missing_oauth_application": false,
|
||
|
"db_replication_lag_seconds": 0,
|
||
|
"replication_slots_max_retained_wal_bytes": null,
|
||
|
"repositories_checked_count": null,
|
||
|
"repositories_checked_failed_count": null,
|
||
|
"last_event_id": 357,
|
||
|
"last_event_timestamp": 1683127088,
|
||
|
"cursor_last_event_id": 357,
|
||
|
"cursor_last_event_timestamp": 1683127088,
|
||
|
"last_successful_status_check_timestamp": 1683127146,
|
||
|
"version": "16.0.0-pre",
|
||
|
"revision": "129eb954664",
|
||
|
"selective_sync_type": "",
|
||
|
"namespaces": [],
|
||
|
"updated_at": "2023-05-03T15:19:06.174Z",
|
||
|
"storage_shards_match": true,
|
||
|
"_links": {
|
||
|
"self": "https://primary.example.com/api/v4/geo_sites/2/status",
|
||
|
"site": "https://primary.example.com/api/v4/geo_sites/2"
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
NOTE:
|
||
|
The `health_status` parameter can only be in an "Healthy" or "Unhealthy" state, while the `health` parameter can be empty, "Healthy", or contain the actual error message.
|
||
|
|
||
|
## Retrieve project sync or verification failures that occurred on the current site
|
||
|
|
||
|
This only works on a secondary site.
|
||
|
|
||
|
```plaintext
|
||
|
GET /geo_sites/current/failures
|
||
|
```
|
||
|
|
||
|
| Attribute | Type | Required | Description |
|
||
|
|----------------|--------|----------|--------------------------------------------------------------|
|
||
|
| `type` | string | no | Type of failed objects (`repository`/`wiki`) |
|
||
|
| `failure_type` | string | no | Type of failures (`sync`/`checksum_mismatch`/`verification`) |
|
||
|
|
||
|
This endpoint uses [Pagination](rest/index.md#pagination).
|
||
|
|
||
|
```shell
|
||
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/geo_sites/current/failures"
|
||
|
```
|
||
|
|
||
|
Example response:
|
||
|
|
||
|
```json
|
||
|
[
|
||
|
{
|
||
|
"project_id": 3,
|
||
|
"last_repository_synced_at": "2017-10-31 14:25:55 UTC",
|
||
|
"last_repository_successful_sync_at": "2017-10-31 14:26:04 UTC",
|
||
|
"last_wiki_synced_at": "2017-10-31 14:26:04 UTC",
|
||
|
"last_wiki_successful_sync_at": "2017-10-31 14:26:11 UTC",
|
||
|
"repository_retry_count": null,
|
||
|
"wiki_retry_count": 1,
|
||
|
"last_repository_sync_failure": null,
|
||
|
"last_wiki_sync_failure": "Error syncing Wiki repository",
|
||
|
"last_repository_verification_failure": "",
|
||
|
"last_wiki_verification_failure": "",
|
||
|
"repository_verification_checksum_sha": "da39a3ee5e6b4b0d32e5bfef9a601890afd80709",
|
||
|
"wiki_verification_checksum_sha": "da39a3ee5e6b4b0d3255bfef9ef0189aafd80709",
|
||
|
"repository_checksum_mismatch": false,
|
||
|
"wiki_checksum_mismatch": false
|
||
|
}
|
||
|
]
|
||
|
```
|