diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-16 21:11:26 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-16 21:11:26 +0300 |
commit | 8fa0c53e26c947ac647b8067fde3e9673b77b1a6 (patch) | |
tree | da32e7224125973e9e87d3856fb7e672ff41c8b1 /doc | |
parent | 0552020767452da44de2bf5424096f2cb2ea6bf5 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r-- | doc/administration/reference_architectures/3k_users.md | 1 | ||||
-rw-r--r-- | doc/development/migration_style_guide.md | 25 | ||||
-rw-r--r-- | doc/development/shell_commands.md | 2 | ||||
-rw-r--r-- | doc/development/testing_guide/best_practices.md | 12 | ||||
-rw-r--r-- | doc/update/index.md | 17 | ||||
-rw-r--r-- | doc/user/analytics/dora_metrics.md | 7 | ||||
-rw-r--r-- | doc/user/application_security/policies/scan-result-policies.md | 3 | ||||
-rw-r--r-- | doc/user/markdown.md | 16 | ||||
-rw-r--r-- | doc/user/project/merge_requests/img/conflict_ui_v15_6.png | bin | 13672 -> 14089 bytes |
9 files changed, 61 insertions, 22 deletions
diff --git a/doc/administration/reference_architectures/3k_users.md b/doc/administration/reference_architectures/3k_users.md index 74074f0803b..4fc6af3f72e 100644 --- a/doc/administration/reference_architectures/3k_users.md +++ b/doc/administration/reference_architectures/3k_users.md @@ -2269,7 +2269,6 @@ but with smaller performance requirements, several modifications can be consider - PostgreSQL and PgBouncer: PgBouncer nodes could be removed and instead be enabled on PostgreSQL nodes with the Internal Load Balancer pointing to them. However, to enable [Database Load Balancing](../postgresql/database_load_balancing.md), a separate PgBouncer array is still required. - Reducing the node counts: Some node types do not need consensus and can run with fewer nodes (but more than one for redundancy). This will also lead to reduced performance. - GitLab Rails and Sidekiq: Stateless services don't have a minimum node count. Two are enough for redundancy. - - Gitaly and Praefect: A quorum is not strictly necessary. Two Gitaly nodes and two Praefect nodes are enough for redundancy. - PostgreSQL and PgBouncer: A quorum is not strictly necessary. Two PostgreSQL nodes and two PgBouncer nodes are enough for redundancy. - Running select components in reputable Cloud PaaS solutions: Select components of the GitLab setup can instead be run on Cloud Provider PaaS solutions. By doing this, additional dependent components can also be removed: - PostgreSQL: Can be run on reputable Cloud PaaS solutions such as Google Cloud SQL or Amazon RDS. In this setup, the PgBouncer and Consul nodes are no longer required: diff --git a/doc/development/migration_style_guide.md b/doc/development/migration_style_guide.md index 529b0802991..5764c876e4d 100644 --- a/doc/development/migration_style_guide.md +++ b/doc/development/migration_style_guide.md @@ -906,9 +906,14 @@ end Table **has records** but **no foreign keys**: -- First release: Remove the application code related to the table, such as models, -controllers and services. -- Second release: Use the `drop_table` method in your migration. +- Remove the application code related to the table, such as models, + controllers and services. +- In a post-deployment migration, use `drop_table`. + +This can all be in a single migration if you're sure the code is not used. +If you want to reduce risk slightly, consider putting the migrations into a +second merge request after the application changes are merged. This approach +provides an opportunity to roll back. ```ruby def up @@ -922,12 +927,16 @@ end Table **has foreign keys**: -- First release: Remove the application code related to the table, such as models, -controllers, and services. -- Second release: Remove the foreign keys using the `with_lock_retries` -helper method. Use `drop_table` in another migration file. +- Remove the application code related to the table, such as models, + controllers, and services. +- In a post-deployment migration, remove the foreign keys using the + `with_lock_retries` helper method. In another subsequent post-deployment + migration, use `drop_table`. -**Migrations for the second release:** +This can all be in a single migration if you're sure the code is not used. +If you want to reduce risk slightly, consider putting the migrations into a +second merge request after the application changes are merged. This approach +provides an opportunity to roll back. Removing the foreign key on the `projects` table: diff --git a/doc/development/shell_commands.md b/doc/development/shell_commands.md index 3935e98199a..d78a005d76b 100644 --- a/doc/development/shell_commands.md +++ b/doc/development/shell_commands.md @@ -71,6 +71,8 @@ FileUtils.touch myfile This coding style could have prevented CVE-2013-4546. +See also <https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93030>, and <https://starlabs.sg/blog/2022/07-gitlab-project-import-rce-analysis-cve-2022-2185/> for another example. + ## Separate options from arguments with -- Make the difference between options and arguments clear to the argument parsers of system commands with `--`. This is supported by many but not all Unix commands. diff --git a/doc/development/testing_guide/best_practices.md b/doc/development/testing_guide/best_practices.md index aa7344f8506..b6bf3c7805a 100644 --- a/doc/development/testing_guide/best_practices.md +++ b/doc/development/testing_guide/best_practices.md @@ -933,9 +933,7 @@ In most specs, the Rails cache is actually an in-memory store. This is replaced between specs, so calls to `Rails.cache.read` and `Rails.cache.write` are safe. However, if a spec makes direct Redis calls, it should mark itself with the `:clean_gitlab_redis_cache`, `:clean_gitlab_redis_shared_state` or -`:clean_gitlab_redis_queues` traits as appropriate. To avoid triggering rate -limiting in specs, mark the spec with the `:clean_gitlab_redis_rate_limiting` -trait. +`:clean_gitlab_redis_queues` traits as appropriate. #### Background jobs / Sidekiq @@ -969,6 +967,14 @@ it "really connects to Prometheus", :permit_dns do And if you need more specific control, the DNS blocking is implemented in `spec/support/helpers/dns_helpers.rb` and these methods can be called elsewhere. +#### Rate Limiting + +[Rate limiting](../../security/rate_limits.md) is enabled in the test suite. Rate limits +may be triggered in feature specs that use the `:js` trait. In most cases, triggering rate +limiting can be avoided by marking the spec with the `:clean_gitlab_redis_rate_limiting` +trait. This trait clears the rate limiting data stored in Redis cache between specs. If +a single test triggers the rate limit, the `:disable_rate_limit` can be used instead. + #### Stubbing File methods In the situations where you need to diff --git a/doc/update/index.md b/doc/update/index.md index a49ad5bc4ce..dbac4304897 100644 --- a/doc/update/index.md +++ b/doc/update/index.md @@ -475,11 +475,28 @@ and [Helm Chart deployments](https://docs.gitlab.com/charts/). They come with ap - Git 2.37.0 and later is required by Gitaly. For installations from source, we recommend you use the [Git version provided by Gitaly](../install/installation.md#git). +### 15.5.0 + +- GitLab 15.4.0 introduced a default [Sidekiq routing rule](../administration/sidekiq/extra_sidekiq_routing.md) that routes all jobs to the `default` queue. For instances using [queue selectors](../administration/sidekiq/extra_sidekiq_processes.md#queue-selector), this will cause [performance problems](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/1991) as some Sidekiq processes will be idle. + - The default routing rule has been reverted in 15.5.4, so upgrading to that version or later will return to the previous behavior. + - If a GitLab instance now listens only to the `default` queue (which is not currently recommended), it will be required to add this routing rule back in `/etc/gitlab/gitlab.rb`: + + ```ruby + sidekiq['routing_rules'] = [['*', 'default']] + ``` + ### 15.4.0 - GitLab 15.4.0 includes a [batched background migration](#batched-background-migrations) to [remove incorrect values from `expire_at` in `ci_job_artifacts` table](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89318). This migration might take hours or days to complete on larger GitLab instances. - By default, Gitaly and Praefect nodes use the time server at `pool.ntp.org`. If your instance can not connect to `pool.ntp.org`, [configure the `NTP_HOST` variable](../administration/gitaly/praefect.md#customize-time-server-setting). +- GitLab 15.4.0 introduced a default [Sidekiq routing rule](../administration/sidekiq/extra_sidekiq_routing.md) that routes all jobs to the `default` queue. For instances using [queue selectors](../administration/sidekiq/extra_sidekiq_processes.md#queue-selector), this will cause [performance problems](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/1991) as some Sidekiq processes will be idle. + - The default routing rule has been reverted in 15.4.5, so upgrading to that version or later will return to the previous behavior. + - If a GitLab instance now listens only to the `default` queue (which is not currently recommended), it will be required to add this routing rule back in `/etc/gitlab/gitlab.rb`: + + ```ruby + sidekiq['routing_rules'] = [['*', 'default']] + ``` ### 15.3.3 diff --git a/doc/user/analytics/dora_metrics.md b/doc/user/analytics/dora_metrics.md index a85cd25f712..b5f37203817 100644 --- a/doc/user/analytics/dora_metrics.md +++ b/doc/user/analytics/dora_metrics.md @@ -108,6 +108,13 @@ Custom charts to visualize DORA data with Insights YAML-based reports. With this new visualization, software leaders can track metrics improvements, understand patterns in their metrics trends, and compare performance between groups and projects. +### Measure DORA metrics without using GitLab CI/CD pipelines + +Deployment frequency is calculated based on the deployments record, which is created for typical push-based deployments. +These deployment records are not created for pull-based deployments, for example when Container Images are connected to GitLab with an agent. + +To track DORA metrics in these cases, you can [create a deployment record](../../api/deployments.md#create-a-deployment) using the Deployments API. + ### Supported DORA metrics in GitLab | Metric | Level | API | UI chart | Comments | diff --git a/doc/user/application_security/policies/scan-result-policies.md b/doc/user/application_security/policies/scan-result-policies.md index 6d6c8a03d55..7482df18cc3 100644 --- a/doc/user/application_security/policies/scan-result-policies.md +++ b/doc/user/application_security/policies/scan-result-policies.md @@ -22,7 +22,8 @@ job is fully executed. The following video gives you an overview of GitLab scan ## Scan result policy editor -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77814) in GitLab 14.8. +> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77814) in GitLab 14.8. +> - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/369473) in GitLab 15.6. NOTE: Only project Owners have the [permissions](../../permissions.md#project-members-permissions) diff --git a/doc/user/markdown.md b/doc/user/markdown.md index c44047d74b3..b6f3ba1cfdd 100644 --- a/doc/user/markdown.md +++ b/doc/user/markdown.md @@ -1160,17 +1160,15 @@ These details <em>remain</em> <strong>hidden</strong> until expanded. Markdown inside these tags is also supported. -NOTE: -If your Markdown isn't rendering correctly, try adding -`{::options parse_block_html="true" /}` to the top of the page, and add -`markdown="span"` to the opening summary tag like this: `<summary markdown="span">`. - -Remember to leave a blank line after the `</summary>` tag and before the `</details>` tag, -as shown in the example: +Remember to leave a blank line before and after any Markdown sections, as shown in the example: ````html <details> -<summary>Click this to collapse/fold.</summary> +<summary> + +Click this to _collapse/fold._ + +</summary> These details _remain_ **hidden** until expanded. @@ -1187,7 +1185,7 @@ works correctly in GitLab. --> <details> -<summary>Click this to collapse/fold.</summary> +<summary>Click this to <em>collapse/fold.</em></summary> These details <em>remain</em> <b>hidden</b> until expanded. diff --git a/doc/user/project/merge_requests/img/conflict_ui_v15_6.png b/doc/user/project/merge_requests/img/conflict_ui_v15_6.png Binary files differindex baa1cda3104..d5d5ad14edb 100644 --- a/doc/user/project/merge_requests/img/conflict_ui_v15_6.png +++ b/doc/user/project/merge_requests/img/conflict_ui_v15_6.png |