Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-12-06 18:10:41 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-12-06 18:10:41 +0300
commit26e466d81eef11d3dcaecd1328e9e66c4633f5b9 (patch)
treed2403f8424d541907c1f548eddaadcd8434afc14 /doc
parente9aabbc4b5c80a569ce7e5909bd9d8def11b7a1b (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r--doc/administration/geo/index.md8
-rw-r--r--doc/architecture/blueprints/cells/routing-service.md102
-rw-r--r--doc/integration/auth0.md2
-rw-r--r--doc/update/versions/gitlab_16_changes.md2
-rw-r--r--doc/user/custom_roles.md3
-rw-r--r--doc/user/project/repository/code_suggestions/saas.md4
6 files changed, 112 insertions, 9 deletions
diff --git a/doc/administration/geo/index.md b/doc/administration/geo/index.md
index 65c54d85704..27c7c73c553 100644
--- a/doc/administration/geo/index.md
+++ b/doc/administration/geo/index.md
@@ -115,15 +115,15 @@ The following are required to run Geo:
The following operating systems are known to ship with a current version of OpenSSH:
- [CentOS](https://www.centos.org) 7.4 or later
- [Ubuntu](https://ubuntu.com) 16.04 or later
-- PostgreSQL 12 or 13 with [Streaming Replication](https://wiki.postgresql.org/wiki/Streaming_Replication)
+- [Supported PostgreSQL versions](https://about.gitlab.com/handbook/engineering/development/enablement/data_stores/database/postgresql-upgrade-cadence.html) for your GitLab releases with [Streaming Replication](https://wiki.postgresql.org/wiki/Streaming_Replication).
- Note,[PostgreSQL 12 is deprecated](../../update/deprecations.md#postgresql-12-deprecated) and is removed in GitLab 16.0.
-- Git 2.9 or later
-- Git-lfs 2.4.2 or later on the user side when using LFS
-- All sites must run the same GitLab version.
- All sites must run [the same PostgreSQL versions](setup/database.md#postgresql-replication).
- If using different operating system versions between Geo sites,
[check OS locale data compatibility](replication/troubleshooting.md#check-os-locale-data-compatibility)
across Geo sites to avoid silent corruption of database indexes.
+- Git 2.9 or later
+- Git-lfs 2.4.2 or later on the user side when using LFS
+- All sites must run the same GitLab version.
- All sites must define the same [repository storages](../repository_storage_paths.md).
Additionally, check the GitLab [minimum requirements](../../install/requirements.md),
diff --git a/doc/architecture/blueprints/cells/routing-service.md b/doc/architecture/blueprints/cells/routing-service.md
index ca1f1d3c52a..9efdbdf3f91 100644
--- a/doc/architecture/blueprints/cells/routing-service.md
+++ b/doc/architecture/blueprints/cells/routing-service.md
@@ -65,7 +65,7 @@ For example:
| Security | only authorized cells can be routed to | high |
| Single domain | e.g. GitLab.com | high |
| Caching | can cache routing information for performance | high |
-| Low latency | small overhead for user requests | high |
+| [50 ms of increased latency](#low-latency) | | high |
| Path-based | can make routing decision based on path | high |
| Complexity | the routing service should be configuration-driven and small | high |
| Stateless | does not need database, Cells provide all routing information | medium |
@@ -74,6 +74,106 @@ For example:
| Self-managed | can be eventually used by [self-managed](goals.md#self-managed) | low |
| Regional | can route requests to different [regions](goals.md#regions) | low |
+### Low Latency
+
+The target latency for routing service **should be less than 50 _ms_**.
+
+Looking at the `urgency: high` request we don't have a lot of headroom on the p50.
+Adding an extra 50 _ms_ allows us to still be in or SLO on the p95 level.
+
+There is 3 primary entry points for the application; [`web`](https://gitlab.com/gitlab-com/runbooks/-/blob/5d8248314b343bef15a4c021ac33978525f809e3/services/service-catalog.yml#L492-537), [`api`](https://gitlab.com/gitlab-com/runbooks/-/blob/5d8248314b343bef15a4c021ac33978525f809e3/services/service-catalog.yml#L18-62), and [`git`](https://gitlab.com/gitlab-com/runbooks/-/blob/5d8248314b343bef15a4c021ac33978525f809e3/services/service-catalog.yml#L589-638).
+Each service is assigned a Service Level Indicator (SLI) based on latency using the [apdex](https://www.apdex.org/wp-content/uploads/2020/09/ApdexTechnicalSpecificationV11_000.pdf) standard.
+The corresponding Service Level Objectives (SLOs) for these SLIs require low latencies for large amount of requests.
+It's crucial to ensure that the addition of the routing layer in front of these services does not impact the SLIs.
+The routing layer is a proxy for these services, and we lack a comprehensive SLI monitoring system for the entire request flow (including components like the Edge network and Load Balancers) we use the SLIs for `web`, `git`, and `api` as a target.
+
+The main SLI we use is the [rails requests](../../../development/application_slis/rails_request.md).
+It has multiple `satisfied` targets (apdex) depending on the [request urgency](../../../development/application_slis/rails_request.md#how-to-adjust-the-urgency):
+
+| Urgency | Duration in ms |
+|------------|----------------|
+| `:high` | 250 _ms_ |
+| `:medium` | 500 _ms_ |
+| `:default` | 1000 _ms_ |
+| `:low` | 5000 _ms_ |
+
+#### Analysis
+
+The way we calculate the headroom we have is by using the following:
+
+```math
+\mathrm{Headroom}\ {ms} = \mathrm{Satisfied}\ {ms} - \mathrm{Duration}\ {ms}
+```
+
+**`web`**:
+
+| Target Duration | Percentile | Headroom |
+|-----------------|------------|-----------|
+| 5000 _ms_ | p99 | 4000 _ms_ |
+| 5000 _ms_ | p95 | 4500 _ms_ |
+| 5000 _ms_ | p90 | 4600 _ms_ |
+| 5000 _ms_ | p50 | 4900 _ms_ |
+| 1000 _ms_ | p99 | 500 _ms_ |
+| 1000 _ms_ | p95 | 740 _ms_ |
+| 1000 _ms_ | p90 | 840 _ms_ |
+| 1000 _ms_ | p50 | 900 _ms_ |
+| 500 _ms_ | p99 | 0 _ms_ |
+| 500 _ms_ | p95 | 60 _ms_ |
+| 500 _ms_ | p90 | 100 _ms_ |
+| 500 _ms_ | p50 | 400 _ms_ |
+| 250 _ms_ | p99 | 140 _ms_ |
+| 250 _ms_ | p95 | 170 _ms_ |
+| 250 _ms_ | p90 | 180 _ms_ |
+| 250 _ms_ | p50 | 200 _ms_ |
+
+_Analysis was done in <https://gitlab.com/gitlab-org/gitlab/-/issues/432934#note_1667993089>_
+
+**`api`**:
+
+| Target Duration | Percentile | Headroom |
+|-----------------|------------|-----------|
+| 5000 _ms_ | p99 | 3500 _ms_ |
+| 5000 _ms_ | p95 | 4300 _ms_ |
+| 5000 _ms_ | p90 | 4600 _ms_ |
+| 5000 _ms_ | p50 | 4900 _ms_ |
+| 1000 _ms_ | p99 | 440 _ms_ |
+| 1000 _ms_ | p95 | 750 _ms_ |
+| 1000 _ms_ | p90 | 830 _ms_ |
+| 1000 _ms_ | p50 | 950 _ms_ |
+| 500 _ms_ | p99 | 450 _ms_ |
+| 500 _ms_ | p95 | 480 _ms_ |
+| 500 _ms_ | p90 | 490 _ms_ |
+| 500 _ms_ | p50 | 490 _ms_ |
+| 250 _ms_ | p99 | 90 _ms_ |
+| 250 _ms_ | p95 | 170 _ms_ |
+| 250 _ms_ | p90 | 210 _ms_ |
+| 250 _ms_ | p50 | 230 _ms_ |
+
+_Analysis was done in <https://gitlab.com/gitlab-org/gitlab/-/issues/432934#note_1669995479>_
+
+**`git`**:
+
+| Target Duration | Percentile | Headroom |
+|-----------------|------------|-----------|
+| 5000 _ms_ | p99 | 3760 _ms_ |
+| 5000 _ms_ | p95 | 4280 _ms_ |
+| 5000 _ms_ | p90 | 4430 _ms_ |
+| 5000 _ms_ | p50 | 4900 _ms_ |
+| 1000 _ms_ | p99 | 500 _ms_ |
+| 1000 _ms_ | p95 | 750 _ms_ |
+| 1000 _ms_ | p90 | 800 _ms_ |
+| 1000 _ms_ | p50 | 900 _ms_ |
+| 500 _ms_ | p99 | 280 _ms_ |
+| 500 _ms_ | p95 | 370 _ms_ |
+| 500 _ms_ | p90 | 400 _ms_ |
+| 500 _ms_ | p50 | 430 _ms_ |
+| 250 _ms_ | p99 | 200 _ms_ |
+| 250 _ms_ | p95 | 230 _ms_ |
+| 250 _ms_ | p90 | 240 _ms_ |
+| 250 _ms_ | p50 | 240 _ms_ |
+
+_Analysis was done in <https://gitlab.com/gitlab-org/gitlab/-/issues/432934#note_1671385680>_
+
## Non-Goals
Not yet defined.
diff --git a/doc/integration/auth0.md b/doc/integration/auth0.md
index 4e90ade6620..bda40c0655e 100644
--- a/doc/integration/auth0.md
+++ b/doc/integration/auth0.md
@@ -80,7 +80,7 @@ application.
1. Replace `<your_auth0_client_id>` with the client ID from the Auth0 Console page.
1. Replace `<your_auth0_client_secret>` with the client secret from the Auth0 Console page.
-1. Replace `<your_auth0_client_secret>` with the domain from the Auth0 Console page.
+1. Replace `<your_auth0_domain>` with the domain from the Auth0 Console page.
1. Reconfigure or restart GitLab, depending on your installation method:
- If you installed using the Linux package,
[reconfigure GitLab](../administration/restart_gitlab.md#reconfigure-a-linux-package-installation).
diff --git a/doc/update/versions/gitlab_16_changes.md b/doc/update/versions/gitlab_16_changes.md
index 354a1596a8c..14d028818f3 100644
--- a/doc/update/versions/gitlab_16_changes.md
+++ b/doc/update/versions/gitlab_16_changes.md
@@ -16,7 +16,7 @@ For more information about upgrading GitLab Helm Chart, see [the release notes f
## Issues to be aware of when upgrading from 15.11
-- [PostgreSQL 12 is not supported from v16](../../update/deprecations.md#postgresql-12-deprecated). Upgrade your PostgreSQL to at least 13.6 before upgrading to GitLab v16.0 or higher.
+- [PostgreSQL 12 is not supported starting from GitLab 16](../../update/deprecations.md#postgresql-12-deprecated). Upgrade PostgreSQL to at least version 13.6 before upgrading to GitLab 16.0 or later.
- Some GitLab installations must upgrade to GitLab 16.0 before upgrading to any other version. For more information, see
[Long-running user type data change](#long-running-user-type-data-change).
- Other installations can skip 16.0, 16.1, and 16.2 as the first required stop on the upgrade path is 16.3. Review the notes for those intermediate
diff --git a/doc/user/custom_roles.md b/doc/user/custom_roles.md
index 7d7a1b3f8bd..69ba3a3d900 100644
--- a/doc/user/custom_roles.md
+++ b/doc/user/custom_roles.md
@@ -153,6 +153,9 @@ To add a user to your group with a custom role:
The new member with custom role and custom permissions appears on the [group's members list](group/index.md#view-group-members).
+NOTE:
+Most custom roles are considered [billable users that use a seat](#billing-and-seat-usage). When you add a user to your group with a custom role, a warning is displayed if you are about to incur additional charges for having more seats than are included in your subscription.
+
### Change a member's custom role
To change a group member's custom role:
diff --git a/doc/user/project/repository/code_suggestions/saas.md b/doc/user/project/repository/code_suggestions/saas.md
index 61036009f10..77a364f14ff 100644
--- a/doc/user/project/repository/code_suggestions/saas.md
+++ b/doc/user/project/repository/code_suggestions/saas.md
@@ -21,9 +21,9 @@ Learn about [data usage when using Code Suggestions](index.md#code-suggestions-d
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121079) in GitLab 16.1 as [Beta](../../../../policy/experiment-beta-support.md#beta).
-You must enable Code Suggestions for both your user account and your group:
+You must enable Code Suggestions for both your user account and your top-level group:
-- [Enable Code Suggestions for all group members](../../../group/manage.md#enable-code-suggestions). (You must be a group owner).
+- [Enable Code Suggestions for your top-level group](../../../group/manage.md#enable-code-suggestions) (you must be a group owner).
- [Enable Code Suggestions for your own account](../../../profile/preferences.md#enable-code-suggestions).
NOTE: