Help us learn about your current experience with the documentation. Take the survey.
Geo 节点 API(已弃用)
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed
Geo 节点 API 已在 GitLab 16.0 中弃用, 并计划在 API v5 版本中移除。请改用 Geo 站点 API。 此变更属于破坏性变更。
要与 Geo 节点端点交互,您必须以管理员身份进行身份验证。
创建新的 Geo 节点
创建新的 Geo 节点。
POST /geo_nodescurl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://primary.example.com/api/v4/geo_nodes" \
-d "name=himynameissomething" \
-d "url=https://another-node.example.com/"| 属性 | 类型 | 必填 | 说明 |
|---|---|---|---|
primary |
boolean | 否 | 指定此节点是否为主节点。默认为 false。 |
enabled |
boolean | 否 | 指示 Geo 节点是否启用的标志。默认为 true。 |
name |
string | 是 | Geo 节点的唯一标识符。若在 gitlab.rb 中设置了 geo_node_name,则必须与之匹配;否则必须与 external_url 匹配。 |
url |
string | 是 | Geo 节点的用户可见 URL。 |
internal_url |
string | 否 | 主节点上定义的 URL,供从节点用于联系主节点。若未设置则返回 url。 |
files_max_capacity |
integer | 否 | 控制此从节点的 LFS/附件回填的最大并发数。默认为 10。 |
repos_max_capacity |
integer | 否 | 控制此从节点的仓库回填的最大并发数。默认为 25。 |
verification_max_capacity |
integer | 否 | 控制此节点的仓库验证的最大并发数。默认为 100。 |
container_repositories_max_capacity |
integer | 否 | 控制此节点的容器仓库同步的最大并发数。默认为 10。 |
sync_object_storage |
boolean | 否 | 指示 Geo 从节点是否应复制对象存储中的 blob 的标志。默认为 false。 |
selective_sync_type |
string | 否 | 将同步限制为仅特定组或分片。有效值:"namespaces"、"shards" 或 null。 |
selective_sync_shards |
array | 否 | 当 selective_sync_type 为 shards 时,指定要同步项目的仓库存储。 |
selective_sync_namespace_ids |
array | 否 | 当 selective_sync_type 为 namespaces 时,指定要同步的组 ID。 |
minimum_reverification_interval |
integer | 否 | 仓库验证有效的间隔(以天为单位)。过期后将重新验证。在从节点上设置此参数无效。 |
示例响应:
{
"id": 3,
"name": "Test Node 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,
"selective_sync_type": "namespaces",
"selective_sync_shards": [],
"selective_sync_namespace_ids": [1, 25],
"minimum_reverification_interval": 7,
"container_repositories_max_capacity": 10,
"sync_object_storage": false,
"clone_protocol": "http",
"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_nodes/3",
"status": "https://primary.example.com/api/v4/geo_nodes/3/status",
"repair": "https://primary.example.com/api/v4/geo_nodes/3/repair"
}
}获取所有 Geo 节点的配置信息
GET /geo_nodescurl \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://primary.example.com/api/v4/geo_nodes"示例响应:
[
{
"id": 1,
"name": "us-node",
"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,
"container_repositories_max_capacity": 10,
"verification_max_capacity": 100,
"selective_sync_type": "namespaces",
"selective_sync_shards": [],
"selective_sync_namespace_ids": [1, 25],
"minimum_reverification_interval": 7,
"clone_protocol": "http",
"web_edit_url": "https://primary.example.com/admin/geo/sites/1/edit",
"_links": {
"self": "https://primary.example.com/api/v4/geo_nodes/1",
"status":"https://primary.example.com/api/v4/geo_nodes/1/status",
"repair":"https://primary.example.com/api/v4/geo_nodes/1/repair"
}
},
{
"id": 2,
"name": "cn-node",
"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,
"container_repositories_max_capacity": 10,
"verification_max_capacity": 100,
"selective_sync_type": "namespaces",
"selective_sync_shards": [],
"selective_sync_namespace_ids": [1, 25],
"minimum_reverification_interval": 7,
"sync_object_storage": true,
"clone_protocol": "http",
"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_nodes/2",
"status":"https://primary.example.com/api/v4/geo_nodes/2/status",
"repair":"https://primary.example.com/api/v4/geo_nodes/2/repair"
}
}
]获取特定 Geo 节点的配置信息
GET /geo_nodes/:idcurl \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://primary.example.com/api/v4/geo_nodes/1"示例响应:
{
"id": 1,
"name": "us-node",
"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,
"container_repositories_max_capacity": 10,
"verification_max_capacity": 100,
"selective_sync_type": "namespaces",
"selective_sync_shards": [],
"selective_sync_namespace_ids": [1, 25],
"minimum_reverification_interval": 7,
"clone_protocol": "http",
"web_edit_url": "https://primary.example.com/admin/geo/sites/1/edit",
"_links": {
"self": "https://primary.example.com/api/v4/geo_nodes/1",
"status":"https://primary.example.com/api/v4/geo_nodes/1/status",
"repair":"https://primary.example.com/api/v4/geo_nodes/1/repair"
}
}编辑 Geo 节点
更新现有 Geo 节点的设置。
PUT /geo_nodes/:id| 属性 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
integer | 是 | Geo 节点的 ID。 |
enabled |
boolean | 否 | 指示 Geo 节点是否启用的标志。 |
name |
string | 否 | Geo 节点的唯一标识符。若在 gitlab.rb 中设置了 geo_node_name,则必须与之匹配;否则必须与 external_url 匹配。 |
url |
string | 否 | Geo 节点的用户可见 URL。 |
internal_url |
string | 否 | 主节点上定义的 URL,供从节点用于联系主节点。若未设置则返回 url。 |
files_max_capacity |
integer | 否 | 控制此从节点的 LFS/附件回填的最大并发数。 |
repos_max_capacity |
integer | 否 | 控制此从节点的仓库回填的最大并发数。 |
verification_max_capacity |
integer | 否 | 控制此节点的验证的最大并发数。 |
container_repositories_max_capacity |
integer | 否 | 控制此节点的容器仓库同步的最大并发数。 |
sync_object_storage |
boolean | 否 | 指示 Geo 从节点是否应复制对象存储中的 blob 的标志。 |
selective_sync_type |
string | 否 | 将同步限制为仅特定组或分片。有效值:"namespaces"、"shards" 或 null。 |
selective_sync_shards |
array | 否 | 当 selective_sync_type 为 shards 时,指定要同步项目的仓库存储。 |
selective_sync_namespace_ids |
array | 否 | 当 selective_sync_type 为 namespaces 时,指定要同步的组 ID。 |
minimum_reverification_interval |
integer | 否 | 仓库验证有效的间隔(以天为单位)。过期后将重新验证。在从节点上设置此参数无效。 |
示例响应:
{
"id": 1,
"name": "cn-node",
"url": "https://secondary.example.com/",
"internal_url": "https://secondary.example.com/",
"primary": false,
"enabled": true,
"current": true,
"files_max_capacity": 10,
"repos_max_capacity": 25,
"container_repositories_max_capacity": 10,
"verification_max_capacity": 100,
"selective_sync_type": "namespaces",
"selective_sync_shards": [],
"selective_sync_namespace_ids": [1, 25],
"minimum_reverification_interval": 7,
"sync_object_storage": true,
"clone_protocol": "http",
"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_nodes/2",
"status":"https://primary.example.com/api/v4/geo_nodes/2/status",
"repair":"https://primary.example.com/api/v4/geo_nodes/2/repair"
}
}删除 Geo 节点
移除 Geo 节点。
DELETE /geo_nodes/:id| 属性 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
integer | 是 | Geo 节点的 ID。 |
修复 Geo 节点
用于修复 Geo 节点的 OAuth 身份验证。
此操作仅能针对主 Geo 节点运行。
POST /geo_nodes/:id/repair示例响应:
{
"id": 1,
"name": "us-node",
"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,
"container_repositories_max_capacity": 10,
"verification_max_capacity": 100,
"clone_protocol": "http",
"web_edit_url": "https://primary.example.com/admin/geo/sites/1/edit",
"_links": {
"self": "https://primary.example.com/api/v4/geo_nodes/1",
"status":"https://primary.example.com/api/v4/geo_nodes/1/status",
"repair":"https://primary.example.com/api/v4/geo_nodes/1/repair"
}
}获取所有 Geo 节点的状态信息
GET /geo_nodes/statuscurl \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://primary.example.com/api/v4/geo_nodes/status"示例响应:
[
{
"geo_node_id": 1,
"healthy": true,
"health": "Healthy",
"health_status": "Healthy",
"missing_oauth_application": false,
"db_replication_lag_seconds": null,
"lfs_objects_count": 5,
"lfs_objects_checksum_total_count": 5,
"lfs_objects_checksummed_count": 5,
"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,
"lfs_objects_synced_in_percentage": "0.00%",
"lfs_objects_verified_in_percentage": "0.00%",
"job_artifacts_count": 2,
"job_artifacts_synced_count": null,
"job_artifacts_failed_count": null,
"job_artifacts_synced_in_percentage": "0.00%",
"projects_count": 41,
"repositories_count": 41,
"replication_slots_count": 1,
"replication_slots_used_count": 1,
"replication_slots_used_in_percentage": "100.00%",
"replication_slots_max_retained_wal_bytes": 0,
"repositories_checked_count": 20,
"repositories_checked_failed_count": 20,
"repositories_checked_in_percentage": "100.00%",
"last_event_id": 23,
"last_event_timestamp": 1509681166,
"cursor_last_event_id": null,
"cursor_last_event_timestamp": 0,
"last_successful_status_check_timestamp": 1510125024,
"version": "10.3.0",
"revision": "33d33a096a",
"merge_request_diffs_count": 5,
"merge_request_diffs_checksum_total_count": 5,
"merge_request_diffs_checksummed_count": 5,
"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,
"merge_request_diffs_synced_in_percentage": "0.00%",
"merge_request_diffs_verified_in_percentage": "0.00%",
"package_files_count": 5,
"package_files_checksum_total_count": 5,
"package_files_checksummed_count": 5,
"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,
"package_files_synced_in_percentage": "0.00%",
"package_files_verified_in_percentage": "0.00%",
"pages_deployments_count": 5,
"pages_deployments_checksum_total_count": 5,
"pages_deployments_checksummed_count": 5,
"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,
"pages_deployments_synced_in_percentage": "0.00%",
"pages_deployments_verified_in_percentage": "0.00%",
"terraform_state_versions_count": 5,
"terraform_state_versions_checksum_total_count": 5,
"terraform_state_versions_checksummed_count": 5,
"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,
"terraform_state_versions_synced_in_percentage": "0.00%",
"terraform_state_versions_verified_in_percentage": "0.00%",
"snippet_repositories_count": 5,
"snippet_repositories_checksum_total_count": 5,
"snippet_repositories_checksummed_count": 5,
"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,
"snippet_repositories_synced_in_percentage": "0.00%",
"snippet_repositories_verified_in_percentage": "0.00%",
"project_wiki_repositories_count": 3,
"project_wiki_repositories_checksum_total_count": 3,
"project_wiki_repositories_checksummed_count": 3,
"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,
"project_wiki_repositories_synced_in_percentage": "0.00%",
"project_wiki_repositories_verified_in_percentage": "0.00%",
"group_wiki_repositories_count": 5,
"group_wiki_repositories_checksum_total_count": 5,
"group_wiki_repositories_checksummed_count": 5,
"group_wiki_repositories_checksum_failed_count": 0,
"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,
"group_wiki_repositories_synced_in_percentage": "0.00%",
"group_wiki_repositories_verified_in_percentage": "0.00%",
"pipeline_artifacts_count": 5,
"pipeline_artifacts_checksum_total_count": 5,
"pipeline_artifacts_checksummed_count": 5,
"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,
"pipeline_artifacts_synced_in_percentage": "0.00%",
"pipeline_artifacts_verified_in_percentage": "0.00%",
"uploads_count": 5,
"uploads_synced_count": null,
"uploads_failed_count": 0,
"uploads_registry_count": null,
"uploads_synced_in_percentage": "0.00%",
"uploads_checksum_total_count": 5,
"uploads_checksummed_count": 5,
"uploads_checksum_failed_count": null,
"uploads_verification_total_count": null,
"uploads_verified_count": null,
"uploads_verification_failed_count": null,
"uploads_verified_in_percentage": "0.00%",
"job_artifacts_count": 5,
"job_artifacts_checksum_total_count": 5,
"job_artifacts_checksummed_count": 5,
"job_artifacts_checksum_failed_count": 0,
"job_artifacts_synced_count": 5,
"job_artifacts_failed_count": 0,
"job_artifacts_registry_count": 5,
"job_artifacts_verification_total_count": 5,
"job_artifacts_verified_count": 5,
"job_artifacts_verification_failed_count": 0,
"job_artifacts_synced_in_percentage": "100.00%",
"job_artifacts_verified_in_percentage": "100.00%",
"ci_secure_files_count": 5,
"ci_secure_files_checksum_total_count": 5,
"ci_secure_files_checksummed_count": 5,
"ci_secure_files_checksum_failed_count": 0,
"ci_secure_files_synced_count": 5,
"ci_secure_files_failed_count": 0,
"ci_secure_files_registry_count": 5,
"ci_secure_files_verification_total_count": 5,
"ci_secure_files_verified_count": 5,
"ci_secure_files_verification_failed_count": 0,
"ci_secure_files_synced_in_percentage": "100.00%",
"ci_secure_files_verified_in_percentage": "100.00%",
"dependency_proxy_blobs_count": 5,
"dependency_proxy_blobs_checksum_total_count": 5,
"dependency_proxy_blobs_checksummed_count": 5,
"dependency_proxy_blobs_checksum_failed_count": 0,
"dependency_proxy_blobs_synced_count": 5,
"dependency_proxy_blobs_failed_count": 0,
"dependency_proxy_blobs_registry_count": 5,
"dependency_proxy_blobs_verification_total_count": 5,
"dependency_proxy_blobs_verified_count": 5,
"dependency_proxy_blobs_verification_failed_count": 0,
"dependency_proxy_blobs_synced_in_percentage": "100.00%",
"dependency_proxy_blobs_verified_in_percentage": "100.00%",
"container_repositories_count": 5,
"container_repositories_synced_count": 5,
"container_repositories_failed_count": 0,
"container_repositories_registry_count": 5,
"container_repositories_synced_in_percentage": "100.00%",
"container_repositories_checksum_total_count": 0,
"container_repositories_checksummed_count": 0,
"container_repositories_checksum_failed_count": 0,
"container_repositories_verification_total_count": 0,
"container_repositories_verified_count": 0,
"container_repositories_verification_failed_count": 0,
"container_repositories_verified_in_percentage": "100.00%",
"dependency_proxy_manifests_count": 5,
"dependency_proxy_manifests_checksum_total_count": 5,
"dependency_proxy_manifests_checksummed_count": 5,
"dependency_proxy_manifests_checksum_failed_count": 5,
"dependency_proxy_manifests_synced_count": 5,
"dependency_proxy_manifests_failed_count": 0,
"dependency_proxy_manifests_registry_count": 5,
"dependency_proxy_manifests_verification_total_count": 5,
"dependency_proxy_manifests_verified_count": 5,
"dependency_proxy_manifests_verification_failed_count": 5,
"dependency_proxy_manifests_synced_in_percentage": "100.00%",
"dependency_proxy_manifests_verified_in_percentage": "100.00%",
"design_management_repositories_count": 5,
"design_management_repositories_checksum_total_count": 5,
"design_management_repositories_checksummed_count": 5,
"design_management_repositories_checksum_failed_count": 5,
"design_management_repositories_synced_count": 5,
"design_management_repositories_failed_count": 0,
"design_management_repositories_registry_count": 5,
"design_management_repositories_verification_total_count": 5,
"design_management_repositories_verified_count": 5,
"design_management_repositories_verification_failed_count": 5,
"design_management_repositories_synced_in_percentage": "100.00%",
"design_management_repositories_verified_in_percentage": "100.00%",
"project_repositories_count": 5,
"project_repositories_checksum_total_count": 5,
"project_repositories_checksummed_count": 5,
"project_repositories_checksum_failed_count": 0,
"project_repositories_synced_count": 5,
"project_repositories_failed_count": 0,
"project_repositories_registry_count": 5,
"project_repositories_verification_total_count": 5,
"project_repositories_verified_count": 5,
"project_repositories_verification_failed_count": 0,
"project_repositories_synced_in_percentage": "100.00%",
"project_repositories_verified_in_percentage": "100.00%"
},
{
"geo_node_id": 2,
"healthy": true,
"health": "Healthy",
"health_status": "Healthy",
"missing_oauth_application": false,
"db_replication_lag_seconds": 0,
"lfs_objects_count": 5,
"lfs_objects_checksum_total_count": 5,
"lfs_objects_checksummed_count": 5,
"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,
"lfs_objects_synced_in_percentage": "0.00%",
"lfs_objects_verified_in_percentage": "0.00%",
"job_artifacts_count": 2,
"job_artifacts_synced_count": 1,
"job_artifacts_failed_count": 1,
"job_artifacts_synced_in_percentage": "50.00%",
"design_management_repositories_count": 5,
"design_management_repositories_synced_count": 5,
"design_management_repositories_failed_count": 5,
"design_management_repositories_synced_in_percentage": "100.00%",
"design_management_repositories_checksum_total_count": 5,
"design_management_repositories_checksummed_count": 5,
"design_management_repositories_checksum_failed_count": 5,
"design_management_repositories_registry_count": 5,
"design_management_repositories_verification_total_count": 5,
"design_management_repositories_verified_count": 5,
"design_management_repositories_verification_failed_count": 5,
"design_management_repositories_verified_in_percentage": "100.00%",
"projects_count": 41,
"repositories_count": 41,
"replication_slots_count": null,
"replication_slots_used_count": null,
"replication_slots_used_in_percentage": "0.00%",
"replication_slots_max_retained_wal_bytes": null,
"repositories_checked_count": 5,
"repositories_checked_failed_count": 1,
"repositories_checked_in_percentage": "12.20%",
"last_event_id": 23,
"last_event_timestamp": 1509681166,
"cursor_last_event_id": 23,
"cursor_last_event_timestamp": 1509681166,
"last_successful_status_check_timestamp": 1510125024,
"version": "10.3.0",
"revision": "33d33a096a",
"merge_request_diffs_count": 5,
"merge_request_diffs_checksum_total_count": 5,
"merge_request_diffs_checksummed_count": 5,
"merge_request_diffs_checksum_failed_count": 0,
"merge_request_diffs_synced_count": 5,
"merge_request_diffs_failed_count": 0,
"merge_request_diffs_registry_count": 5,
"merge_request_diffs_verification_total_count": 5,
"merge_request_diffs_verified_count": 5,
"merge_request_diffs_verification_failed_count": 0,
"merge_request_diffs_synced_in_percentage": "100.00%",
"merge_request_diffs_verified_in_percentage": "100.00%",
"package_files_count": 5,
"package_files_checksum_total_count": 5,
"package_files_checksummed_count": 5,
"package_files_checksum_failed_count": 0,
"package_files_synced_count": 5,
"package_files_failed_count": 0,
"package_files_registry_count": 5,
"package_files_verification_total_count": 5,
"package_files_verified_count": 5,
"package_files_verification_failed_count": 0,
"package_files_synced_in_percentage": "100.00%",
"package_files_verified_in_percentage": "100.00%",
"terraform_state_versions_count": 5,
"terraform_state_versions_checksum_total_count": 5,
"terraform_state_versions_checksummed_count": 5,
"terraform_state_versions_checksum_failed_count": 0,
"terraform_state_versions_synced_count": 5,
"terraform_state_versions_failed_count": 0,
"terraform_state_versions_registry_count": 5,
"terraform_state_versions_verification_total_count": 5,
"terraform_state_versions_verified_count": 5,
"terraform_state_versions_verification_failed_count": 0,
"terraform_state_versions_synced_in_percentage": "100.00%",
"terraform_state_versions_verified_in_percentage": "100.00%",
"snippet_repositories_count": 5,
"snippet_repositories_checksum_total_count": 5,
"snippet_repositories_checksummed_count": 5,
"snippet_repositories_checksum_failed_count": 0,
"snippet_repositories_synced_count": 5,
"snippet_repositories_failed_count": 0,
"snippet_repositories_registry_count": 5,
"snippet_repositories_verification_total_count": 5,
"snippet_repositories_verified_count": 5,
"snippet_repositories_verification_failed_count": 0,
"snippet_repositories_synced_in_percentage": "100.00%",
"snippet_repositories_verified_in_percentage": "100.00%",
"group_wiki_repositories_count": 5,
"group_wiki_repositories_checksum_total_count": 5,
"group_wiki_repositories_checksummed_count": 5,
"group_wiki_repositories_checksum_failed_count": 0,
"group_wiki_repositories_synced_count": 5,
"group_wiki_repositories_failed_count": 0,
"group_wiki_repositories_registry_count": 5,
"group_wiki_repositories_verification_total_count": 5,
"group_wiki_repositories_verified_count": 5,
"group_wiki_repositories_verification_failed_count": 0,
"group_wiki_repositories_synced_in_percentage": "100.00%",
"group_wiki_repositories_verified_in_percentage": "100.00%",
"pipeline_artifacts_count": 5,
"pipeline_artifacts_checksum_total_count": 5,
"pipeline_artifacts_checksummed_count": 5,
"pipeline_artifacts_checksum_failed_count": 0,
"pipeline_artifacts_synced_count": 5,
"pipeline_artifacts_failed_count": 0,
"pipeline_artifacts_registry_count": 5,
"pipeline_artifacts_verification_total_count": 5,
"pipeline_artifacts_verified_count": 5,
"pipeline_artifacts_verification_failed_count": 0,
"pipeline_artifacts_synced_in_percentage": "100.00%",
"pipeline_artifacts_verified_in_percentage": "100.00%",
"uploads_count": 5,
"uploads_synced_count": null,
"uploads_failed_count": 0,
"uploads_registry_count": null,
"uploads_synced_in_percentage": "0.00%",
"uploads_checksum_total_count": 5,
"uploads_checksummed_count": 5,
"uploads_checksum_failed_count": null,
"uploads_verification_total_count": null,
"uploads_verified_count": null,
"uploads_verification_failed_count": null,
"uploads_verified_in_percentage": "0.00%",
"job_artifacts_count": 5,
"job_artifacts_checksum_total_count": 5,
"job_artifacts_checksummed_count": 5,
"job_artifacts_checksum_failed_count": 0,
"job_artifacts_synced_count": 5,
"job_artifacts_failed_count": 0,
"job_artifacts_registry_count": 5,
"job_artifacts_verification_total_count": 5,
"job_artifacts_verified_count": 5,
"job_artifacts_verification_failed_count": 0,
"job_artifacts_synced_in_percentage": "100.00%",
"job_artifacts_verified_in_percentage": "100.00%",
"dependency_proxy_blobs_count": 5,
"dependency_proxy_blobs_checksum_total_count": 5,
"dependency_proxy_blobs_checksummed_count": 5,
"dependency_proxy_blobs_checksum_failed_count": 0,
"dependency_proxy_blobs_synced_count": 5,
"dependency_proxy_blobs_failed_count": 0,
"dependency_proxy_blobs_registry_count": 5,
"dependency_proxy_blobs_verification_total_count": 5,
"dependency_proxy_blobs_verified_count": 5,
"dependency_proxy_blobs_verification_failed_count": 0,
"dependency_proxy_blobs_synced_in_percentage": "100.00%",
"dependency_proxy_blobs_verified_in_percentage": "100.00%",
"container_repositories_count": 5,
"container_repositories_synced_count": 5,
"container_repositories_failed_count": 0,
"container_repositories_registry_count": 5,
"container_repositories_synced_in_percentage": "100.00%",
"container_repositories_checksum_total_count": 0,
"container_repositories_checksummed_count": 0,
"container_repositories_checksum_failed_count": 0,
"container_repositories_verification_total_count": 0,
"container_repositories_verified_count": 0,
"container_repositories_verification_failed_count": 0,
"container_repositories_verified_in_percentage": "100.00%",
"dependency_proxy_manifests_count": 5,
"dependency_proxy_manifests_checksum_total_count": 5,
"dependency_proxy_manifests_checksummed_count": 5,
"dependency_proxy_manifests_checksum_failed_count": 5,
"dependency_proxy_manifests_synced_count": 5,
"dependency_proxy_manifests_failed_count": 0,
"dependency_proxy_manifests_registry_count": 5,
"dependency_proxy_manifests_verification_total_count": 5,
"dependency_proxy_manifests_verified_count": 5,
"dependency_proxy_manifests_verification_failed_count": 5,
"dependency_proxy_manifests_synced_in_percentage": "100.00%",
"dependency_proxy_manifests_verified_in_percentage": "100.00%",
"project_repositories_count": 5,
"project_repositories_checksum_total_count": 5,
"project_repositories_checksummed_count": 5,
"project_repositories_checksum_failed_count": 0,
"project_repositories_synced_count": 5,
"project_repositories_failed_count": 0,
"project_repositories_registry_count": 5,
"project_repositories_verification_total_count": 5,
"project_repositories_verified_count": 5,
"project_repositories_verification_failed_count": 0,
"project_repositories_synced_in_percentage": "100.00%",
"project_repositories_verified_in_percentage": "100.00%"
}
]获取特定 Geo 节点的状态信息
GET /geo_nodes/:id/statuscurl \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://primary.example.com/api/v4/geo_nodes/2/status"示例响应:
{
"geo_node_id": 2,
"healthy": true,
"health": "Healthy",
"health_status": "Healthy",
"missing_oauth_application": false,
"db_replication_lag_seconds": 0,
"lfs_objects_count": 5,
"lfs_objects_checksum_total_count": 5,
"lfs_objects_checksummed_count": 5,
"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,
"lfs_objects_synced_in_percentage": "0.00%",
"lfs_objects_verified_in_percentage": "0.00%",
"job_artifacts_count": 2,
"job_artifacts_synced_count": 1,
"job_artifacts_failed_count": 1,
"job_artifacts_synced_in_percentage": "50.00%",
"projects_count": 41,
"repositories_count": 41,
"replication_slots_count": null,
"replication_slots_used_count": null,
"replication_slots_used_in_percentage": "0.00%",
"replication_slots_max_retained_wal_bytes": null,
"last_event_id": 23,
"last_event_timestamp": 1509681166,
"cursor_last_event_id": 23,
"cursor_last_event_timestamp": 1509681166,
"last_successful_status_check_timestamp": 1510125268,
"version": "10.3.0",
"revision": "33d33a096a",
"merge_request_diffs_count": 5,
"merge_request_diffs_checksum_total_count": 5,
"merge_request_diffs_checksummed_count": 5,
"merge_request_diffs_checksum_failed_count": 0,
"merge_request_diffs_synced_count": 5,
"merge_request_diffs_failed_count": 0,
"merge_request_diffs_registry_count": 5,
"merge_request_diffs_verification_total_count": 5,
"merge_request_diffs_verified_count": 5,
"merge_request_diffs_verification_failed_count": 0,
"merge_request_diffs_synced_in_percentage": "100.00%",
"merge_request_diffs_verified_in_percentage": "100.00%",
"package_files_count": 5,
"package_files_checksum_total_count": 5,
"package_files_checksummed_count": 5,
"package_files_checksum_failed_count": 0,
"package_files_synced_count": 5,
"package_files_failed_count": 0,
"package_files_registry_count": 5,
"package_files_verification_total_count": 5,
"package_files_verified_count": 5,
"package_files_verification_failed_count": 0,
"package_files_synced_in_percentage": "100.00%",
"package_files_verified_in_percentage": "100.00%",
"terraform_state_versions_count": 5,
"terraform_state_versions_checksum_total_count": 5,
"terraform_state_versions_checksummed_count": 5,
"terraform_state_versions_checksum_failed_count": 0,
"terraform_state_versions_synced_count": 5,
"terraform_state_versions_failed_count": 0,
"terraform_state_versions_registry_count": 5,
"terraform_state_versions_verification_total_count": 5,
"terraform_state_versions_verified_count": 5,
"terraform_state_versions_verification_failed_count": 0,
"terraform_state_versions_synced_in_percentage": "100.00%",
"terraform_state_versions_verified_in_percentage": "100.00%",
"snippet_repositories_count": 5,
"snippet_repositories_checksum_total_count": 5,
"snippet_repositories_checksummed_count": 5,
"snippet_repositories_checksum_failed_count": 0,
"snippet_repositories_synced_count": 5,
"snippet_repositories_failed_count": 0,
"snippet_repositories_registry_count": 5,
"snippet_repositories_verification_total_count": 5,
"snippet_repositories_verified_count": 5,
"snippet_repositories_verification_failed_count": 0,
"snippet_repositories_synced_in_percentage": "100.00%",
"snippet_repositories_verified_in_percentage": "100.00%",
"group_wiki_repositories_count": 5,
"group_wiki_repositories_checksum_total_count": 5,
"group_wiki_repositories_checksummed_count": 5,
"group_wiki_repositories_checksum_failed_count": 0,
"group_wiki_repositories_synced_count": 5,
"group_wiki_repositories_failed_count": 0,
"group_wiki_repositories_registry_count": 5,
"group_wiki_repositories_verification_total_count": 5,
"group_wiki_repositories_verified_count": 5,
"group_wiki_repositories_verification_failed_count": 0,
"group_wiki_repositories_synced_in_percentage": "100.00%",
"group_wiki_repositories_verified_in_percentage": "100.00%",
"pipeline_artifacts_count": 5,
"pipeline_artifacts_checksum_total_count": 5,
"pipeline_artifacts_checksummed_count": 5,
"pipeline_artifacts_checksum_failed_count": 0,
"pipeline_artifacts_synced_count": 5,
"pipeline_artifacts_failed_count": 0,
"pipeline_artifacts_registry_count": 5,
"pipeline_artifacts_verification_total_count": 5,
"pipeline_artifacts_verified_count": 5,
"pipeline_artifacts_verification_failed_count": 0,
"pipeline_artifacts_synced_in_percentage": "100.00%",
"pipeline_artifacts_verified_in_percentage": "100.00%",
"uploads_count": 5,
"uploads_synced_count": null,
"uploads_failed_count": 0,
"uploads_registry_count": null,
"uploads_synced_in_percentage": "0.00%",
"uploads_checksum_total_count": 5,
"uploads_checksummed_count": 5,
"uploads_checksum_failed_count": null,
"uploads_verification_total_count": null,
"uploads_verified_count": null,
"uploads_verification_failed_count": null,
"uploads_verified_in_percentage": "0.00%",
"job_artifacts_count": 5,
"job_artifacts_checksum_total_count": 5,
"job_artifacts_checksummed_count": 5,
"job_artifacts_checksum_failed_count": 0,
"job_artifacts_synced_count": 5,
"job_artifacts_failed_count": 0,
"job_artifacts_registry_count": 5,
"job_artifacts_verification_total_count": 5,
"job_artifacts_verified_count": 5,
"job_artifacts_verification_failed_count": 0,
"job_artifacts_synced_in_percentage": "100.00%",
"job_artifacts_verified_in_percentage": "100.00%",
"ci_secure_files_count": 5,
"ci_secure_files_checksum_total_count": 5,
"ci_secure_files_checksummed_count": 5,
"ci_secure_files_checksum_failed_count": 0,
"ci_secure_files_synced_count": 5,
"ci_secure_files_failed_count": 0,
"ci_secure_files_registry_count": 5,
"ci_secure_files_verification_total_count": 5,
"ci_secure_files_verified_count": 5,
"ci_secure_files_verification_failed_count": 0,
"ci_secure_files_synced_in_percentage": "100.00%",
"ci_secure_files_verified_in_percentage": "100.00%",
"dependency_proxy_blobs_count": 5,
"dependency_proxy_blobs_checksum_total_count": 5,
"dependency_proxy_blobs_checksummed_count": 5,
"dependency_proxy_blobs_checksum_failed_count": 0,
"dependency_proxy_blobs_synced_count": 5,
"dependency_proxy_blobs_failed_count": 0,
"dependency_proxy_blobs_registry_count": 5,
"dependency_proxy_blobs_verification_total_count": 5,
"dependency_proxy_blobs_verified_count": 5,
"dependency_proxy_blobs_verification_failed_count": 0,
"dependency_proxy_blobs_synced_in_percentage": "100.00%",
"dependency_proxy_blobs_verified_in_percentage": "100.00%",
"container_repositories_count": 5,
"container_repositories_synced_count": 5,
"container_repositories_failed_count": 0,
"container_repositories_registry_count": 5,
"container_repositories_synced_in_percentage": "100.00%",
"container_repositories_checksum_total_count": 0,
"container_repositories_checksummed_count": 0,
"container_repositories_checksum_failed_count": 0,
"container_repositories_verification_total_count": 0,
"container_repositories_verified_count": 0,
"container_repositories_verification_failed_count": 0,
"container_repositories_verified_in_percentage": "100.00%",
"dependency_proxy_manifests_count": 5,
"dependency_proxy_manifests_checksum_total_count": 5,
"dependency_proxy_manifests_checksummed_count": 5,
"dependency_proxy_manifests_checksum_failed_count": 5,
"dependency_proxy_manifests_synced_count": 5,
"dependency_proxy_manifests_failed_count": 0,
"dependency_proxy_manifests_registry_count": 5,
"dependency_proxy_manifests_verification_total_count": 5,
"dependency_proxy_manifests_verified_count": 5,
"dependency_proxy_manifests_verification_failed_count": 5,
"dependency_proxy_manifests_synced_in_percentage": "100.00%",
"dependency_proxy_manifests_verified_in_percentage": "100.00%",
"design_management_repositories_count": 5,
"design_management_repositories_checksum_total_count": 5,
"design_management_repositories_checksummed_count": 5,
"design_management_repositories_checksum_failed_count": 5,
"design_management_repositories_synced_count": 5,
"design_management_repositories_failed_count": 0,
"design_management_repositories_registry_count": 5,
"design_management_repositories_verification_total_count": 5,
"design_management_repositories_verified_count": 5,
"design_management_repositories_verification_failed_count": 5,
"design_management_repositories_synced_in_percentage": "100.00%",
"design_management_repositories_verified_in_percentage": "100.00%",
"project_repositories_count": 5,
"project_repositories_checksum_total_count": 5,
"project_repositories_checksummed_count": 5,
"project_repositories_checksum_failed_count": 0,
"project_repositories_synced_count": 5,
"project_repositories_failed_count": 0,
"project_repositories_registry_count": 5,
"project_repositories_verification_total_count": 5,
"project_repositories_verified_count": 5,
"project_repositories_verification_failed_count": 0,
"project_repositories_synced_in_percentage": "100.00%",
"project_repositories_verified_in_percentage": "100.00%"
}health_status 参数只能处于 “Healthy”(健康)或 “Unhealthy”(不健康)状态,而 health 参数可以为空、“Healthy”(健康)或包含实际错误消息。