Skip to content

Update a Geo node

PUT
/api/v4/geo_nodes/{id}

Updates a specified Geo node.

id
required
integer
Media type application/json
object
enabled

Flag indicating if the Geo node is enabled

boolean
nullable
name

The unique identifier for the Geo node. Must match geo_node_name if it is set in gitlab.rb, otherwise it must match external_url

string
nullable
url

The user-facing URL of the Geo node

string
nullable
internal_url

The URL defined on the primary node that secondary nodes should use to contact it. Returns url if not set.

string
nullable
files_max_capacity

Control the maximum concurrency of LFS/attachment backfill for this secondary node

integer
nullable
repos_max_capacity

Control the maximum concurrency of repository backfill for this secondary node

integer
nullable
verification_max_capacity

Control the maximum concurrency of repository verification for this node

integer
nullable
container_repositories_max_capacity

Control the maximum concurrency of container repository sync for this node

integer
nullable
sync_object_storage

Flag indicating if the secondary Geo node will replicate blobs in Object Storage

boolean
nullable
selective_sync_type

Limit syncing to only specific groups, or shards. Valid values: "namespaces", "shards", or null

string
nullable
selective_sync_shards

The repository storages whose projects should be synced, if selective_sync_type == shards

Array<string>
nullable
selective_sync_namespace_ids

The IDs of groups that should be synced, if selective_sync_type == namespaces

Array<integer>
nullable
selective_sync_organization_ids

The IDs of organizations that should be synced, if selective_sync_type == organizations

Array<integer>
nullable
minimum_reverification_interval

The interval (in days) in which the repository verification is valid. Once expired, it will be reverified. This has no effect when set on a secondary node.

integer
nullable
Example generated
{
"enabled": true,
"name": "example",
"url": "example",
"internal_url": "example",
"files_max_capacity": 1,
"repos_max_capacity": 1,
"verification_max_capacity": 1,
"container_repositories_max_capacity": 1,
"sync_object_storage": true,
"selective_sync_type": "example",
"selective_sync_shards": [
"example"
],
"selective_sync_namespace_ids": [
1
],
"selective_sync_organization_ids": [
1
],
"minimum_reverification_interval": 1
}

OK

Media type application/json
object
id
integer format: int64
name
string
url
string
internal_url
string
primary
boolean
enabled
boolean
current
boolean
files_max_capacity
integer
repos_max_capacity
integer
verification_max_capacity
integer
container_repositories_max_capacity
integer
selective_sync_type
string
selective_sync_shards
array
selective_sync_namespace_ids
array
selective_sync_organization_ids
array
minimum_reverification_interval
integer
sync_object_storage
boolean
clone_protocol
string
web_edit_url
string
web_geo_replication_details_url
string
_links
object
Example generated
{
"id": 1,
"name": "example",
"url": "example",
"internal_url": "example",
"primary": true,
"enabled": true,
"current": true,
"files_max_capacity": 1,
"repos_max_capacity": 1,
"verification_max_capacity": 1,
"container_repositories_max_capacity": 1,
"selective_sync_type": "example",
"selective_sync_shards": [
"example"
],
"selective_sync_namespace_ids": [
"example"
],
"selective_sync_organization_ids": [
"example"
],
"minimum_reverification_interval": 1,
"sync_object_storage": true,
"clone_protocol": "example",
"web_edit_url": "example",
"web_geo_replication_details_url": "example",
"_links": {}
}

400 Bad request

401 Unauthorized

403 Forbidden

404 GeoNode Not Found