summaryrefslogtreecommitdiff
path: root/doc/api
diff options
context:
space:
mode:
Diffstat (limited to 'doc/api')
-rw-r--r--doc/api/graphql/reference/gitlab_schema.graphql142
-rw-r--r--doc/api/graphql/reference/gitlab_schema.json409
-rw-r--r--doc/api/graphql/reference/index.md19
-rw-r--r--doc/api/settings.md1
4 files changed, 571 insertions, 0 deletions
diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql
index 7e863490369..0eebc74cc6c 100644
--- a/doc/api/graphql/reference/gitlab_schema.graphql
+++ b/doc/api/graphql/reference/gitlab_schema.graphql
@@ -2984,6 +2984,103 @@ type EpicTreeReorderPayload {
errors: [String!]!
}
+type GeoNode {
+ """
+ The maximum concurrency of container repository sync for this secondary node
+ """
+ containerRepositoriesMaxCapacity: Int
+
+ """
+ Indicates whether this Geo node is enabled
+ """
+ enabled: Boolean
+
+ """
+ The maximum concurrency of LFS/attachment backfill for this secondary node
+ """
+ filesMaxCapacity: Int
+
+ """
+ ID of this GeoNode
+ """
+ id: ID!
+
+ """
+ The URL defined on the primary node that secondary nodes should use to contact it
+ """
+ internalUrl: String
+
+ """
+ The interval (in days) in which the repository verification is valid. Once expired, it will be reverified
+ """
+ minimumReverificationInterval: Int
+
+ """
+ The unique identifier for this Geo node
+ """
+ name: String
+
+ """
+ Indicates whether this Geo node is the primary
+ """
+ primary: Boolean
+
+ """
+ The maximum concurrency of repository backfill for this secondary node
+ """
+ reposMaxCapacity: Int
+
+ """
+ The namespaces that should be synced, if `selective_sync_type` == `namespaces`
+ """
+ selectiveSyncNamespaces(
+ """
+ Returns the elements in the list that come after the specified cursor.
+ """
+ after: String
+
+ """
+ Returns the elements in the list that come before the specified cursor.
+ """
+ before: String
+
+ """
+ Returns the first _n_ elements from the list.
+ """
+ first: Int
+
+ """
+ Returns the last _n_ elements from the list.
+ """
+ last: Int
+ ): NamespaceConnection
+
+ """
+ The repository storages whose projects should be synced, if `selective_sync_type` == `shards`
+ """
+ selectiveSyncShards: [String!]
+
+ """
+ Indicates if syncing is limited to only specific groups, or shards
+ """
+ selectiveSyncType: String
+
+ """
+ Indicates if this secondary node will replicate blobs in Object Storage
+ """
+ syncObjectStorage: Boolean
+
+ """
+ The user-facing URL for this Geo node
+ """
+ url: String
+
+ """
+ The maximum concurrency of repository verification for this secondary node
+ """
+ verificationMaxCapacity: Int
+}
+
type GrafanaIntegration {
"""
Timestamp of the issue's creation
@@ -5435,6 +5532,41 @@ type Namespace {
visibility: String
}
+"""
+The connection type for Namespace.
+"""
+type NamespaceConnection {
+ """
+ A list of edges.
+ """
+ edges: [NamespaceEdge]
+
+ """
+ A list of nodes.
+ """
+ nodes: [Namespace]
+
+ """
+ Information to aid in pagination.
+ """
+ pageInfo: PageInfo!
+}
+
+"""
+An edge in a connection.
+"""
+type NamespaceEdge {
+ """
+ A cursor for use in pagination.
+ """
+ cursor: String!
+
+ """
+ The item at the end of the edge.
+ """
+ node: Namespace
+}
+
type Note {
"""
User who wrote this note
@@ -6917,6 +7049,16 @@ type Query {
): String!
"""
+ Find a Geo node
+ """
+ geoNode(
+ """
+ The name of the Geo node. Defaults to the current Geo node name.
+ """
+ name: String
+ ): GeoNode
+
+ """
Find a group
"""
group(
diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json
index 813ab39795a..9abc312da33 100644
--- a/doc/api/graphql/reference/gitlab_schema.json
+++ b/doc/api/graphql/reference/gitlab_schema.json
@@ -8655,6 +8655,280 @@
},
{
"kind": "OBJECT",
+ "name": "GeoNode",
+ "description": null,
+ "fields": [
+ {
+ "name": "containerRepositoriesMaxCapacity",
+ "description": "The maximum concurrency of container repository sync for this secondary node",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "enabled",
+ "description": "Indicates whether this Geo node is enabled",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "filesMaxCapacity",
+ "description": "The maximum concurrency of LFS/attachment backfill for this secondary node",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "ID of this GeoNode",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "internalUrl",
+ "description": "The URL defined on the primary node that secondary nodes should use to contact it",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "minimumReverificationInterval",
+ "description": "The interval (in days) in which the repository verification is valid. Once expired, it will be reverified",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "The unique identifier for this Geo node",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "primary",
+ "description": "Indicates whether this Geo node is the primary",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "reposMaxCapacity",
+ "description": "The maximum concurrency of repository backfill for this secondary node",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "selectiveSyncNamespaces",
+ "description": "The namespaces that should be synced, if `selective_sync_type` == `namespaces`",
+ "args": [
+ {
+ "name": "after",
+ "description": "Returns the elements in the list that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements in the list that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "first",
+ "description": "Returns the first _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns the last _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "NamespaceConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "selectiveSyncShards",
+ "description": "The repository storages whose projects should be synced, if `selective_sync_type` == `shards`",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "selectiveSyncType",
+ "description": "Indicates if syncing is limited to only specific groups, or shards",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "syncObjectStorage",
+ "description": "Indicates if this secondary node will replicate blobs in Object Storage",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "The user-facing URL for this Geo node",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "verificationMaxCapacity",
+ "description": "The maximum concurrency of repository verification for this secondary node",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
"name": "GrafanaIntegration",
"description": null,
"fields": [
@@ -16464,6 +16738,118 @@
},
{
"kind": "OBJECT",
+ "name": "NamespaceConnection",
+ "description": "The connection type for Namespace.",
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "NamespaceEdge",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "nodes",
+ "description": "A list of nodes.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Namespace",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "NamespaceEdge",
+ "description": "An edge in a connection.",
+ "fields": [
+ {
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "node",
+ "description": "The item at the end of the edge.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Namespace",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
"name": "Note",
"description": null,
"fields": [
@@ -20779,6 +21165,29 @@
"deprecationReason": null
},
{
+ "name": "geoNode",
+ "description": "Find a Geo node",
+ "args": [
+ {
+ "name": "name",
+ "description": "The name of the Geo node. Defaults to the current Geo node name.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "GeoNode",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "group",
"description": "Find a group",
"args": [
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index dbe98639d23..6948f361a14 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -483,6 +483,25 @@ Autogenerated return type of EpicTreeReorder
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
+## GeoNode
+
+| Name | Type | Description |
+| --- | ---- | ---------- |
+| `containerRepositoriesMaxCapacity` | Int | The maximum concurrency of container repository sync for this secondary node |
+| `enabled` | Boolean | Indicates whether this Geo node is enabled |
+| `filesMaxCapacity` | Int | The maximum concurrency of LFS/attachment backfill for this secondary node |
+| `id` | ID! | ID of this GeoNode |
+| `internalUrl` | String | The URL defined on the primary node that secondary nodes should use to contact it |
+| `minimumReverificationInterval` | Int | The interval (in days) in which the repository verification is valid. Once expired, it will be reverified |
+| `name` | String | The unique identifier for this Geo node |
+| `primary` | Boolean | Indicates whether this Geo node is the primary |
+| `reposMaxCapacity` | Int | The maximum concurrency of repository backfill for this secondary node |
+| `selectiveSyncShards` | String! => Array | The repository storages whose projects should be synced, if `selective_sync_type` == `shards` |
+| `selectiveSyncType` | String | Indicates if syncing is limited to only specific groups, or shards |
+| `syncObjectStorage` | Boolean | Indicates if this secondary node will replicate blobs in Object Storage |
+| `url` | String | The user-facing URL for this Geo node |
+| `verificationMaxCapacity` | Int | The maximum concurrency of repository verification for this secondary node |
+
## GrafanaIntegration
| Name | Type | Description |
diff --git a/doc/api/settings.md b/doc/api/settings.md
index 2c75c175fdd..5fe068cf085 100644
--- a/doc/api/settings.md
+++ b/doc/api/settings.md
@@ -45,6 +45,7 @@ Example response:
"default_group_visibility" : "private",
"gravatar_enabled" : true,
"sign_in_text" : null,
+ "container_expiration_policies_enable_historic_entries": true,
"container_registry_token_expire_delay": 5,
"repository_storages": ["default"],
"plantuml_enabled": false,