From 4ed5326418a6f62bfa07ec569fbc5c08bd8fc10a Mon Sep 17 00:00:00 2001
From: Ashraf Khamis <akhamis@gitlab.com>
Date: Wed, 11 Sep 2024 15:29:48 +0000
Subject: [PATCH] CTRT: installation requirements (4)

---
 doc/install/requirements.md | 87 +++++++++++--------------------------
 1 file changed, 26 insertions(+), 61 deletions(-)

diff --git a/doc/install/requirements.md b/doc/install/requirements.md
index 5cb163d70187c..b34b34317b32b 100644
--- a/doc/install/requirements.md
+++ b/doc/install/requirements.md
@@ -82,51 +82,45 @@ For more information, see [managing PostgreSQL extensions](postgresql_extensions
 
 #### GitLab Geo
 
-If you're using [GitLab Geo](../administration/geo/index.md), we strongly recommend running instances installed by using the Linux package or using
-[validated cloud-managed instances](../administration/reference_architectures/index.md#recommended-cloud-providers-and-services),
-as we actively develop and test based on those.
-We cannot guarantee compatibility with other external databases.
+For [GitLab Geo](../administration/geo/index.md), you should use the Linux package or
+[validated cloud providers](../administration/reference_architectures/index.md#recommended-cloud-providers-and-services)
+to install GitLab.
+Compatibility with other external databases is not guaranteed.
 
 For more information, see [requirements for running Geo](../administration/geo/index.md#requirements-for-running-geo).
 
 #### Locale compatibility
 
-Changes to locale data in `glibc` means that PostgreSQL database files are not fully compatible
-between different OS releases.
+When you change locale data in `glibc`, PostgreSQL database files are
+no longer fully compatible between different operating systems.
+To avoid index corruption,
+[check for locale compatibility](../administration/geo/replication/troubleshooting/common.md#check-os-locale-data-compatibility)
+when you:
 
-To avoid index corruption, [check for locale compatibility](../administration/geo/replication/troubleshooting/common.md#check-os-locale-data-compatibility)
-when:
+- Move binary PostgreSQL data between servers.
+- Upgrade your Linux distribution.
+- Update or change third-party container images.
 
-- Moving binary PostgreSQL data between servers.
-- Upgrading your Linux distribution.
-- Updating or changing third party container images.
-
-For more information, see how to [upgrade operating systems for PostgreSQL](../administration/postgresql/upgrading_os.md).
+For more information, see [upgrading operating systems for PostgreSQL](../administration/postgresql/upgrading_os.md).
 
 #### GitLab schemas
 
-Databases created or used for GitLab, Geo, [Gitaly Cluster](../administration/gitaly/praefect.md), or other components should be for the
-exclusive use of GitLab. Do not make direct changes to the database, schemas, users, or other
-properties except when following procedures in the GitLab documentation or following the directions
-of GitLab Support or other GitLab engineers.
-
-- The main GitLab application uses three schemas:
-
-  - The default `public` schema
-  - `gitlab_partitions_static` (automatically created)
-  - `gitlab_partitions_dynamic` (automatically created)
+You should create or use databases exclusively for GitLab, [Geo](../administration/geo/index.md),
+[Gitaly Cluster](../administration/gitaly/praefect.md), or other components.
+Do not create or modify databases, schemas, users, or other properties except when you follow:
 
-  No other schemas should be manually created.
+- Procedures in the GitLab documentation
+- The directions of GitLab Support or engineers
 
-- GitLab may create new schemas as part of Rails database migrations. This happens when performing
-  a GitLab upgrade. The GitLab database account requires access to do this.
+The main GitLab application uses three schemas:
 
-- GitLab creates and modifies tables during the upgrade process, and also as part of standard
-  operations to manage partitioned tables.
+- The default `public` schema
+- `gitlab_partitions_static` (created automatically)
+- `gitlab_partitions_dynamic` (created automatically)
 
-- You should not modify the GitLab schema (for example, adding triggers or modifying tables).
-  Database migrations are tested against the schema definition in the GitLab codebase. GitLab
-  version upgrades may fail if the schema is modified.
+During Rails database migrations, GitLab might create or modify schemas or tables.
+Database migrations are tested against the schema definition in the GitLab codebase.
+If you modify any schema, [GitLab upgrades](../update/index.md) might fail.
 
 ## Puma
 
@@ -240,36 +234,6 @@ These processes consume approximately 200 MB of memory.
 For more information, see
 [monitoring GitLab with Prometheus](../administration/monitoring/prometheus/index.md).
 
-## GitLab Runner
-
-We strongly advise against installing GitLab Runner on the same machine you plan
-to install GitLab on. Depending on how you decide to configure GitLab Runner and
-what tools you use to exercise your application in the CI environment, GitLab
-Runner can consume significant amount of available memory.
-
-Memory consumption calculations, that are available above, are not valid if
-you decide to run GitLab Runner and the GitLab Rails application on the same
-machine.
-
-It's also not safe to install everything on a single machine, because of the
-[security reasons](https://docs.gitlab.com/runner/security/), especially when you plan to use shell executor with GitLab
-Runner.
-
-To use CI/CD features, you should use a separate machine for each GitLab Runner.
-The GitLab Runner server requirements depend on:
-
-- The type of [executor](https://docs.gitlab.com/runner/executors/) you configured on GitLab Runner.
-- Resources required to run build jobs.
-- Job concurrency settings.
-
-Because the nature of the jobs varies for each use case, you must experiment by adjusting the job concurrency to get the optimum setting.
-
-For reference, the [SaaS runners on Linux](../ci/runners/hosted_runners/linux.md)
-are configured so that a **single job** runs in a **single instance** with:
-
-- 1 vCPU.
-- 3.75 GB of RAM.
-
 ## Supported web browsers
 
 GitLab supports the following web browsers:
@@ -289,4 +253,5 @@ Running GitLab with JavaScript disabled in these browsers is not supported.
 
 ## Related topics
 
+- [Install GitLab Runner](https://docs.gitlab.com/runner/install/)
 - [Secure your installation](../security/index.md)
-- 
GitLab