- 新しい Geo ノードの作成
- 全てのGeoノードの設定を取得
- 特定のGeoノードに関する設定を取得
- Geo ノードの編集
- Geoノードの削除
- Geo ノードの修復
- すべての Geo ノードのステータスを取得
- 特定の Geo ノードに関するステータスの取得
- 現在のノードで発生したプロジェクトの同期または検証の失敗を取得します。
Geo Nodes 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/"
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
primary | boolean | いいえ | このノードをプライマリノードにするかどうかを指定します。デフォルトはfalseです。 |
enabled | boolean | いいえ | Geoノードが有効かどうかを示すフラグ。デフォルトはtrue。 |
name | 文字列です。 | yes | Geo ノードの一意な識別子。gitlab.rb で設定されている場合はgeo_node_name と一致しなければなりません。external_url
|
url | 文字列です。 | yes | Geoノードのユーザー向けURL。 |
internal_url | 文字列です。 | いいえ | プライマリノードがセカンダリノードとの連絡に使用するURL。設定されていない場合はurl を返します。 |
files_max_capacity | 整数。 | いいえ | このセカンダリノードのLFS/アタッチメントバックフィルの最大同時実行数を制御します。デフォルトは10です。 |
repos_max_capacity | 整数。 | いいえ | このセカンダリノードのリポジトリバックフィルの最大同時実行数を制御します。デフォルトは25です。 |
verification_max_capacity | 整数。 | いいえ | このノードのリポジトリ検証の最大同時実行数を制御します。デフォルトは100です。 |
container_repositories_max_capacity | 整数。 | いいえ | このノードのコンテナリポジトリ同期の最大同時実行数を制御します。デフォルトは10です。 |
sync_object_storage | boolean | いいえ | セカンダリノードがオブジェクトストレージ内のブロブをレプリケートすべきかどうかを示すフラグ。デフォルトは false です。 |
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": 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_projects_url": "https://secondary.example.com/admin/geo/projects",
"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"
}
}
web_geo_projects_url
属性は廃止予定です。GitLab 14.9では廃止予定です。全ての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_projects_url": "https://secondary.example.com/admin/geo/projects",
"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"
}
}
]
web_geo_projects_url
属性は廃止予定です。GitLab 14.9ではweb_geo_projects_url
廃止予定web_geo_projects_url
です。特定の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 | 整数。 | yes | Geo ノードの ID。 |
enabled | boolean | いいえ | 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 | boolean | いいえ | セカンダリノードがオブジェクトストレージ内のブロブをレプリケートすべきかどうかを示すフラグ。 |
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_projects_url": "https://secondary.example.com/admin/geo/projects",
"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"
}
}
web_geo_projects_url
属性は廃止予定です。GitLab 14.9では廃止予定です。Geoノードの削除
Geo ノードを削除します。
DELETE /geo_nodes/:id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 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_missing_on_primary_count": 0,
"job_artifacts_synced_in_percentage": "0.00%",
"design_repositories_count": 3,
"design_repositories_synced_count": null,
"design_repositories_failed_count": null,
"design_repositories_synced_in_percentage": "0.00%",
"projects_count": 41,
"repositories_count": 41,
"repositories_failed_count": null,
"repositories_synced_count": null,
"repositories_synced_in_percentage": "0.00%",
"wikis_count": 41,
"wikis_failed_count": null,
"wikis_synced_count": null,
"wikis_synced_in_percentage": "0.00%",
"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%",
"repositories_checksummed_count": 20,
"repositories_checksum_failed_count": 5,
"repositories_checksummed_in_percentage": "48.78%",
"wikis_checksummed_count": 10,
"wikis_checksum_failed_count": 3,
"wikis_checksummed_in_percentage": "24.39%",
"repositories_verified_count": 20,
"repositories_verification_failed_count": 5,
"repositories_verified_in_percentage": "48.78%",
"repositories_checksum_mismatch_count": 3,
"wikis_verified_count": 10,
"wikis_verification_failed_count": 3,
"wikis_verified_in_percentage": "24.39%",
"wikis_checksum_mismatch_count": 1,
"repositories_retrying_verification_count": 1,
"wikis_retrying_verification_count": 3,
"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%",
"job_artifacts_synced_missing_on_primary_count": 0,
"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%",
"ci_secure_files_synced_missing_on_primary_count": 0,
"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%",
"dependency_proxy_blobs_synced_missing_on_primary_count": 0,
"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_synced_missing_on_primary_count": 0,
"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_missing_on_primary_count": 0,
"job_artifacts_synced_in_percentage": "50.00%",
"design_repositories_count": 3,
"design_repositories_synced_count": null,
"design_repositories_failed_count": null,
"design_repositories_synced_in_percentage": "0.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,
"repositories_failed_count": 1,
"repositories_synced_count": 40,
"repositories_synced_in_percentage": "97.56%",
"wikis_count": 41,
"wikis_failed_count": 0,
"wikis_synced_count": 41,
"wikis_synced_in_percentage": "100.00%",
"replication_slots_count": null,
"replication_slots_used_count": null,
"replication_slots_used_in_percentage": "0.00%",
"replication_slots_max_retained_wal_bytes": null,
"repositories_checksummed_count": 20,
"repositories_checksum_failed_count": 5,
"repositories_checksummed_in_percentage": "48.78%",
"wikis_checksummed_count": 10,
"wikis_checksum_failed_count": 3,
"wikis_checksummed_in_percentage": "24.39%",
"repositories_verified_count": 20,
"repositories_verification_failed_count": 5,
"repositories_verified_in_percentage": "48.78%",
"repositories_checksum_mismatch_count": 3,
"wikis_verified_count": 10,
"wikis_verification_failed_count": 3,
"wikis_verified_in_percentage": "24.39%",
"wikis_checksum_mismatch_count": 1,
"repositories_retrying_verification_count": 4,
"wikis_retrying_verification_count": 2,
"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%",
"job_artifacts_synced_missing_on_primary_count": 0,
"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%",
"dependency_proxy_blobs_synced_missing_on_primary_count": 0,
"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_synced_missing_on_primary_count": 0,
"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_missing_on_primary_count": 0,
"job_artifacts_synced_in_percentage": "50.00%",
"design_repositories_count": 3,
"design_repositories_synced_count": null,
"design_repositories_failed_count": null,
"design_repositories_synced_in_percentage": "0.00%",
"projects_count": 41,
"repositories_count": 41,
"repositories_failed_count": 1,
"repositories_synced_count": 40,
"repositories_synced_in_percentage": "97.56%",
"wikis_count": 41,
"wikis_failed_count": 0,
"wikis_synced_count": 41,
"wikis_synced_in_percentage": "100.00%",
"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%",
"job_artifacts_synced_missing_on_primary_count": 0,
"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%",
"ci_secure_files_synced_missing_on_primary_count": 0,
"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%",
"dependency_proxy_blobs_synced_missing_on_primary_count": 0,
"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_synced_missing_on_primary_count": 0,
"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”、または実際のエラーメッセージを含むことができます。現在のノードで発生したプロジェクトの同期または検証の失敗を取得します。
これはセカンダリノードでのみ機能します。
GET /geo_nodes/current/failures
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
type | 文字列です。 | いいえ | 失敗したオブジェクトのタイプ (repository /wiki ) |
failure_type | 文字列です。 | いいえ | 障害の種類 (sync /checksum_mismatch /verification ) |
このエンドポイントはPaginationを使用しています。
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/geo_nodes/current/failures"
応答例
[
{
"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
}
]