Skip to content

Create a Geo node

POST
/api/v4/geo_nodes

Creates a Geo node.

Media type application/json
object
primary

Specifying whether this node will be primary. Defaults to false.

boolean
nullable
enabled

Specifying whether this node will be enabled. Defaults to true.

boolean
nullable
name
required

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
required

The user-facing URL for 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. Defaults to 10.

integer
nullable
repos_max_capacity

Control the maximum concurrency of repository backfill for this secondary node. Defaults to 25.

integer
nullable
verification_max_capacity

Control the maximum concurrency of repository verification for this node. Defaults to 100.

integer
nullable
container_repositories_max_capacity

Control the maximum concurrency of container repository sync for this node. Defaults to 10.

integer
nullable
sync_object_storage

Flag indicating if the secondary Geo node will replicate blobs in Object Storage. Defaults to false.

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
{
"primary": true,
"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": {}
}

Validation error

401 Unauthorized

403 Forbidden