Default variable details

Some of debops.gitlab default variables have more extensive configuration than simple strings or lists, here you can find documentation and examples for them.

gitlab__configuration

The gitlab__*_configuration variables define the contents of the /etc/gitlab/gitlab.rb configuration file, used to configure GitLab Omnibus installation. You can find an example configuration file with complete contents in the /opt/gitlab/etc/gitlab.rb.template file, which might be useful as a reference. You can also use online GitLab Omnibus documentation to find more details about configuring GitLab Omnibus.

The role uses Universal Configuration system to integrate the default and inventory variables during configuration file generation.

Examples

You can see the default configuration defined in the role in gitlab__default_configuration variable to see examples of various configuration options.

Syntax

The variables are defined as lists of YAML dictionaries, each entry can configure either a simple variable, a list or a "section" of configuration options. Entries are defined using specific parameters:

name

Required. Name of the variable to define in the configuration file, or a configuration section (for example gitlab_rails) if the options parameter is also included. Configuration entries with the same name parameter are merged together and can affect each other.

title

Optional. String or YAML text block with a short "title" comment which describes a given option.

comment

Optional. String or YAML text block with a longer "description" comment.

value

The value of a given configuration option. It can be a string, a number, a boolean variable or a YAML list (usually with strings).

raw

If the raw parameter is specified, the name and value parameters are not included in the generated configuration file. The contents of the raw parameter (string or YAML text block) will be included in the generated configuration file as-is. You can use Jinja inside of the raw parameter to augment generated configuration as needed. This is useful with more complex configuration options such as dictionaries or Ruby code.

state

Optional. If not specified or present, a given configuration option will be included in the generated file. If absent, a given configuration option will not be included in the finished file. If comment, the option will be included but commented out. If ignore, a given configuration entry will not be evaluated during role execution.

separator

Optional. Add an empty line before a given configuration option, for aesthetic purposes.

options

Optional. A list of configuration options which belong to a given "section" (in Ruby terms, keys and values of a given dictionary). Each element of the list is a YAML dictionary with the same paraneters as the main configuration; the name parameter specifies the dictionary key and value or raw parameters can be used to define it.