- 새 Geo 노드 생성
- 모든 Geo 노드에 대한 구성 가져오기
- 특정 Geo 노드에 대한 구성 가져오기
- Geo 노드 편집
- Geo 노드 삭제
- Geo 노드 수리
- 모든 Geo 노드 상태 조회
- 특정 Geo 노드의 상태 가져오기
Geo Nodes API (deprecated)
Tier: Premium, Ultimate
Offering: Self-managed
Geo Nodes API는 deprecated 되었으며 GitLab 16.0에서 제거될 예정입니다.
대신 Geo Sites API를 사용하세요.
이 변경은 중단 호환성이 있는 변경입니다.
Geo 노드 엔드포인트와 상호작용하려면 관리자로 인증해야 합니다.
새 Geo 노드 생성
새 Geo 노드를 생성합니다.
POST /geo_nodes
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/geo_nodes" \
     --request POST \
     -d "name=himynameissomething" \
     -d "url=https://another-node.example.com/"
| Attribute | Type | Required | Description | 
|---|---|---|---|
| primary | boolean | no | 이 노드가 기본 노드인지 여부를 지정합니다. 기본값은 false입니다. | 
| enabled | boolean | no | Geo 노드가 활성화되어 있는지 표시하는 플래그입니다. 기본값은 true입니다. | 
| name | string | yes | Geo 노드의 고유 식별자입니다. gitlab.rb에서 설정된 경우geo_node_name과 일치해야 하며, 그렇지 않으면external_url과 일치해야 합니다. | 
| url | string | yes | Geo 노드를 위한 사용자 친화적인 URL입니다. | 
| internal_url | string | no | 보조 노드가 이를 사용하여 기본 노드에 연락해야 하는 URL입니다. 설정되지 않은 경우 url을 반환합니다. | 
| files_max_capacity | integer | no | 이 보조 노드의 LFS/첨부파일 백필 최대 동시성 수를 제어합니다. 기본값은 10입니다. | 
| repos_max_capacity | integer | no | 이 보조 노드의 저장소 백필 최대 동시성 수를 제어합니다. 기본값은 25입니다. | 
| verification_max_capacity | integer | no | 이 노드의 저장소 검증 최대 동시성 수를 제어합니다. 기본값은 100입니다. | 
| container_repositories_max_capacity | integer | no | 이 노드의 컨테이너 저장소 동기화 최대 동시성 수를 제어합니다. 기본값은 10입니다. | 
| sync_object_storage | boolean | no | 보조 Geo 노드가 객체 저장소에서 blob을 복제해야 하는지 여부를 나타내는 플래그입니다. 기본값은 false입니다. | 
| selective_sync_type | string | no | 동기화를 특정 그룹 또는 샤드로 제한합니다. 유효한 값: "namespaces","shards", 또는null입니다. | 
| selective_sync_shards | array | no | selective_sync_type이shards일 때 동기화된 프로젝트의 저장소입니다. | 
| selective_sync_namespace_ids | array | no | selective_sync_type이namespaces일 때 동기화되어야 하는 그룹의 ID입니다. | 
| minimum_reverification_interval | integer | no | 저장소 검증이 유효한 기간(일)입니다. 만료된 후에 재검증됩니다. 보조 노드에 설정할 경우 효과가 없습니다. | 
예시 응답:
{
  "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_nodes
curl --header "PRIVATE-TOKEN: <your_access_token>" "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/:id
curl --header "PRIVATE-TOKEN: <your_access_token>" "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 | 정수 | 예 | Geo 노드의 ID입니다. | 
| enabled | 부울 | 아니오 | Geo 노드가 활성화되어 있는지 나타내는 플래그입니다. | 
| name | 문자열 | 아니오 | Geo 노드의 고유 식별자입니다. gitlab.rb에 설정된 경우geo_node_name와 일치해야 하며, 그렇지 않으면external_url과 일치해야 합니다. | 
| url | 문자열 | 아니오 | 사용자가 볼 수 있는 Geo 노드의 URL입니다. | 
| internal_url | 문자열 | 아니오 | 보조 노드가 주 노드에 연락하는 데 사용할 URL입니다. 설정되지 않은 경우 url을 반환합니다. | 
| files_max_capacity | 정수 | 아니오 | 이 보조 노드에 대한 LFS/첨부 파일 백필의 최대 동시성을 제어합니다. | 
| repos_max_capacity | 정수 | 아니오 | 이 보조 노드에 대한 리포지토리 백필의 최대 동시성을 제어합니다. | 
| verification_max_capacity | 정수 | 아니오 | 이 노드에 대한 검증의 최대 동시성을 제어합니다. | 
| container_repositories_max_capacity | 정수 | 아니오 | 이 노드에 대한 컨테이너 리포지토리 동기화의 최대 동시성을 제어합니다. | 
| sync_object_storage | 부울 | 아니오 | 보조 Geo 노드가 Object Storage에서 블롭을 복제해야 하는지 나타내는 플래그입니다. | 
| selective_sync_type | 문자열 | 아니오 | 동기화를 특정 그룹이나 샤드로만 제한합니다. 유효한 값: "namespaces","shards"또는null입니다. | 
| selective_sync_shards | 배열 | 아니오 | selective_sync_type이shards일 때 동기화된 프로젝트의 리포지토리 저장소입니다. | 
| selective_sync_namespace_ids | 배열 | 아니오 | selective_sync_type이namespaces일 때 동기화될 그룹의 ID입니다. | 
| minimum_reverification_interval | 정수 | 아니오 | 리포지토리 검증이 유효한 간격(일)입니다. 만료되면 재검증됩니다. 보조 노드에 설정되면 효과가 없습니다. | 
예시 응답:
{
  "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 | 정수 | 예 | 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/status
curl --header "PRIVATE-TOKEN: <your_access_token>" "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%",
    "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/status
curl --header "PRIVATE-TOKEN: <your_access_token>" "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%"
}
 도움말
        도움말