Commit 2ab3b750 authored by Evan Read's avatar Evan Read

Merge branch 'docs-aqualls-20200603-spelling' into 'master'

Docs: more spelling fixes (again!)

See merge request gitlab-org/gitlab!33777
parents cdcdeccc 69b20c45
Akismet Akismet
Alertmanager Alertmanager
Algolia Algolia
Alibaba
allowlist allowlist
allowlisting allowlisting
allowlists allowlists
...@@ -48,6 +49,7 @@ blockquoted ...@@ -48,6 +49,7 @@ blockquoted
blockquotes blockquotes
blockquoting blockquoting
boolean boolean
Bootsnap
browsable browsable
Bugzilla Bugzilla
Buildkite Buildkite
...@@ -60,6 +62,8 @@ cacheable ...@@ -60,6 +62,8 @@ cacheable
CAS CAS
CentOS CentOS
Chatops Chatops
checksummed
checksumming
Citrix Citrix
Citus Citus
clonable clonable
...@@ -72,6 +76,7 @@ compilable ...@@ -72,6 +76,7 @@ compilable
composable composable
Conda Conda
Consul Consul
Corosync
cron cron
crons crons
crontab crontab
...@@ -91,6 +96,7 @@ deduplication ...@@ -91,6 +96,7 @@ deduplication
denylist denylist
denylisting denylisting
denylists denylists
deployers
deprovision deprovision
deprovisioned deprovisioned
deprovisioning deprovisioning
...@@ -115,6 +121,7 @@ failovers ...@@ -115,6 +121,7 @@ failovers
failsafe failsafe
fastlane fastlane
favicon favicon
Fio
firewalled firewalled
Flawfinder Flawfinder
Flowdock Flowdock
...@@ -157,6 +164,7 @@ hotfixing ...@@ -157,6 +164,7 @@ hotfixing
http http
https https
idempotence idempotence
idmapper
Ingress Ingress
initializer initializer
initializers initializers
...@@ -185,6 +193,7 @@ Kubernetes ...@@ -185,6 +193,7 @@ Kubernetes
Kubesec Kubesec
Laravel Laravel
LDAP LDAP
ldapsearch
Libravatar Libravatar
Lograge Lograge
Logstash Logstash
...@@ -193,6 +202,7 @@ lookaheads ...@@ -193,6 +202,7 @@ lookaheads
lookbehind lookbehind
lookbehinds lookbehinds
lookups lookups
loopback
Lucene Lucene
Maildir Maildir
Makefile Makefile
...@@ -247,6 +257,7 @@ OpenShift ...@@ -247,6 +257,7 @@ OpenShift
Packagist Packagist
parallelization parallelization
parallelizations parallelizations
passwordless
performant performant
Pipfile Pipfile
Pipfiles Pipfiles
...@@ -273,8 +284,8 @@ Prometheus ...@@ -273,8 +284,8 @@ Prometheus
proxied proxied
proxies proxies
proxying proxying
Pseudonymized pseudonymized
Pseudonymizer pseudonymizer
Puma Puma
Python Python
Qualys Qualys
...@@ -298,8 +309,8 @@ reindexes ...@@ -298,8 +309,8 @@ reindexes
reindexing reindexing
relicensing relicensing
remediations remediations
Repmgr repmgr
Repmgrd repmgrd
repurposing repurposing
requeue requeue
requeued requeued
...@@ -320,6 +331,7 @@ reverifies ...@@ -320,6 +331,7 @@ reverifies
reverify reverify
Rubix Rubix
Rubocop Rubocop
Rubular
runbook runbook
runbooks runbooks
runit runit
...@@ -355,6 +367,7 @@ SpotBugs ...@@ -355,6 +367,7 @@ SpotBugs
SSH SSH
Stackdriver Stackdriver
storable storable
storages
strace strace
strikethrough strikethrough
strikethroughs strikethroughs
...@@ -379,6 +392,7 @@ subquerying ...@@ -379,6 +392,7 @@ subquerying
substring substring
substrings substrings
syslog syslog
tcpdump
Tiller Tiller
todos todos
tokenizer tokenizer
...@@ -433,6 +447,9 @@ unpublished ...@@ -433,6 +447,9 @@ unpublished
unpublishes unpublishes
unpublishing unpublishing
unreferenced unreferenced
unregister
unregistered
unregisters
unreplicated unreplicated
unresolve unresolve
unresolved unresolved
......
...@@ -93,7 +93,7 @@ NOTE: **Note:** ...@@ -93,7 +93,7 @@ NOTE: **Note:**
The `encryption` value `simple_tls` corresponds to 'Simple TLS' in the LDAP The `encryption` value `simple_tls` corresponds to 'Simple TLS' in the LDAP
library. `start_tls` corresponds to StartTLS, not to be confused with regular TLS. library. `start_tls` corresponds to StartTLS, not to be confused with regular TLS.
Normally, if you specify `simple_tls` it will be on port 636, while `start_tls` (StartTLS) Normally, if you specify `simple_tls` it will be on port 636, while `start_tls` (StartTLS)
would be on port 389. `plain` also operates on port 389. Removed values: "tls" was replaced with "start_tls" and "ssl" was replaced with "simple_tls". would be on port 389. `plain` also operates on port 389. Removed values: `tls` was replaced with `start_tls` and `ssl` was replaced with `simple_tls`.
NOTE: **Note:** NOTE: **Note:**
LDAP users must have an email address set, regardless of whether it is used to log in. LDAP users must have an email address set, regardless of whether it is used to log in.
...@@ -173,7 +173,7 @@ production: ...@@ -173,7 +173,7 @@ production:
| `bind_dn` | The full DN of the user you will bind with. | no | `'america\momo'` or `'CN=Gitlab,OU=Users,DC=domain,DC=com'` | | `bind_dn` | The full DN of the user you will bind with. | no | `'america\momo'` or `'CN=Gitlab,OU=Users,DC=domain,DC=com'` |
| `password` | The password of the bind user. | no | `'your_great_password'` | | `password` | The password of the bind user. | no | `'your_great_password'` |
| `encryption` | Encryption method. The `method` key is deprecated in favor of `encryption`. | yes | `'start_tls'` or `'simple_tls'` or `'plain'` | | `encryption` | Encryption method. The `method` key is deprecated in favor of `encryption`. | yes | `'start_tls'` or `'simple_tls'` or `'plain'` |
| `verify_certificates` | Enables SSL certificate verification if encryption method is "start_tls" or "simple_tls". Defaults to true. | no | boolean | | `verify_certificates` | Enables SSL certificate verification if encryption method is `start_tls` or `simple_tls`. Defaults to true. | no | boolean |
| `timeout` | Set a timeout, in seconds, for LDAP queries. This helps avoid blocking a request if the LDAP server becomes unresponsive. A value of 0 means there is no timeout. | no | `10` or `30` | | `timeout` | Set a timeout, in seconds, for LDAP queries. This helps avoid blocking a request if the LDAP server becomes unresponsive. A value of 0 means there is no timeout. | no | `10` or `30` |
| `active_directory` | This setting specifies if LDAP server is Active Directory LDAP server. For non-AD servers it skips the AD specific queries. If your LDAP server is not AD, set this to false. | no | boolean | | `active_directory` | This setting specifies if LDAP server is Active Directory LDAP server. For non-AD servers it skips the AD specific queries. If your LDAP server is not AD, set this to false. | no | boolean |
| `allow_username_or_email_login` | If enabled, GitLab will ignore everything after the first `@` in the LDAP username submitted by the user on login. If you are using `uid: 'userPrincipalName'` on ActiveDirectory you need to disable this setting, because the userPrincipalName contains an `@`. | no | boolean | | `allow_username_or_email_login` | If enabled, GitLab will ignore everything after the first `@` in the LDAP username submitted by the user on login. If you are using `uid: 'userPrincipalName'` on ActiveDirectory you need to disable this setting, because the userPrincipalName contains an `@`. | no | boolean |
...@@ -595,7 +595,7 @@ When enabled, the following applies: ...@@ -595,7 +595,7 @@ When enabled, the following applies:
NOTE: **Note:** NOTE: **Note:**
These are cron formatted values. You can use a crontab generator to create These are cron formatted values. You can use a crontab generator to create
these values, for example <http://www.crontabgenerator.com/>. these values, for example [Crontab Generator](http://www.crontabgenerator.com/).
By default, GitLab runs a group sync process every hour, on the hour. By default, GitLab runs a group sync process every hour, on the hour.
......
...@@ -17,7 +17,7 @@ The following documentation enables Okta as a SAML provider. ...@@ -17,7 +17,7 @@ The following documentation enables Okta as a SAML provider.
1. Now, very important, add a logo 1. Now, very important, add a logo
(you can choose it from <https://about.gitlab.com/press/>). You'll have to (you can choose it from <https://about.gitlab.com/press/>). You'll have to
crop and resize it. crop and resize it.
1. Next, you'll need the to fill in the SAML general config. Here's an example 1. Next, you'll need the to fill in the SAML general configuration. Here's an example
image. image.
![Okta admin panel view](img/okta_admin_panel.png) ![Okta admin panel view](img/okta_admin_panel.png)
...@@ -25,14 +25,14 @@ The following documentation enables Okta as a SAML provider. ...@@ -25,14 +25,14 @@ The following documentation enables Okta as a SAML provider.
1. The last part of the configuration is the feedback section where you can 1. The last part of the configuration is the feedback section where you can
just say you're a customer and creating an app for internal use. just say you're a customer and creating an app for internal use.
1. When you have your app you'll have a few tabs on the top of the app's 1. When you have your app you'll have a few tabs on the top of the app's
profile. Click on the SAML 2.0 config instructions button which should profile. Click on the SAML 2.0 configuration instructions button which should
look like the following: look like the following:
![Okta SAML settings](img/okta_saml_settings.png) ![Okta SAML settings](img/okta_saml_settings.png)
1. On the screen that comes up take note of the 1. On the screen that comes up take note of the
**Identity Provider Single Sign-On URL** which you'll use for the **Identity Provider Single Sign-On URL** which you'll use for the
`idp_sso_target_url` on your GitLab config file. `idp_sso_target_url` on your GitLab configuration file.
1. **Before you leave Okta make sure you add your user and groups if any.** 1. **Before you leave Okta make sure you add your user and groups if any.**
......
...@@ -159,7 +159,7 @@ attribute. As a prerequisite, you must use an LDAP server that: ...@@ -159,7 +159,7 @@ attribute. As a prerequisite, you must use an LDAP server that:
``` ```
For example, the following is an example server context in an NGINX For example, the following is an example server context in an NGINX
configuration file (eg. in `/etc/nginx/sites-available/gitlab-ssl`): configuration file (such as in `/etc/nginx/sites-available/gitlab-ssl`):
```plaintext ```plaintext
server { server {
......
...@@ -67,7 +67,7 @@ must disable the **primary** node. ...@@ -67,7 +67,7 @@ must disable the **primary** node.
NOTE: **Note:** NOTE: **Note:**
(**Ubuntu 14.04 LTS**) If you are using an older version of Ubuntu (**Ubuntu 14.04 LTS**) If you are using an older version of Ubuntu
or any other distro based on the Upstart init system, you can prevent GitLab or any other distribution based on the Upstart init system, you can prevent GitLab
from starting if the machine reboots by doing the following: from starting if the machine reboots by doing the following:
```shell ```shell
......
...@@ -324,7 +324,7 @@ There is an [issue where support is being discussed](https://gitlab.com/gitlab-o ...@@ -324,7 +324,7 @@ There is an [issue where support is being discussed](https://gitlab.com/gitlab-o
to the private key, which is **only** present on the **primary** node. to the private key, which is **only** present on the **primary** node.
1. Test that the `gitlab-psql` user can connect to the **primary** node's database 1. Test that the `gitlab-psql` user can connect to the **primary** node's database
(the default Omnibus database name is gitlabhq_production): (the default Omnibus database name is `gitlabhq_production`):
```shell ```shell
sudo \ sudo \
......
...@@ -12,7 +12,7 @@ You can set up a [Docker Registry](https://docs.docker.com/registry/) on your ...@@ -12,7 +12,7 @@ You can set up a [Docker Registry](https://docs.docker.com/registry/) on your
## Storage support ## Storage support
Docker Registry currently supports a few types of storages. If you choose a Docker Registry currently supports a few types of storage. If you choose a
distributed storage (`azure`, `gcs`, `s3`, `swift`, or `oss`) for your Docker distributed storage (`azure`, `gcs`, `s3`, `swift`, or `oss`) for your Docker
Registry on the **primary** node, you can use the same storage for a **secondary** Registry on the **primary** node, you can use the same storage for a **secondary**
Docker Registry as well. For more information, read the Docker Registry as well. For more information, read the
...@@ -23,7 +23,7 @@ integrated [Container Registry](../../packages/container_registry.md#container-r ...@@ -23,7 +23,7 @@ integrated [Container Registry](../../packages/container_registry.md#container-r
## Replicating Docker Registry ## Replicating Docker Registry
You can enable a storage-agnostic replication so it You can enable a storage-agnostic replication so it
can be used for cloud or local storages. Whenever a new image is pushed to the can be used for cloud or local storage. Whenever a new image is pushed to the
**primary** node, each **secondary** node will pull it to its own container **primary** node, each **secondary** node will pull it to its own container
repository. repository.
......
...@@ -69,7 +69,7 @@ Once your read-only replica is set up, you can skip to [configure you secondary ...@@ -69,7 +69,7 @@ Once your read-only replica is set up, you can skip to [configure you secondary
#### Manually configure the primary database for replication #### Manually configure the primary database for replication
The [geo_primary_role](https://docs.gitlab.com/omnibus/roles/#gitlab-geo-roles) The [`geo_primary_role`](https://docs.gitlab.com/omnibus/roles/#gitlab-geo-roles)
configures the **primary** node's database to be replicated by making changes to configures the **primary** node's database to be replicated by making changes to
`pg_hba.conf` and `postgresql.conf`. Make the following configuration changes `pg_hba.conf` and `postgresql.conf`. Make the following configuration changes
manually to your external database configuration and ensure that you restart PostgreSQL manually to your external database configuration and ensure that you restart PostgreSQL
...@@ -130,7 +130,7 @@ hot_standby = on ...@@ -130,7 +130,7 @@ hot_standby = on
### Configure **secondary** application nodes to use the external read-replica ### Configure **secondary** application nodes to use the external read-replica
With Omnibus, the With Omnibus, the
[geo_secondary_role](https://docs.gitlab.com/omnibus/roles/#gitlab-geo-roles) [`geo_secondary_role`](https://docs.gitlab.com/omnibus/roles/#gitlab-geo-roles)
has three main functions: has three main functions:
1. Configure the replica database. 1. Configure the replica database.
......
...@@ -15,7 +15,7 @@ The configuration file is passed as an argument to the `gitaly` ...@@ -15,7 +15,7 @@ The configuration file is passed as an argument to the `gitaly`
executable. This is usually done by either Omnibus GitLab or your executable. This is usually done by either Omnibus GitLab or your
[init](https://en.wikipedia.org/wiki/Init) script. [init](https://en.wikipedia.org/wiki/Init) script.
An [example config file](https://gitlab.com/gitlab-org/gitaly/blob/master/config.toml.example) An [example configuration file](https://gitlab.com/gitlab-org/gitaly/blob/master/config.toml.example)
can be found in the Gitaly project. can be found in the Gitaly project.
## Format ## Format
...@@ -160,7 +160,7 @@ sum(rate(gitaly_catfile_cache_total{type="hit"}[5m])) / sum(rate(gitaly_catfile_ ...@@ -160,7 +160,7 @@ sum(rate(gitaly_catfile_cache_total{type="hit"}[5m])) / sum(rate(gitaly_catfile_
A Gitaly process uses one or more `gitaly-ruby` helper processes to A Gitaly process uses one or more `gitaly-ruby` helper processes to
execute RPC's implemented in Ruby instead of Go. The `[gitaly-ruby]` execute RPC's implemented in Ruby instead of Go. The `[gitaly-ruby]`
section of the config file contains settings for these helper processes. section of the configuration file contains settings for these helper processes.
These processes are known to occasionally suffer from memory leaks. These processes are known to occasionally suffer from memory leaks.
Gitaly restarts its `gitaly-ruby` helpers when their memory exceeds the Gitaly restarts its `gitaly-ruby` helpers when their memory exceeds the
......
...@@ -343,7 +343,7 @@ When installing the GitLab package, do not supply `EXTERNAL_URL` value. ...@@ -343,7 +343,7 @@ When installing the GitLab package, do not supply `EXTERNAL_URL` value.
> Please note: > Please note:
> >
> - If you want your database to listen on a specific interface, change the config: > - If you want your database to listen on a specific interface, change the configuration:
> `postgresql['listen_address'] = '0.0.0.0'`. > `postgresql['listen_address'] = '0.0.0.0'`.
> - If your PgBouncer service runs under a different user account, > - If your PgBouncer service runs under a different user account,
> you also need to specify: `postgresql['pgbouncer_user'] = PGBOUNCER_USERNAME` in > you also need to specify: `postgresql['pgbouncer_user'] = PGBOUNCER_USERNAME` in
...@@ -902,7 +902,7 @@ after it has been restored to service. ...@@ -902,7 +902,7 @@ after it has been restored to service.
##### Add a node as a standby server ##### Add a node as a standby server
From the stnadby node, run: From the standby node, run:
```shell ```shell
gitlab-ctl repmgr standby follow NEW_MASTER gitlab-ctl repmgr standby follow NEW_MASTER
...@@ -917,7 +917,7 @@ after it has been restored to service. ...@@ -917,7 +917,7 @@ after it has been restored to service.
##### Add a failed master back into the cluster as a standby node ##### Add a failed master back into the cluster as a standby node
Once `repmgrd` and PostgreSQL are runnning, the node will need to follow the new Once `repmgrd` and PostgreSQL are running, the node will need to follow the new
as a standby node. as a standby node.
```shell ```shell
...@@ -934,7 +934,7 @@ after it has been restored to service. ...@@ -934,7 +934,7 @@ after it has been restored to service.
gitlab-ctl repmgr standby setup NEW_MASTER gitlab-ctl repmgr standby setup NEW_MASTER
``` ```
Failure to unregister and readd the old master node can lead to subsequent failovers Failure to unregister and read the old master node can lead to subsequent failovers
not working. not working.
#### Alternate configurations #### Alternate configurations
......
...@@ -104,7 +104,7 @@ for a real-world example of this exploit. ...@@ -104,7 +104,7 @@ for a real-world example of this exploit.
### Omnibus package installations ### Omnibus package installations
1. Find the `incoming_email` section in `/etc/gitlab/gitlab.rb`, enable the feature 1. Find the `incoming_email` section in `/etc/gitlab/gitlab.rb`, enable the feature
and fill in the details for your specific IMAP server and email account (see [examples](#config-examples) below). and fill in the details for your specific IMAP server and email account (see [examples](#configuration-examples) below).
1. Reconfigure GitLab for the changes to take effect: 1. Reconfigure GitLab for the changes to take effect:
...@@ -130,7 +130,7 @@ Reply by email should now be working. ...@@ -130,7 +130,7 @@ Reply by email should now be working.
``` ```
1. Find the `incoming_email` section in `config/gitlab.yml`, enable the feature 1. Find the `incoming_email` section in `config/gitlab.yml`, enable the feature
and fill in the details for your specific IMAP server and email account (see [examples](#config-examples) below). and fill in the details for your specific IMAP server and email account (see [examples](#configuration-examples) below).
1. Enable `mail_room` in the init script at `/etc/default/gitlab`: 1. Enable `mail_room` in the init script at `/etc/default/gitlab`:
...@@ -153,7 +153,7 @@ Reply by email should now be working. ...@@ -153,7 +153,7 @@ Reply by email should now be working.
Reply by email should now be working. Reply by email should now be working.
### Config examples ### Configuration examples
#### Postfix #### Postfix
......
...@@ -110,7 +110,7 @@ Here is a configuration example with GCS. ...@@ -110,7 +110,7 @@ Here is a configuration example with GCS.
| `provider` | The provider name | `Google` | | `provider` | The provider name | `Google` |
| `google_project` | GCP project name | `gcp-project-12345` | | `google_project` | GCP project name | `gcp-project-12345` |
| `google_client_email` | The email address of the service account | `foo@gcp-project-12345.iam.gserviceaccount.com` | | `google_client_email` | The email address of the service account | `foo@gcp-project-12345.iam.gserviceaccount.com` |
| `google_json_key_location` | The json key path | `/path/to/gcp-project-12345-abcde.json` | | `google_json_key_location` | The JSON key path | `/path/to/gcp-project-12345-abcde.json` |
NOTE: **Note:** NOTE: **Note:**
The service account must have permission to access the bucket. The service account must have permission to access the bucket.
......
...@@ -37,7 +37,7 @@ the configuration options as follows: ...@@ -37,7 +37,7 @@ the configuration options as follows:
### Your own Libravatar server ### Your own Libravatar server
If you are [running your own libravatar service](https://wiki.libravatar.org/running_your_own/), If you are [running your own Libravatar service](https://wiki.libravatar.org/running_your_own/),
the URL will be different in the configuration, but you must provide the same the URL will be different in the configuration, but you must provide the same
placeholders so GitLab can parse the URL correctly. placeholders so GitLab can parse the URL correctly.
......
...@@ -790,7 +790,7 @@ Omnibus GitLab packages or in `/home/git/gitlab/log/service_measurement.log` for ...@@ -790,7 +790,7 @@ Omnibus GitLab packages or in `/home/git/gitlab/log/service_measurement.log` for
installations from source. installations from source.
It contain only a single structured log with measurements for each service execution. It contain only a single structured log with measurements for each service execution.
It will contain measurement such as: number of sql calls, execution_time, gc_stats, memory usage, etc... It will contain measurement such as: number of SQL calls, `execution_time`, `gc_stats`, memory usage, etc...
For example: For example:
......
...@@ -59,7 +59,7 @@ you should ...@@ -59,7 +59,7 @@ you should
## Taking action on Prometheus alerts **(ULTIMATE)** ## Taking action on Prometheus alerts **(ULTIMATE)**
You can [add a webhook](../../../user/project/integrations/prometheus.md#external-prometheus-instances) You can [add a webhook](../../../user/project/integrations/prometheus.md#external-prometheus-instances)
to the Prometheus config in order for GitLab to receive notifications of any alerts. to the Prometheus configuration in order for GitLab to receive notifications of any alerts.
Once the webhook is setup, you can Once the webhook is setup, you can
[take action on incoming alerts](../../../user/project/integrations/prometheus.md#taking-action-on-incidents-ultimate). [take action on incoming alerts](../../../user/project/integrations/prometheus.md#taking-action-on-incidents-ultimate).
......
...@@ -51,14 +51,14 @@ The following metrics are available: ...@@ -51,14 +51,14 @@ The following metrics are available:
| `gitlab_page_out_of_bounds` | Counter | 12.8 | Counter for the PageLimiter pagination limit being hit | `controller`, `action`, `bot` | | `gitlab_page_out_of_bounds` | Counter | 12.8 | Counter for the PageLimiter pagination limit being hit | `controller`, `action`, `bot` |
| `gitlab_rails_queue_duration_seconds` | Histogram | 9.4 | Measures latency between GitLab Workhorse forwarding a request to Rails | | | `gitlab_rails_queue_duration_seconds` | Histogram | 9.4 | Measures latency between GitLab Workhorse forwarding a request to Rails | |
| `gitlab_sql_duration_seconds` | Histogram | 10.2 | SQL execution time, excluding SCHEMA operations and BEGIN / COMMIT | | | `gitlab_sql_duration_seconds` | Histogram | 10.2 | SQL execution time, excluding SCHEMA operations and BEGIN / COMMIT | |
| `gitlab_transaction_allocated_memory_bytes` | Histogram | 10.2 | Allocated memory for all transactions (gitlab_transaction_* metrics) | | | `gitlab_transaction_allocated_memory_bytes` | Histogram | 10.2 | Allocated memory for all transactions (`gitlab_transaction_*` metrics) | |
| `gitlab_transaction_cache_<key>_count_total` | Counter | 10.2 | Counter for total Rails cache calls (per key) | | | `gitlab_transaction_cache_<key>_count_total` | Counter | 10.2 | Counter for total Rails cache calls (per key) | |
| `gitlab_transaction_cache_<key>_duration_total` | Counter | 10.2 | Counter for total time (seconds) spent in Rails cache calls (per key) | | | `gitlab_transaction_cache_<key>_duration_total` | Counter | 10.2 | Counter for total time (seconds) spent in Rails cache calls (per key) | |
| `gitlab_transaction_cache_count_total` | Counter | 10.2 | Counter for total Rails cache calls (aggregate) | | | `gitlab_transaction_cache_count_total` | Counter | 10.2 | Counter for total Rails cache calls (aggregate) | |
| `gitlab_transaction_cache_duration_total` | Counter | 10.2 | Counter for total time (seconds) spent in Rails cache calls (aggregate) | | | `gitlab_transaction_cache_duration_total` | Counter | 10.2 | Counter for total time (seconds) spent in Rails cache calls (aggregate) | |
| `gitlab_transaction_cache_read_hit_count_total` | Counter | 10.2 | Counter for cache hits for Rails cache calls | `controller`, `action` | | `gitlab_transaction_cache_read_hit_count_total` | Counter | 10.2 | Counter for cache hits for Rails cache calls | `controller`, `action` |
| `gitlab_transaction_cache_read_miss_count_total` | Counter | 10.2 | Counter for cache misses for Rails cache calls | `controller`, `action` | | `gitlab_transaction_cache_read_miss_count_total` | Counter | 10.2 | Counter for cache misses for Rails cache calls | `controller`, `action` |
| `gitlab_transaction_duration_seconds` | Histogram | 10.2 | Duration for all transactions (gitlab_transaction_* metrics) | `controller`, `action` | | `gitlab_transaction_duration_seconds` | Histogram | 10.2 | Duration for all transactions (`gitlab_transaction_*` metrics) | `controller`, `action` |
| `gitlab_transaction_event_build_found_total` | Counter | 9.4 | Counter for build found for API /jobs/request | | | `gitlab_transaction_event_build_found_total` | Counter | 9.4 | Counter for build found for API /jobs/request | |
| `gitlab_transaction_event_build_invalid_total` | Counter | 9.4 | Counter for build invalid due to concurrency conflict for API /jobs/request | | | `gitlab_transaction_event_build_invalid_total` | Counter | 9.4 | Counter for build invalid due to concurrency conflict for API /jobs/request | |
| `gitlab_transaction_event_build_not_found_cached_total` | Counter | 9.4 | Counter for cached response of build not found for API /jobs/request | | | `gitlab_transaction_event_build_not_found_cached_total` | Counter | 9.4 | Counter for cached response of build not found for API /jobs/request | |
...@@ -124,7 +124,7 @@ configuration option in `gitlab.yml`. These metrics are served from the ...@@ -124,7 +124,7 @@ configuration option in `gitlab.yml`. These metrics are served from the
| Metric | Type | Since | Description | Labels | | Metric | Type | Since | Description | Labels |
|:---------------------------------------------- |:------- |:----- |:----------- |:------ | |:---------------------------------------------- |:------- |:----- |:----------- |:------ |
| `sidekiq_jobs_cpu_seconds` | Histogram | 12.4 | Seconds of cpu time to run Sidekiq job | `queue`, `boundary`, `external_dependencies`, `feature_category`, `job_status`, `urgency` | | `sidekiq_jobs_cpu_seconds` | Histogram | 12.4 | Seconds of CPU time to run Sidekiq job | `queue`, `boundary`, `external_dependencies`, `feature_category`, `job_status`, `urgency` |
| `sidekiq_jobs_completion_seconds` | Histogram | 12.2 | Seconds to complete Sidekiq job | `queue`, `boundary`, `external_dependencies`, `feature_category`, `job_status`, `urgency` | | `sidekiq_jobs_completion_seconds` | Histogram | 12.2 | Seconds to complete Sidekiq job | `queue`, `boundary`, `external_dependencies`, `feature_category`, `job_status`, `urgency` |
| `sidekiq_jobs_db_seconds` | Histogram | 12.9 | Seconds of DB time to run Sidekiq job | `queue`, `boundary`, `external_dependencies`, `feature_category`, `job_status`, `urgency` | | `sidekiq_jobs_db_seconds` | Histogram | 12.9 | Seconds of DB time to run Sidekiq job | `queue`, `boundary`, `external_dependencies`, `feature_category`, `job_status`, `urgency` |
| `sidekiq_jobs_gitaly_seconds` | Histogram | 12.9 | Seconds of Gitaly time to run Sidekiq job | `queue`, `boundary`, `external_dependencies`, `feature_category`, `job_status`, `urgency` | | `sidekiq_jobs_gitaly_seconds` | Histogram | 12.9 | Seconds of Gitaly time to run Sidekiq job | `queue`, `boundary`, `external_dependencies`, `feature_category`, `job_status`, `urgency` |
......
...@@ -84,7 +84,7 @@ To change the address/port that Prometheus listens on: ...@@ -84,7 +84,7 @@ To change the address/port that Prometheus listens on:
1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to 1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to
take effect take effect
### Adding custom scrape configs ### Adding custom scrape configurations
You can configure additional scrape targets for the Omnibus GitLab-bundled You can configure additional scrape targets for the Omnibus GitLab-bundled
Prometheus by editing `prometheus['scrape_configs']` in `/etc/gitlab/gitlab.rb` Prometheus by editing `prometheus['scrape_configs']` in `/etc/gitlab/gitlab.rb`
......
...@@ -14,7 +14,7 @@ I/O. The information on this page can be used for either scenario. ...@@ -14,7 +14,7 @@ I/O. The information on this page can be used for either scenario.
### Benchmarking with `fio` ### Benchmarking with `fio`
We recommend using We recommend using
[fio](https://fio.readthedocs.io/en/latest/fio_doc.html) to test I/O [Fio](https://fio.readthedocs.io/en/latest/fio_doc.html) to test I/O
performance. This test should be run both on the NFS server and on the performance. This test should be run both on the NFS server and on the
application nodes that talk to the NFS server. application nodes that talk to the NFS server.
......
...@@ -40,9 +40,9 @@ master process has PID 56227 below. ...@@ -40,9 +40,9 @@ master process has PID 56227 below.
[2015-06-05T10:58:08.708824 #62538] INFO -- : worker=10 ready [2015-06-05T10:58:08.708824 #62538] INFO -- : worker=10 ready
``` ```
### Tunables ### Tunable options
The main tunables for Unicorn are the number of worker processes and the The main tunable options for Unicorn are the number of worker processes and the
request timeout after which the Unicorn master terminates a worker process. request timeout after which the Unicorn master terminates a worker process.
See the [Omnibus GitLab Unicorn settings See the [Omnibus GitLab Unicorn settings
documentation](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/unicorn.md) documentation](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/unicorn.md)
......
...@@ -376,7 +376,7 @@ The different supported drivers are: ...@@ -376,7 +376,7 @@ The different supported drivers are:
| swift | OpenStack Swift Object Storage | | swift | OpenStack Swift Object Storage |
| oss | Aliyun OSS | | oss | Aliyun OSS |
Read more about the individual driver's config options in the Read more about the individual driver's configuration options in the
[Docker Registry docs](https://docs.docker.com/registry/configuration/#storage). [Docker Registry docs](https://docs.docker.com/registry/configuration/#storage).
[Read more about using object storage with GitLab](../object_storage.md). [Read more about using object storage with GitLab](../object_storage.md).
...@@ -413,7 +413,7 @@ NOTE: **Note:** ...@@ -413,7 +413,7 @@ NOTE: **Note:**
**Installations from source** **Installations from source**
Configuring the storage driver is done in your registry config YML file created Configuring the storage driver is done in your registry configuration YML file created
when you [deployed your Docker registry](https://docs.docker.com/registry/deploying/). when you [deployed your Docker registry](https://docs.docker.com/registry/deploying/).
`s3` storage driver example: `s3` storage driver example:
...@@ -610,7 +610,7 @@ You can use GitLab as an auth endpoint with an external container registry. ...@@ -610,7 +610,7 @@ You can use GitLab as an auth endpoint with an external container registry.
You can configure the Container Registry to send webhook notifications in You can configure the Container Registry to send webhook notifications in
response to events happening within the registry. response to events happening within the registry.
Read more about the Container Registry notifications config options in the Read more about the Container Registry notifications configuration options in the
[Docker Registry notifications documentation](https://docs.docker.com/registry/notifications/). [Docker Registry notifications documentation](https://docs.docker.com/registry/notifications/).
NOTE: **Note:** NOTE: **Note:**
...@@ -641,7 +641,7 @@ To configure a notification endpoint in Omnibus: ...@@ -641,7 +641,7 @@ To configure a notification endpoint in Omnibus:
**Installations from source** **Installations from source**
Configuring the notification endpoint is done in your registry config YML file created Configuring the notification endpoint is done in your registry configuration YML file created
when you [deployed your Docker registry](https://docs.docker.com/registry/deploying/). when you [deployed your Docker registry](https://docs.docker.com/registry/deploying/).
Example: Example:
......
...@@ -272,7 +272,7 @@ world. Custom domains are supported, but no TLS. ...@@ -272,7 +272,7 @@ world. Custom domains are supported, but no TLS.
sudo ln -sf /etc/nginx/sites-{available,enabled}/gitlab-pages.conf sudo ln -sf /etc/nginx/sites-{available,enabled}/gitlab-pages.conf
``` ```
1. Edit all GitLab related configs in `/etc/nginx/site-available/` and replace 1. Edit all GitLab related configurations in `/etc/nginx/site-available/` and replace
`0.0.0.0` with `192.0.2.1`, where `192.0.2.1` the primary IP where GitLab `0.0.0.0` with `192.0.2.1`, where `192.0.2.1` the primary IP where GitLab
listens to. listens to.
1. Restart NGINX 1. Restart NGINX
...@@ -341,7 +341,7 @@ world. Custom domains and TLS are supported. ...@@ -341,7 +341,7 @@ world. Custom domains and TLS are supported.
sudo ln -sf /etc/nginx/sites-{available,enabled}/gitlab-pages-ssl.conf sudo ln -sf /etc/nginx/sites-{available,enabled}/gitlab-pages-ssl.conf
``` ```
1. Edit all GitLab related configs in `/etc/nginx/site-available/` and replace 1. Edit all GitLab related configurations in `/etc/nginx/site-available/` and replace
`0.0.0.0` with `192.0.2.1`, where `192.0.2.1` the primary IP where GitLab `0.0.0.0` with `192.0.2.1`, where `192.0.2.1` the primary IP where GitLab
listens to. listens to.
1. Restart NGINX 1. Restart NGINX
...@@ -352,7 +352,7 @@ world. Custom domains and TLS are supported. ...@@ -352,7 +352,7 @@ world. Custom domains and TLS are supported.
>**Note:** >**Note:**
The following information applies only for installations from source. The following information applies only for installations from source.
Be extra careful when setting up the domain name in the NGINX config. You must Be extra careful when setting up the domain name in the NGINX configuration. You must
not remove the backslashes. not remove the backslashes.
If your GitLab Pages domain is `example.io`, replace: If your GitLab Pages domain is `example.io`, replace:
......
...@@ -8,10 +8,10 @@ For a full list of reference architectures, see ...@@ -8,10 +8,10 @@ For a full list of reference architectures, see
> - **High Availability:** False > - **High Availability:** False
| Users | Configuration([8](#footnotes)) | GCP | AWS | Azure | | Users | Configuration([8](#footnotes)) | GCP | AWS | Azure |
|-------|--------------------------------|---------------|----------------------|------------------------| |-------|--------------------------------|-----------------|----------------------|------------------------|
| 100 | 2 vCPU, 7.2GB Memory | n1-standard-2 | m5.large | D2s v3 | | 100 | 2 vCPU, 7.2GB Memory | `n1-standard-2` | `m5.large` | D2s v3 |
| 500 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 | | 500 | 4 vCPU, 15GB Memory | `n1-standard-4` | `m5.xlarge` | D4s v3 |
| 1000 | 8 vCPU, 30GB Memory | n1-standard-8 | m5.2xlarge | D8s v3 | | 1000 | 8 vCPU, 30GB Memory | `n1-standard-8` | `m5.2xlarge` | D8s v3 |
For situations where you need to serve up to 1,000 users, a single-node For situations where you need to serve up to 1,000 users, a single-node
solution with [frequent backups](index.md#automated-backups-core-only) is appropriate solution with [frequent backups](index.md#automated-backups-core-only) is appropriate
......
...@@ -9,22 +9,22 @@ For a full list of reference architectures, see ...@@ -9,22 +9,22 @@ For a full list of reference architectures, see
> - **Test RPS rates:** API: 500 RPS, Web: 50 RPS, Git: 50 RPS > - **Test RPS rates:** API: 500 RPS, Web: 50 RPS, Git: 50 RPS
| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure | | Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure |
|--------------------------------------------------------------|-------|---------------------------------|----------------|-----------------------|----------------| |--------------------------------------------------------------|-------|---------------------------------|------------------|-----------------------|----------------|
| GitLab Rails ([1](#footnotes)) | 5 | 32 vCPU, 28.8GB Memory | n1-highcpu-32 | c5.9xlarge | F32s v2 | | GitLab Rails ([1](#footnotes)) | 5 | 32 vCPU, 28.8GB Memory | `n1-highcpu-32` | `c5.9xlarge` | F32s v2 |
| PostgreSQL | 3 | 8 vCPU, 30GB Memory | n1-standard-8 | m5.2xlarge | D8s v3 | | PostgreSQL | 3 | 8 vCPU, 30GB Memory | `n1-standard-8` | `m5.2xlarge` | D8s v3 |
| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | PgBouncer | 3 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 32 vCPU, 120GB Memory | n1-standard-32 | m5.8xlarge | D32s v3 | | Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 32 vCPU, 120GB Memory | `n1-standard-32` | `m5.8xlarge` | D32s v3 |
| Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 | | Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | `n1-standard-4` | `m5.xlarge` | D4s v3 |
| Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 | | Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | `n1-standard-4` | `m5.xlarge` | D4s v3 |
| Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS | | Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | `g1-small` | `t2.small` | B1MS |
| Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS | | Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | `g1-small` | `t2.small` | B1MS |
| Consul | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | Consul | 3 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Sidekiq | 4 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 | | Sidekiq | 4 | 4 vCPU, 15GB Memory | `n1-standard-4` | `m5.xlarge` | D4s v3 |
| Object Storage ([4](#footnotes)) | - | - | - | - | - | | Object Storage ([4](#footnotes)) | - | - | - | - | - |
| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 | | NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | `n1-highcpu-4` | `c5.xlarge` | F4s v2 |
| Monitoring node | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 | | Monitoring node | 1 | 4 vCPU, 3.6GB Memory | `n1-highcpu-4` | `c5.xlarge` | F4s v2 |
| External load balancing node ([6](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 | | External load balancing node ([6](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | `n1-highcpu-4` | `c5.xlarge` | F4s v2 |
| Internal load balancing node ([6](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 | | Internal load balancing node ([6](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | `n1-highcpu-4` | `c5.xlarge` | F4s v2 |
## Footnotes ## Footnotes
......
...@@ -10,14 +10,14 @@ For a full list of reference architectures, see ...@@ -10,14 +10,14 @@ For a full list of reference architectures, see
| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure | | Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure |
|--------------------------------------------------------------|-------|---------------------------------|---------------|-----------------------|----------------| |--------------------------------------------------------------|-------|---------------------------------|---------------|-----------------------|----------------|
| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Object Storage ([4](#footnotes)) | - | - | - | - | - | | Object Storage ([4](#footnotes)) | - | - | - | - | - |
| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 | | NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | `n1-highcpu-4` | `c5.xlarge` | F4s v2 |
| PostgreSQL | 1 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 | | PostgreSQL | 1 | 2 vCPU, 7.5GB Memory | `n1-standard-2` | `m5.large` | D2s v3 |
| Redis ([3](#footnotes)) | 1 | 1 vCPU, 3.75GB Memory | n1-standard-1 | m5.large | D2s v3 | | Redis ([3](#footnotes)) | 1 | 1 vCPU, 3.75GB Memory | `n1-standard-1` | `m5.large` | D2s v3 |
| Gitaly ([5](#footnotes)) ([7](#footnotes)) | X ([2](#footnotes)) | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 | | Gitaly ([5](#footnotes)) ([7](#footnotes)) | X ([2](#footnotes)) | 4 vCPU, 15GB Memory | `n1-standard-4` | `m5.xlarge` | D4s v3 |
| GitLab Rails ([1](#footnotes)), Sidekiq | 2 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge | F8s v2 | | GitLab Rails ([1](#footnotes)), Sidekiq | 2 | 8 vCPU, 7.2GB Memory | `n1-highcpu-8` | `c5.2xlarge` | F8s v2 |
| Monitoring node | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | Monitoring node | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
## Setup instructions ## Setup instructions
......
...@@ -16,18 +16,18 @@ following the [2,000-user reference architecture](2k_users.md). ...@@ -16,18 +16,18 @@ following the [2,000-user reference architecture](2k_users.md).
| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure | | Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure |
|--------------------------------------------------------------|-------|---------------------------------|---------------|-----------------------|----------------| |--------------------------------------------------------------|-------|---------------------------------|---------------|-----------------------|----------------|
| GitLab Rails ([1](#footnotes)) | 3 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge | F8s v2 | | GitLab Rails ([1](#footnotes)) | 3 | 8 vCPU, 7.2GB Memory | `n1-highcpu-8` | `c5.2xlarge` | F8s v2 |
| PostgreSQL | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 | | PostgreSQL | 3 | 2 vCPU, 7.5GB Memory | `n1-standard-2` | `m5.large` | D2s v3 |
| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | PgBouncer | 3 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 | | Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 4 vCPU, 15GB Memory | `n1-standard-4` | `m5.xlarge` | D4s v3 |
| Redis ([3](#footnotes)) | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 | | Redis ([3](#footnotes)) | 3 | 2 vCPU, 7.5GB Memory | `n1-standard-2` | `m5.large` | D2s v3 |
| Consul + Sentinel ([3](#footnotes)) | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | Consul + Sentinel ([3](#footnotes)) | 3 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Sidekiq | 4 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 | | Sidekiq | 4 | 2 vCPU, 7.5GB Memory | `n1-standard-2` | `m5.large` | D2s v3 |
| Object Storage ([4](#footnotes)) | - | - | - | - | - | | Object Storage ([4](#footnotes)) | - | - | - | - | - |
| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 | | NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | `n1-highcpu-4` | `c5.xlarge` | F4s v2 |
| Monitoring node | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | Monitoring node | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
## Footnotes ## Footnotes
......
...@@ -10,21 +10,21 @@ For a full list of reference architectures, see ...@@ -10,21 +10,21 @@ For a full list of reference architectures, see
| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure | | Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure |
|--------------------------------------------------------------|-------|---------------------------------|----------------|-----------------------|----------------| |--------------------------------------------------------------|-------|---------------------------------|----------------|-----------------------|----------------|
| GitLab Rails ([1](#footnotes)) | 12 | 32 vCPU, 28.8GB Memory | n1-highcpu-32 | c5.9xlarge | F32s v2 | | GitLab Rails ([1](#footnotes)) | 12 | 32 vCPU, 28.8GB Memory | `n1-highcpu-32` | `c5.9xlarge` | F32s v2 |
| PostgreSQL | 3 | 16 vCPU, 60GB Memory | n1-standard-16 | m5.4xlarge | D16s v3 | | PostgreSQL | 3 | 16 vCPU, 60GB Memory | `n1-standard-16` | `m5.4xlarge` | D16s v3 |
| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | PgBouncer | 3 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 64 vCPU, 240GB Memory | n1-standard-64 | m5.16xlarge | D64s v3 | | Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 64 vCPU, 240GB Memory | `n1-standard-64` | `m5.16xlarge` | D64s v3 |
| Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 | | Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | `n1-standard-4` | `m5.xlarge` | D4s v3 |
| Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 | | Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | `n1-standard-4` | `m5.xlarge` | D4s v3 |
| Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS | | Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | `g1-small` | `t2.small` | B1MS |
| Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS | | Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | `g1-small` | `t2.small` | B1MS |
| Consul | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | Consul | 3 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Sidekiq | 4 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 | | Sidekiq | 4 | 4 vCPU, 15GB Memory | `n1-standard-4` | `m5.xlarge` | D4s v3 |
| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 | | NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | `n1-highcpu-4` | `c5.xlarge` | F4s v2 |
| Object Storage ([4](#footnotes)) | - | - | - | - | - | | Object Storage ([4](#footnotes)) | - | - | - | - | - |
| Monitoring node | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 | | Monitoring node | 1 | 4 vCPU, 3.6GB Memory | `n1-highcpu-4` | `c5.xlarge` | F4s v2 |
| External load balancing node ([6](#footnotes)) | 1 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge | F8s v2 | | External load balancing node ([6](#footnotes)) | 1 | 8 vCPU, 7.2GB Memory | `n1-highcpu-8` | `c5.2xlarge` | F8s v2 |
| Internal load balancing node ([6](#footnotes)) | 1 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge | F8s v2 | | Internal load balancing node ([6](#footnotes)) | 1 | 8 vCPU, 7.2GB Memory | `n1-highcpu-8` | `c5.2xlarge` | F8s v2 |
## Footnotes ## Footnotes
......
...@@ -10,18 +10,18 @@ For a full list of reference architectures, see ...@@ -10,18 +10,18 @@ For a full list of reference architectures, see
| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure | | Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS | Azure |
|--------------------------------------------------------------|-------|---------------------------------|---------------|-----------------------|----------------| |--------------------------------------------------------------|-------|---------------------------------|---------------|-----------------------|----------------|
| GitLab Rails ([1](#footnotes)) | 3 | 16 vCPU, 14.4GB Memory | n1-highcpu-16 | c5.4xlarge | F16s v2 | | GitLab Rails ([1](#footnotes)) | 3 | 16 vCPU, 14.4GB Memory | `n1-highcpu-16` | `c5.4xlarge` | F16s v2 |
| PostgreSQL | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 | | PostgreSQL | 3 | 2 vCPU, 7.5GB Memory | `n1-standard-2` | `m5.large` | D2s v3 |
| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | PgBouncer | 3 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 8 vCPU, 30GB Memory | n1-standard-8 | m5.2xlarge | D8s v3 | | Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 8 vCPU, 30GB Memory | `n1-standard-8` | `m5.2xlarge` | D8s v3 |
| Redis ([3](#footnotes)) | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 | | Redis ([3](#footnotes)) | 3 | 2 vCPU, 7.5GB Memory | `n1-standard-2` | `m5.large` | D2s v3 |
| Consul + Sentinel ([3](#footnotes)) | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | Consul + Sentinel ([3](#footnotes)) | 3 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Sidekiq | 4 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 | | Sidekiq | 4 | 2 vCPU, 7.5GB Memory | `n1-standard-2` | `m5.large` | D2s v3 |
| Object Storage ([4](#footnotes)) | - | - | - | - | - | | Object Storage ([4](#footnotes)) | - | - | - | - | - |
| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 | | NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | `n1-highcpu-4` | `c5.xlarge` | F4s v2 |
| Monitoring node | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | Monitoring node | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
| Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 | | Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | F2s v2 |
## Footnotes ## Footnotes
......
...@@ -10,7 +10,7 @@ storage shards) to distribute the storage load between several mount points. ...@@ -10,7 +10,7 @@ storage shards) to distribute the storage load between several mount points.
> - You must have at least one storage path called `default`. > - You must have at least one storage path called `default`.
> - The paths are defined in key-value pairs. The key is an arbitrary name you > - The paths are defined in key-value pairs. The key is an arbitrary name you
> can pick to name the file path. > can pick to name the file path.
> - The target directories and any of its subpaths must not be a symlink. > - The target directories and any of its sub-paths must not be a symlink.
> - No target directory may be a sub-directory of another; no nesting. > - No target directory may be a sub-directory of another; no nesting.
Example: this is OK: Example: this is OK:
...@@ -57,7 +57,7 @@ storage2: ...@@ -57,7 +57,7 @@ storage2:
Now that you've read that big fat warning above, let's edit the configuration Now that you've read that big fat warning above, let's edit the configuration
files and add the full paths of the alternative repository storage paths. In files and add the full paths of the alternative repository storage paths. In
the example below, we add two more mountpoints that are named `nfs_1` and `nfs_2` the example below, we add two more mount points that are named `nfs_1` and `nfs_2`
respectively. respectively.
NOTE: **Note:** This example uses NFS. We do not recommend using EFS for storage as it may impact GitLab's performance. See the [relevant documentation](high_availability/nfs.md#avoid-using-awss-elastic-file-system-efs) for more details. NOTE: **Note:** This example uses NFS. We do not recommend using EFS for storage as it may impact GitLab's performance. See the [relevant documentation](high_availability/nfs.md#avoid-using-awss-elastic-file-system-efs) for more details.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment