gitlab-ce/config
GitLab Bot 41c4d7ff2a Add latest changes from gitlab-org/gitlab@master 2023-05-20 09:07:08 +00:00
..
audit_events/types
environments
events Add latest changes from gitlab-org/gitlab@master 2023-05-16 18:09:09 +00:00
feature_flags Add latest changes from gitlab-org/gitlab@master 2023-05-20 09:07:08 +00:00
helpers
initializers Add latest changes from gitlab-org/gitlab@master 2023-05-19 15:08:55 +00:00
initializers_before_autoloader Add latest changes from gitlab-org/gitlab@master 2023-05-19 03:08:19 +00:00
knative
locales
metrics Add latest changes from gitlab-org/gitlab@master 2023-05-16 12:09:06 +00:00
plugins
prometheus
routes Add latest changes from gitlab-org/gitlab@master 2023-05-17 21:07:21 +00:00
security
vue3migration
README.md
apollo.config.js
application.rb Add latest changes from gitlab-org/gitlab@master 2023-05-19 03:08:19 +00:00
boot.rb
bullet.yml
bundler_setup.rb
cable.yml.example
database.yml.decomposed-postgresql
database.yml.postgresql
dependency_decisions.yml
environment.rb
feature_categories.yml
gitlab.yml.example
gitlab_loose_foreign_keys.yml Add latest changes from gitlab-org/gitlab@master 2023-05-19 12:07:15 +00:00
gitleaks.toml
known_invalid_graphql_queries.yml
license_finder.yml
mail_room.yml
object_store_settings.rb
open_api.yml
puma.example.development.rb Add latest changes from gitlab-org/gitlab@master 2023-05-16 15:07:40 +00:00
puma.rb.example Add latest changes from gitlab-org/gitlab@master 2023-05-16 15:07:40 +00:00
resque.yml.example
routes.rb
secrets.yml.example
settings.rb
sidekiq.yml.example
sidekiq_queues.yml Add latest changes from gitlab-org/gitlab@master 2023-05-20 09:07:08 +00:00
smime_signature_settings.rb
spring.rb
storage.yml
weak_password_digests.yml
webpack.config.js Add latest changes from gitlab-org/gitlab@master 2023-05-17 21:07:21 +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.