gitlab-ce/config
GitLab Bot face8345a2 Add latest changes from gitlab-org/gitlab@master 2023-12-29 21:13:18 +00:00
..
audit_events/types Add latest changes from gitlab-org/gitlab@master 2023-12-06 09:12:47 +00:00
environments Add latest changes from gitlab-org/gitlab@master 2023-09-28 06:10:23 +00:00
events Add latest changes from gitlab-org/gitlab@master 2023-12-19 15:15:54 +00:00
feature_flags Add latest changes from gitlab-org/gitlab@master 2023-12-29 12:07:49 +00:00
helpers
initializers Add latest changes from gitlab-org/gitlab@master 2023-12-22 12:14:34 +00:00
initializers_before_autoloader Add latest changes from gitlab-org/gitlab@master 2023-10-10 03:11:57 +00:00
knative
locales Add latest changes from gitlab-org/gitlab@master 2023-12-18 03:11:52 +00:00
metrics Add latest changes from gitlab-org/gitlab@master 2023-12-25 06:09:59 +00:00
plugins
prometheus Add latest changes from gitlab-org/gitlab@master 2023-07-28 12:08:39 +00:00
routes Add latest changes from gitlab-org/gitlab@master 2023-12-23 03:15:53 +00:00
security
vue3migration
README.md Add latest changes from gitlab-org/gitlab@master 2023-07-24 21:10:12 +00:00
apollo.config.js
application.rb Add latest changes from gitlab-org/gitlab@master 2023-12-29 21:13:18 +00:00
boot.rb Add latest changes from gitlab-org/gitlab@master 2023-09-13 15:12:03 +00:00
bullet.yml
bundler_setup.rb
cable.yml.example
click_house.yml.example
database.yml.decomposed-clusterwide-postgresql Add latest changes from gitlab-org/gitlab@master 2023-08-19 03:10:08 +00:00
database.yml.decomposed-postgresql Add latest changes from gitlab-org/gitlab@master 2023-08-19 03:10:08 +00:00
database.yml.postgresql Add latest changes from gitlab-org/gitlab@master 2023-08-19 03:10:08 +00:00
dependency_decisions.yml
environment.rb
feature_categories.yml Add latest changes from gitlab-org/gitlab@master 2023-12-18 12:07:35 +00:00
gitlab.yml.example Add latest changes from gitlab-org/gitlab@master 2023-12-06 15:10:41 +00:00
gitlab_loose_foreign_keys.yml Add latest changes from gitlab-org/gitlab@master 2023-12-22 09:17:04 +00:00
gitleaks.toml Add latest changes from gitlab-org/gitlab@master 2023-12-26 09:12:46 +00:00
known_invalid_graphql_queries.yml
license_finder.yml
mail_room.yml Add latest changes from gitlab-org/gitlab@master 2023-10-24 09:11:20 +00:00
object_store_settings.rb Add latest changes from gitlab-org/gitlab@master 2023-10-12 12:11:32 +00:00
open_api.yml
puma.example.development.rb
puma.rb.example Add latest changes from gitlab-org/gitlab@master 2023-09-28 18:12:54 +00:00
redis.yml.example Add latest changes from gitlab-org/gitlab@master 2023-10-26 18:11:56 +00:00
resque.yml.example Add latest changes from gitlab-org/gitlab@master 2023-09-18 18:10:09 +00:00
routes.rb Add latest changes from gitlab-org/gitlab@master 2023-12-07 21:12:55 +00:00
secrets.yml.example
session_store.yml.example Add latest changes from gitlab-org/gitlab@master 2023-09-07 15:08:44 +00:00
settings.rb Add latest changes from gitlab-org/gitlab@master 2023-11-13 21:15:31 +00:00
sidekiq.yml.example
sidekiq_queues.yml Add latest changes from gitlab-org/gitlab@master 2023-12-21 21:07:34 +00:00
smime_signature_settings.rb
spring.rb Add latest changes from gitlab-org/gitlab@master 2023-09-13 15:12:03 +00:00
storage.yml
vite.json Add latest changes from gitlab-org/gitlab@master 2023-12-12 18:07:46 +00:00
vite.rb Add latest changes from gitlab-org/gitlab@master 2023-11-17 15:15:43 +00:00
weak_password_digests.yml
webpack.config.js Add latest changes from gitlab-org/gitlab@master 2023-11-20 21:14:21 +00:00
webpack.constants.js Add latest changes from gitlab-org/gitlab@master 2023-08-31 00:07:06 +00:00
webpack.vendor.config.js

README.md

Configuration files Documentation

Note that most configuration files (config/*.*) committed into gitlab-foss will not be used for omnibus-gitlab. Configuration files committed into gitlab-foss are only used for development.

gitlab.yml

You can find most of the GitLab configuration settings here.

mail_room.yml

This file is actually an YML wrapped inside an ERB file to enable templated values to be specified from gitlab.yml. mail_room loads this file first as an ERB file and then loads the resulting YML as its configuration.

resque.yml

This file is called resque.yml for historical reasons. We are NOT using Resque at the moment. It is used to specify Redis configuration values when a single database instance of Redis is desired.

Advanced Redis configuration files

In more advanced configurations of Redis key-value storage, it is desirable to separate the keys by lifecycle and intended use to ease provisioning and management of scalable Redis clusters.

These settings provide routing and other configuration data (such as sentinel, persistence policies, and other Redis customization) for connections to Redis single instances, Redis sentinel, and Redis clusters.

If desired, the routing URL provided by these settings can be used with:

  1. Unix Socket
    1. named socket for each Redis instance desired.
    2. database number for each Redis instance desired.
  2. TCP Socket
    1. host name or IP for each Redis instance desired
    2. TCP port number for each Redis instance desired
    3. database number for each Redis instance desired

Example URL attribute formats for GitLab Redis .yml configuration files

  • Unix Socket, default Redis database (0)
    • url: unix:/path/to/redis.sock
    • url: unix:/path/to/redis.sock?db=
  • Unix Socket, Redis database 44
    • url: unix:/path/to/redis.sock?db=44
    • url: unix:/path/to/redis.sock?extra=foo&db=44
  • TCP Socket for Redis on localhost, port 6379, database 33
    • url: redis://:mynewpassword@localhost:6379/33
  • TCP Socket for Redis on remote host myserver, port 6379, database 33
    • url: redis://:mynewpassword@myserver:6379/33

Available configuration files

The Redis instances that can be configured are described in the table below. The order of precedence for configuration is described below, where $NAME and $FALLBACK_NAME are the upper-cased instance names from the table, and $name and $fallback_name are the lower-cased versions:

  1. The configuration file redis.$name.yml.
  2. If a fallback instance is available, the configuration file redis.$fallback_name.yml.
  3. The configuration file resque.yml.

An example configuration file for Redis is in this directory under the name resque.yml.example.

Name Fallback instance Purpose
cache Volatile non-persistent data
queues Background job processing queues
shared_state Persistent application state
trace_chunks shared_state CI trace chunks
rate_limiting cache Rate limiting state
sessions shared_state Sessions
repository_cache cache Repository related information
db_load_balancing shared_state Database Load Balancing

If no configuration is found, or no URL is found in the configuration file, the default URL used is redis://localhost:6379 for all Redis instances.