diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-23 18:08:53 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-23 18:08:53 +0000 |
commit | d933bc5a8738d24898c5a82cc72ee9bd050425e6 (patch) | |
tree | 6d4c5ffedc32dc82c3fd6e4e3031f7981505655a /doc | |
parent | 3f9e1b261121f4dbd045341241f81b47356c99cf (diff) | |
download | gitlab-ce-d933bc5a8738d24898c5a82cc72ee9bd050425e6.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r-- | doc/administration/gitaly/praefect.md | 11 | ||||
-rw-r--r-- | doc/api/geo_nodes.md | 20 | ||||
-rw-r--r-- | doc/api/groups.md | 112 |
3 files changed, 142 insertions, 1 deletions
diff --git a/doc/administration/gitaly/praefect.md b/doc/administration/gitaly/praefect.md index 72c3f996841..7ccf15434c4 100644 --- a/doc/administration/gitaly/praefect.md +++ b/doc/administration/gitaly/praefect.md @@ -260,6 +260,14 @@ git_data_dirs({ For more information on Gitaly server configuration, see our [Gitaly documentation](index.md#3-gitaly-server-configuration). +When all Gitaly servers are configured, you can run the Praefect connection +checker to verify Praefect can connect to all Gitaly servers in the Praefect +config: + +```shell +sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml dial-nodes +``` + #### GitLab When Praefect is running, it should be exposed as a storage to GitLab. This @@ -311,4 +319,5 @@ Here are common errors and potential causes: - **GRPC::Unavailable (14:failed to connect to all addresses)** - GitLab was unable to reach Praefect. - **GRPC::Unavailable (14:all SubCons are in TransientFailure...)** - - Praefect cannot reach one or more of its child Gitaly nodes. + - Praefect cannot reach one or more of its child Gitaly nodes. Try running + the Praefect connection checker to diagnose. diff --git a/doc/api/geo_nodes.md b/doc/api/geo_nodes.md index f54694ed15b..47fa67dd3f9 100644 --- a/doc/api/geo_nodes.md +++ b/doc/api/geo_nodes.md @@ -84,6 +84,10 @@ Example response: "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/nodes/1/edit", "_links": { @@ -104,6 +108,10 @@ Example response: "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/nodes/2/edit", @@ -142,6 +150,10 @@ Example response: "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/nodes/1/edit", "_links": { @@ -174,6 +186,10 @@ PUT /geo_nodes/:id | `verification_max_capacity` | integer | no | Control the maximum concurrency of verification for this node. | | `container_repositories_max_capacity` | integer | no | Control the maximum concurrency of container repository sync for this node. | | `sync_object_storage` | boolean | no | Flag indicating if the secondary Geo node will replicate blobs in Object Storage. | +| `selective_sync_type` | string | no | Limit syncing to only specific groups or shards. Valid values: `"namespaces"`, `"shards"`, or `null`. | +| `selective_sync_shards` | array | no | The repository storage for the projects synced if `selective_sync_type` == `shards`. | +| `selective_sync_namespace_ids` | array | no | The IDs of groups that should be synced, if `selective_sync_type` == `namespaces`. | +| `minimum_reverification_interval` | integer | no | 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. | Example response: @@ -190,6 +206,10 @@ Example response: "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/nodes/2/edit", diff --git a/doc/api/groups.md b/doc/api/groups.md index f4dfefe3cb7..de8490fa1f4 100644 --- a/doc/api/groups.md +++ b/doc/api/groups.md @@ -660,6 +660,118 @@ GET /groups?search=foobar ] ``` +## Hooks + +Also called Group Hooks and Webhooks. +These are different from [System Hooks](system_hooks.md) that are system wide and [Project Hooks](projects.md#hooks) that are limited to one project. + +### List group hooks + +Get a list of group hooks + +``` +GET /groups/:id/hooks +``` + +| Attribute | Type | Required | Description | +| --------- | --------------- | -------- | ----------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | + +### Get group hook + +Get a specific hook for a group. + +| Attribute | Type | Required | Description | +| --------- | -------------- | -------- | ----------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | +| `hook_id` | integer | yes | The ID of a group hook | + +``` +GET /groups/:id/hooks/:hook_id +``` + +```json +{ + "id": 1, + "url": "http://example.com/hook", + "group_id": 3, + "push_events": true, + "issues_events": true, + "confidential_issues_events": true, + "merge_requests_events": true, + "tag_push_events": true, + "note_events": true, + "job_events": true, + "pipeline_events": true, + "wiki_page_events": true, + "enable_ssl_verification": true, + "created_at": "2012-10-12T17:04:47Z" +} +``` + +### Add group hook + +Adds a hook to a specified group. + +``` +POST /groups/:id/hooks +``` + +| Attribute | Type | Required | Description | +| -----------------------------| -------------- | ---------| ----------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | +| `url` | string | yes | The hook URL | +| `push_events` | boolean | no | Trigger hook on push events | +| `issues_events` | boolean | no | Trigger hook on issues events | +| `confidential_issues_events` | boolean | no | Trigger hook on confidential issues events | +| `merge_requests_events` | boolean | no | Trigger hook on merge requests events | +| `tag_push_events` | boolean | no | Trigger hook on tag push events | +| `note_events` | boolean | no | Trigger hook on note events | +| `job_events` | boolean | no | Trigger hook on job events | +| `pipeline_events` | boolean | no | Trigger hook on pipeline events | +| `wiki_page_events` | boolean | no | Trigger hook on wiki events | +| `enable_ssl_verification` | boolean | no | Do SSL verification when triggering the hook | +| `token` | string | no | Secret token to validate received payloads; this will not be returned in the response | + +### Edit group hook + +Edits a hook for a specified group. + +``` +PUT /groups/:id/hooks/:hook_id +``` + +| Attribute | Type | Required | Description | +| ---------------------------- | -------------- | -------- | ----------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | +| `hook_id` | integer | yes | The ID of the group hook | +| `url` | string | yes | The hook URL | +| `push_events` | boolean | no | Trigger hook on push events | +| `issues_events` | boolean | no | Trigger hook on issues events | +| `confidential_issues_events` | boolean | no | Trigger hook on confidential issues events | +| `merge_requests_events` | boolean | no | Trigger hook on merge requests events | +| `tag_push_events` | boolean | no | Trigger hook on tag push events | +| `note_events` | boolean | no | Trigger hook on note events | +| `job_events` | boolean | no | Trigger hook on job events | +| `pipeline_events` | boolean | no | Trigger hook on pipeline events | +| `wiki_events` | boolean | no | Trigger hook on wiki events | +| `enable_ssl_verification` | boolean | no | Do SSL verification when triggering the hook | +| `token` | string | no | Secret token to validate received payloads; this will not be returned in the response | + +### Delete group hook + +Removes a hook from a group. This is an idempotent method and can be called multiple times. +Either the hook is available or not. + +``` +DELETE /groups/:id/hooks/:hook_id +``` + +| Attribute | Type | Required | Description | +| --------- | -------------- | -------- | ----------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | +| `hook_id` | integer | yes | The ID of the group hook. | + ## Group Audit Events **(STARTER)** Group audit events can be accessed via the [Group Audit Events API](audit_events.md#group-audit-events-starter) |