release_manager 0.5.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +4 -1
- data/CHANGELOG.md +8 -0
- data/Dockerfile +4 -3
- data/Gemfile.lock +12 -14
- data/README.md +45 -0
- data/app_startup_script.sh +1 -1
- data/docker-compose.yml +26 -25
- data/lib/release_manager/changelog.rb +1 -1
- data/lib/release_manager/cli/release_mod_cli.rb +15 -3
- data/lib/release_manager/puppet_module.rb +28 -21
- data/lib/release_manager/release.rb +18 -11
- data/lib/release_manager/version.rb +1 -1
- data/setup_repos.rb +29 -9
- data/srv/gitlab-runner/config/config.toml +17 -0
- data/srv/gitlab/config/gitlab-secrets.json +24 -0
- data/srv/gitlab/config/gitlab.rb +1659 -0
- data/srv/gitlab/config/ssh_host_ecdsa_key +5 -0
- data/srv/gitlab/config/ssh_host_ecdsa_key.pub +1 -0
- data/srv/gitlab/config/ssh_host_ed25519_key +7 -0
- data/srv/gitlab/config/ssh_host_ed25519_key.pub +1 -0
- data/srv/gitlab/config/ssh_host_rsa_key +27 -0
- data/srv/gitlab/config/ssh_host_rsa_key.pub +1 -0
- data/test_release.sh +3 -3
- metadata +11 -3
data/setup_repos.rb
CHANGED
@@ -28,19 +28,39 @@ def create_puppet_file(proj)
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
+
def create_branch(proj_id, branch, ref)
|
32
|
+
begin
|
33
|
+
client.create_branch(proj_id, branch, ref)
|
34
|
+
rescue Gitlab::Error::BadRequest => e
|
35
|
+
if e.response_status == 400
|
36
|
+
puts "Branch already created"
|
37
|
+
else
|
38
|
+
raise e
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
31
43
|
def create_control_repo
|
32
44
|
begin
|
33
45
|
proj = client.create_project('control-repo', namespace_id: devops_group.id)
|
34
|
-
client.create_branch(proj.id, 'dev')
|
35
|
-
client.create_branch(proj.id, 'qa')
|
36
|
-
client.create_branch(proj.id, 'integration')
|
37
|
-
client.create_branch(proj.id, 'acceptance')
|
38
|
-
client.create_branch(proj.id, 'production')
|
39
46
|
create_puppet_file(proj)
|
47
|
+
create_branch(proj.id, 'dev', 'master')
|
48
|
+
create_branch(proj.id, 'qa', 'master')
|
49
|
+
create_branch(proj.id, 'integration', 'master')
|
50
|
+
create_branch(proj.id, 'acceptance', 'master')
|
51
|
+
create_branch(proj.id, 'production', 'master')
|
52
|
+
client.unprotect_branch(proj.id, 'master')
|
40
53
|
rescue Gitlab::Error::BadRequest => e
|
41
54
|
if e.response_status == 400
|
42
55
|
# already created
|
43
|
-
proj = client.project("devops
|
56
|
+
proj = client.project("devops/control-repo")
|
57
|
+
create_branch(proj.id, 'dev', 'master')
|
58
|
+
create_branch(proj.id, 'qa', 'master')
|
59
|
+
create_branch(proj.id, 'integration', 'master')
|
60
|
+
create_branch(proj.id, 'acceptance', 'master')
|
61
|
+
create_branch(proj.id, 'production', 'master')
|
62
|
+
client.unprotect_branch(proj.id, 'master')
|
63
|
+
# client.delete_branch(proj.id, 'master')
|
44
64
|
create_puppet_file(proj)
|
45
65
|
end
|
46
66
|
end
|
@@ -81,7 +101,7 @@ def mod(name, *args)
|
|
81
101
|
proj = client.create_project(name, import_url: url, namespace_id: devops_group.id)
|
82
102
|
rescue Gitlab::Error::BadRequest => e
|
83
103
|
if e.response_status == 400
|
84
|
-
proj = client.project("devops
|
104
|
+
proj = client.project("devops/#{name}")
|
85
105
|
end
|
86
106
|
end
|
87
107
|
args.first[:git] = proj.ssh_url_to_repo
|
@@ -89,8 +109,8 @@ def mod(name, *args)
|
|
89
109
|
puppetfile_content << "mod '#{name}',\n #{data}\n\n"
|
90
110
|
end
|
91
111
|
|
92
|
-
|
93
|
-
|
112
|
+
create_control_repo
|
113
|
+
eval(modules)
|
94
114
|
#
|
95
115
|
# client.create_user('joe@foo.org', 'password', 'joe', { name: 'Joe Smith' })
|
96
116
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
concurrent = 1
|
2
|
+
check_interval = 0
|
3
|
+
|
4
|
+
[[runners]]
|
5
|
+
name = "test-runner"
|
6
|
+
url = "http://web/ci"
|
7
|
+
token = "defcd0d23f3fbfa2069a895cc4ff50"
|
8
|
+
executor = "docker"
|
9
|
+
[runners.docker]
|
10
|
+
tls_verify = false
|
11
|
+
image = "ruby:2.1"
|
12
|
+
privileged = false
|
13
|
+
disable_cache = false
|
14
|
+
volumes = ["/cache"]
|
15
|
+
shm_size = 0
|
16
|
+
network_mode = "releasemanager_default"
|
17
|
+
[runners.cache]
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{
|
2
|
+
"gitlab_workhorse": {
|
3
|
+
"secret_token": "B0I5QyPLNOzDR6LAzOvzsAqmFqAfz/u4cYdyh2ClhjE="
|
4
|
+
},
|
5
|
+
"gitlab_shell": {
|
6
|
+
"secret_token": "af8e7a40adcda1b95b83032e37ec563897243836d0fcf1156cdda9b22093efe707b42db50083356787f5accbca3d2d861e3b54b562d31cb013a9dfec6fd363d3"
|
7
|
+
},
|
8
|
+
"gitlab_rails": {
|
9
|
+
"secret_key_base": "2b9aa72b37a6680f7795c2532faa460f021a2c7727a489321f2f2d318869f09864305aad9e2556b6945c1404a2b383d99f2ccce09f23fd46a3ade40a33262ed1",
|
10
|
+
"db_key_base": "d7d621b72bb30cf09a7ed2c47f9ce648e292169f3294d14d59fd1adabd538b1003de51beca728084b67755f20ff12e15381916a9b495b63ed74f63e891e18b9d",
|
11
|
+
"otp_key_base": "5fc0b0ba5d959acf5e9c788b5241a043485c03c6c903fe84d8982de6eb20ced39ed9604885a55d5a82dd8cc0fd04d4415eeb3e534a5e6a9e0bf062a1b0d4cbb0",
|
12
|
+
"jws_private_key": "-----BEGIN RSA PRIVATE KEY-----\n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\n-----END RSA PRIVATE KEY-----\n"
|
13
|
+
},
|
14
|
+
"registry": {
|
15
|
+
"http_secret": "7a50a3e7a4436e6887c33ddac7c078fcd2935be978c890164f2ce7b175b9161247fec3d7a5cae08b7a2fa0d0ff855ffcbc3dc7921485379b31bd22978fbdb607",
|
16
|
+
"internal_certificate": "-----BEGIN CERTIFICATE-----\nMIIFBTCCAu2gAwIBAgIBADANBgkqhkiG9w0BAQsFADBGMQwwCgYDVQQGEwNVU0Ex\nDzANBgNVBAoMBkdpdExhYjESMBAGA1UECwwJQ29udGFpbmVyMREwDwYDVQQDDAhS\nZWdpc3RyeTAeFw0xNzA5MjYwMDQwNDNaFw0yNzA5MjQwMDQwNDNaMEYxDDAKBgNV\nBAYTA1VTQTEPMA0GA1UECgwGR2l0TGFiMRIwEAYDVQQLDAlDb250YWluZXIxETAP\nBgNVBAMMCFJlZ2lzdHJ5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\ntJk2uhtaeY0rF770nQ4Ga0wFc1YkTgf9TQG45Nt0UDkdTKITp7Xs7RB93zZGzl3n\nJbNKTExgkTlnbyFm3rILnWgDBk9NZI5RiBpVX6AnApJuBaLpAQydlr19T3sYrxrY\nh01qAnTlAS5w+EspBZUqXAQ/zVS18oFRLXfqM8b4r7PfJwb6L3UUwKYxZoxwekzg\nxEI84uVHypVrzmj0CNENzcfOOocCbW60WrxecA6tME6RleaErLPmcOikNyg+siDw\nkdcTLZHDgbe5i5gJ1YzUBBLYvXQj0dSRSVBEOJv5r+0iBX9G7/O+5FfYU1LMxwCJ\nrwNzG+sEj1AyIUukczwgrSWHcIioBjBEG0OZ0A8GggSYUCHNRoxLJSVz2gDyjbUM\nPJxLNT81wUL+Kpd11LAOIkcsrafa6VIHh+zTIDWXwrhckcVXsbA0Z/dH1qjNez9C\nPeCteGXm26HzpssLUNC+SM/lHmfJfCIXOIB/37xTiipqeE0v1iPa2duzOqRue04p\nY4xr2WVUN3reWJ285lSwirkt4Orn4olQeit5/HU1mKLbdbTQ2mlIehH0rlJDQbRU\nrn4udqXurPnz+J8Qkbt3FQjoqyMBHsyu6uVaR2pqLNk2FikUwgpAfX7yMBwJM4PQ\nE3X0NNQPc0JUJdz4lE/2gUDjKOvINEyBu1HNLTHe66kCAwEAATANBgkqhkiG9w0B\nAQsFAAOCAgEArpVTrSfF/aDj85gJ5VVyWha5US8XCzzEyBRrf3zQF2lk5hG2WIRE\n3+hrmh23d792SaN28ZQtj2T4GbAgMzrrpJvEQvlh5ODC643H1iziN4W3IWoZgkvB\n8REsApQJ0IUcv4KYGK0s4GwjBcBfv6d90QTHpjzRpNK4zUoSYP5uoA/Z4EAB66sE\nPeKqwfEP8HYocTQBFT3wExkT+DYQRdwhbcLpooJCXwUtoZuh6c5JupN22Remv8WG\nusqOGmcTiL+V6ks2rAtPIM1hRVzIo7fMiL3qeA9G4ml8fNBiD5ZiJKXLKt80Ydkt\n0s4befAy73cI8lyzyVBPQRoQZJLWyE3Q+QyHTKNX0+XEufDfrjRLyP8gyaWuISGt\n8nwDhXCSQ68MrliJMTKpzyhXefmtoGoGNu1R0ux2A1yNdT+RM+lEzzSLPgM2wyAP\nX3TNMtChpnKswf2IUDrA0A7Vk0Y+7stWBKVgw2OcYtvxp3yK0w8MCU9yscjvr30p\nGFprujsRt4egPWh1Zn5DE6qjpVBBdV99QwdE8HuB76jENHHX/E3Sx8wL2m7GH8YI\nf7Rc8VjrqhV26YLTUrS5Dk1E4PtSjpEuh1CKH6pP7Njm2/F4MG9Q4Zwr7PrEv6E4\nrcHKFW+0Zruezy80+Af/CWTc9t1CVXGl+AifTfATGt+AMzz/lL79ixg=\n-----END CERTIFICATE-----\n",
|
17
|
+
"internal_key": "-----BEGIN RSA PRIVATE KEY-----\n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\n-----END RSA PRIVATE KEY-----\n"
|
18
|
+
},
|
19
|
+
"mattermost": {
|
20
|
+
"email_invite_salt": "6fb3016ddce5827e8f5e9fb9d70f8566",
|
21
|
+
"file_public_link_salt": "a8064c9f949330baf43c62d03f2b94ac",
|
22
|
+
"sql_at_rest_encrypt_key": "f527b3c4910c6ea13e804cf96ce51d91"
|
23
|
+
}
|
24
|
+
}
|
@@ -0,0 +1,1659 @@
|
|
1
|
+
## GitLab configuration settings
|
2
|
+
##! This file is generated during initial installation and **is not** modified
|
3
|
+
##! during upgrades.
|
4
|
+
##! Check out the latest version of this file to know about the different
|
5
|
+
##! settings that can be configured by this file, which may be found at:
|
6
|
+
##! https://gitlab.com/gitlab-org/omnibus-gitlab/raw/master/files/gitlab-config-template/gitlab.rb.template
|
7
|
+
|
8
|
+
|
9
|
+
## GitLab URL
|
10
|
+
##! URL on which GitLab will be reachable.
|
11
|
+
##! For more details on configuring external_url see:
|
12
|
+
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
|
13
|
+
external_url 'http://web'
|
14
|
+
|
15
|
+
## Legend
|
16
|
+
##! The following notations at the beginning of each line may be used to
|
17
|
+
##! differentiate between components of this file and to easily select them using
|
18
|
+
##! a regex.
|
19
|
+
##! ## Titles, subtitles etc
|
20
|
+
##! ##! More information - Description, Docs, Links, Issues etc.
|
21
|
+
##! Configuration settings have a single # followed by a single space at the
|
22
|
+
##! beginning; Remove them to enable the setting.
|
23
|
+
|
24
|
+
##! **Configuration settings below are optional.**
|
25
|
+
##! **The values currently assigned are only examples and ARE NOT the default
|
26
|
+
##! values.**
|
27
|
+
|
28
|
+
|
29
|
+
################################################################################
|
30
|
+
################################################################################
|
31
|
+
## Configuration Settings for GitLab CE and EE ##
|
32
|
+
################################################################################
|
33
|
+
################################################################################
|
34
|
+
|
35
|
+
################################################################################
|
36
|
+
## gitlab.yml configuration
|
37
|
+
##! Docs: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/gitlab.yml.md
|
38
|
+
################################################################################
|
39
|
+
# gitlab_rails['gitlab_ssh_host'] = 'ssh.host_example.com'
|
40
|
+
# gitlab_rails['time_zone'] = 'UTC'
|
41
|
+
|
42
|
+
### Email Settings
|
43
|
+
# gitlab_rails['gitlab_email_enabled'] = true
|
44
|
+
# gitlab_rails['gitlab_email_from'] = 'example@example.com'
|
45
|
+
# gitlab_rails['gitlab_email_display_name'] = 'Example'
|
46
|
+
# gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
|
47
|
+
# gitlab_rails['gitlab_email_subject_suffix'] = ''
|
48
|
+
|
49
|
+
### GitLab user privileges
|
50
|
+
# gitlab_rails['gitlab_default_can_create_group'] = true
|
51
|
+
# gitlab_rails['gitlab_username_changing_enabled'] = true
|
52
|
+
|
53
|
+
### Default Theme
|
54
|
+
# gitlab_rails['gitlab_default_theme'] = 2
|
55
|
+
|
56
|
+
### Default project feature settings
|
57
|
+
# gitlab_rails['gitlab_default_projects_features_issues'] = true
|
58
|
+
# gitlab_rails['gitlab_default_projects_features_merge_requests'] = true
|
59
|
+
# gitlab_rails['gitlab_default_projects_features_wiki'] = true
|
60
|
+
# gitlab_rails['gitlab_default_projects_features_snippets'] = true
|
61
|
+
# gitlab_rails['gitlab_default_projects_features_builds'] = true
|
62
|
+
# gitlab_rails['gitlab_default_projects_features_container_registry'] = true
|
63
|
+
|
64
|
+
### Automatic issue closing
|
65
|
+
###! See https://docs.gitlab.com/ce/customization/issue_closing.html for more
|
66
|
+
###! information about this pattern.
|
67
|
+
# gitlab_rails['gitlab_issue_closing_pattern'] = "((?:[Cc]los(?:e[sd]?|ing)|[Ff]ix(?:e[sd]|ing)?|[Rr]esolv(?:e[sd]?|ing))(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?)|([A-Z][A-Z0-9_]+-\d+))+)"
|
68
|
+
|
69
|
+
### Download location
|
70
|
+
###! When a user clicks e.g. 'Download zip' on a project, a temporary zip file
|
71
|
+
###! is created in the following directory.
|
72
|
+
# gitlab_rails['gitlab_repository_downloads_path'] = 'tmp/repositories'
|
73
|
+
|
74
|
+
### Gravatar Settings
|
75
|
+
# gitlab_rails['gravatar_plain_url'] = 'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon'
|
76
|
+
# gitlab_rails['gravatar_ssl_url'] = 'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon'
|
77
|
+
|
78
|
+
### Auxiliary jobs
|
79
|
+
###! Periodically executed jobs, to self-heal Gitlab, do external
|
80
|
+
###! synchronizations, etc.
|
81
|
+
###! Docs: https://github.com/ondrejbartas/sidekiq-cron#adding-cron-job
|
82
|
+
###! https://docs.gitlab.com/ce/ci/yaml/README.html#artifacts:expire_in
|
83
|
+
# gitlab_rails['stuck_ci_jobs_worker_cron'] = "0 0 * * *"
|
84
|
+
# gitlab_rails['expire_build_artifacts_worker_cron'] = "50 * * * *"
|
85
|
+
# gitlab_rails['pipeline_schedule_worker_cron'] = "41 * * * *"
|
86
|
+
# gitlab_rails['repository_check_worker_cron'] = "20 * * * *"
|
87
|
+
# gitlab_rails['admin_email_worker_cron'] = "0 0 * * 0"
|
88
|
+
# gitlab_rails['repository_archive_cache_worker_cron'] = "0 * * * *"
|
89
|
+
|
90
|
+
### Webhook Settings
|
91
|
+
###! Number of seconds to wait for HTTP response after sending webhook HTTP POST
|
92
|
+
###! request (default: 10)
|
93
|
+
# gitlab_rails['webhook_timeout'] = 10
|
94
|
+
|
95
|
+
### Trusted proxies
|
96
|
+
###! Customize if you have GitLab behind a reverse proxy which is running on a
|
97
|
+
###! different machine.
|
98
|
+
###! **Add the IP address for your reverse proxy to the list, otherwise users
|
99
|
+
###! will appear signed in from that address.**
|
100
|
+
# gitlab_rails['trusted_proxies'] = []
|
101
|
+
|
102
|
+
### Monitoring settings
|
103
|
+
###! IP whitelist controlling access to monitoring endpoints
|
104
|
+
# gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8']
|
105
|
+
###! Time between sampling of unicorn socket metrics, in seconds
|
106
|
+
# gitlab_rails['monitoring_unicorn_sampler_interval'] = 10
|
107
|
+
|
108
|
+
### Reply by email
|
109
|
+
###! Allow users to comment on issues and merge requests by replying to
|
110
|
+
###! notification emails.
|
111
|
+
###! Docs: https://docs.gitlab.com/ce/administration/reply_by_email.html
|
112
|
+
# gitlab_rails['incoming_email_enabled'] = true
|
113
|
+
|
114
|
+
#### Incoming Email Address
|
115
|
+
####! The email address including the `%{key}` placeholder that will be replaced
|
116
|
+
####! to reference the item being replied to.
|
117
|
+
####! **The placeholder can be omitted but if present, it must appear in the
|
118
|
+
####! "user" part of the address (before the `@`).**
|
119
|
+
# gitlab_rails['incoming_email_address'] = "gitlab-incoming+%{key}@gmail.com"
|
120
|
+
|
121
|
+
#### Email account username
|
122
|
+
####! **With third party providers, this is usually the full email address.**
|
123
|
+
####! **With self-hosted email servers, this is usually the user part of the
|
124
|
+
####! email address.**
|
125
|
+
# gitlab_rails['incoming_email_email'] = "gitlab-incoming@gmail.com"
|
126
|
+
|
127
|
+
#### Email account password
|
128
|
+
# gitlab_rails['incoming_email_password'] = "[REDACTED]"
|
129
|
+
|
130
|
+
#### IMAP Settings
|
131
|
+
# gitlab_rails['incoming_email_host'] = "imap.gmail.com"
|
132
|
+
# gitlab_rails['incoming_email_port'] = 993
|
133
|
+
# gitlab_rails['incoming_email_ssl'] = true
|
134
|
+
# gitlab_rails['incoming_email_start_tls'] = false
|
135
|
+
|
136
|
+
#### Incoming Mailbox Settings
|
137
|
+
####! The mailbox where incoming mail will end up. Usually "inbox".
|
138
|
+
# gitlab_rails['incoming_email_mailbox_name'] = "inbox"
|
139
|
+
####! The IDLE command timeout.
|
140
|
+
# gitlab_rails['incoming_email_idle_timeout'] = 60
|
141
|
+
|
142
|
+
### Job Artifacts
|
143
|
+
# gitlab_rails['artifacts_enabled'] = true
|
144
|
+
# gitlab_rails['artifacts_path'] = "/mnt/storage/artifacts"
|
145
|
+
# gitlab_rails['artifacts_object_store_enabled'] = false
|
146
|
+
# gitlab_rails['artifacts_object_store_remote_directory'] = "artifacts"
|
147
|
+
# gitlab_rails['artifacts_object_store_connection'] = {
|
148
|
+
# 'provider' => 'AWS',
|
149
|
+
# 'region' => 'eu-west-1',
|
150
|
+
# 'aws_access_key_id' => 'AWS_ACCESS_KEY_ID',
|
151
|
+
# 'aws_secret_access_key' => 'AWS_SECRET_ACCESS_KEY'
|
152
|
+
# }
|
153
|
+
|
154
|
+
### Git LFS
|
155
|
+
# gitlab_rails['lfs_enabled'] = true
|
156
|
+
# gitlab_rails['lfs_storage_path'] = "/mnt/storage/lfs-objects"
|
157
|
+
|
158
|
+
### Usage Statistics
|
159
|
+
# gitlab_rails['usage_ping_enabled'] = true
|
160
|
+
|
161
|
+
### GitLab Mattermost
|
162
|
+
###! These settings are void if Mattermost is installed on the same omnibus
|
163
|
+
###! install
|
164
|
+
# gitlab_rails['mattermost_host'] = "https://mattermost.example.com"
|
165
|
+
|
166
|
+
### LDAP Settings
|
167
|
+
###! Docs: https://docs.gitlab.com/omnibus/settings/ldap.html
|
168
|
+
###! **Be careful not to break the indentation in the ldap_servers block. It is
|
169
|
+
###! in yaml format and the spaces must be retained. Using tabs will not work.**
|
170
|
+
|
171
|
+
# gitlab_rails['ldap_enabled'] = false
|
172
|
+
|
173
|
+
###! **remember to close this block with 'EOS' below**
|
174
|
+
# gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
|
175
|
+
# main: # 'main' is the GitLab 'provider ID' of this LDAP server
|
176
|
+
# label: 'LDAP'
|
177
|
+
# host: '_your_ldap_server'
|
178
|
+
# port: 389
|
179
|
+
# uid: 'sAMAccountName'
|
180
|
+
# bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
|
181
|
+
# password: '_the_password_of_the_bind_user'
|
182
|
+
# encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
|
183
|
+
# verify_certificates: true
|
184
|
+
# ca_file: ''
|
185
|
+
# ssl_version: ''
|
186
|
+
# active_directory: true
|
187
|
+
# allow_username_or_email_login: false
|
188
|
+
# block_auto_created_users: false
|
189
|
+
# base: ''
|
190
|
+
# user_filter: ''
|
191
|
+
# attributes:
|
192
|
+
# username: ['uid', 'userid', 'sAMAccountName']
|
193
|
+
# email: ['mail', 'email', 'userPrincipalName']
|
194
|
+
# name: 'cn'
|
195
|
+
# first_name: 'givenName'
|
196
|
+
# last_name: 'sn'
|
197
|
+
# ## EE only
|
198
|
+
# group_base: ''
|
199
|
+
# admin_group: ''
|
200
|
+
# sync_ssh_keys: false
|
201
|
+
#
|
202
|
+
# secondary: # 'secondary' is the GitLab 'provider ID' of second LDAP server
|
203
|
+
# label: 'LDAP'
|
204
|
+
# host: '_your_ldap_server'
|
205
|
+
# port: 389
|
206
|
+
# uid: 'sAMAccountName'
|
207
|
+
# bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
|
208
|
+
# password: '_the_password_of_the_bind_user'
|
209
|
+
# encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
|
210
|
+
# verify_certificates: true
|
211
|
+
# ca_file: ''
|
212
|
+
# ssl_version: ''
|
213
|
+
# active_directory: true
|
214
|
+
# allow_username_or_email_login: false
|
215
|
+
# block_auto_created_users: false
|
216
|
+
# base: ''
|
217
|
+
# user_filter: ''
|
218
|
+
# attributes:
|
219
|
+
# username: ['uid', 'userid', 'sAMAccountName']
|
220
|
+
# email: ['mail', 'email', 'userPrincipalName']
|
221
|
+
# name: 'cn'
|
222
|
+
# first_name: 'givenName'
|
223
|
+
# last_name: 'sn'
|
224
|
+
# ## EE only
|
225
|
+
# group_base: ''
|
226
|
+
# admin_group: ''
|
227
|
+
# sync_ssh_keys: false
|
228
|
+
# EOS
|
229
|
+
|
230
|
+
### OmniAuth Settings
|
231
|
+
###! Docs: https://docs.gitlab.com/ce/integration/omniauth.html
|
232
|
+
# gitlab_rails['omniauth_enabled'] = false
|
233
|
+
# gitlab_rails['omniauth_allow_single_sign_on'] = ['saml']
|
234
|
+
# gitlab_rails['omniauth_sync_email_from_provider'] = 'saml'
|
235
|
+
# gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'saml'
|
236
|
+
# gitlab_rails['omniauth_block_auto_created_users'] = true
|
237
|
+
# gitlab_rails['omniauth_auto_link_ldap_user'] = false
|
238
|
+
# gitlab_rails['omniauth_auto_link_saml_user'] = false
|
239
|
+
# gitlab_rails['omniauth_external_providers'] = ['twitter', 'google_oauth2']
|
240
|
+
# gitlab_rails['omniauth_providers'] = [
|
241
|
+
# {
|
242
|
+
# "name" => "google_oauth2",
|
243
|
+
# "app_id" => "YOUR APP ID",
|
244
|
+
# "app_secret" => "YOUR APP SECRET",
|
245
|
+
# "args" => { "access_type" => "offline", "approval_prompt" => "" }
|
246
|
+
# }
|
247
|
+
# ]
|
248
|
+
|
249
|
+
### Backup Settings
|
250
|
+
###! Docs: https://docs.gitlab.com/omnibus/settings/backups.html
|
251
|
+
|
252
|
+
# gitlab_rails['manage_backup_path'] = true
|
253
|
+
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
|
254
|
+
|
255
|
+
###! Docs: https://docs.gitlab.com/ce/raketasks/backup_restore.html#backup-archive-permissions
|
256
|
+
# gitlab_rails['backup_archive_permissions'] = 0644
|
257
|
+
|
258
|
+
# gitlab_rails['backup_pg_schema'] = 'public'
|
259
|
+
|
260
|
+
###! The duration in seconds to keep backups before they are allowed to be deleted
|
261
|
+
# gitlab_rails['backup_keep_time'] = 604800
|
262
|
+
|
263
|
+
# gitlab_rails['backup_upload_connection'] = {
|
264
|
+
# 'provider' => 'AWS',
|
265
|
+
# 'region' => 'eu-west-1',
|
266
|
+
# 'aws_access_key_id' => 'AKIAKIAKI',
|
267
|
+
# 'aws_secret_access_key' => 'secret123'
|
268
|
+
# }
|
269
|
+
# gitlab_rails['backup_upload_remote_directory'] = 'my.s3.bucket'
|
270
|
+
# gitlab_rails['backup_multipart_chunk_size'] = 104857600
|
271
|
+
|
272
|
+
###! **Turns on AWS Server-Side Encryption with Amazon S3-Managed Keys for
|
273
|
+
###! backups**
|
274
|
+
# gitlab_rails['backup_encryption'] = 'AES256'
|
275
|
+
|
276
|
+
###! **Specifies Amazon S3 storage class to use for backups. Valid values
|
277
|
+
###! include 'STANDARD', 'STANDARD_IA', 'GLACIER', and
|
278
|
+
###! 'REDUCED_REDUNDANCY'**
|
279
|
+
# gitlab_rails['backup_storage_class'] = 'STANDARD'
|
280
|
+
|
281
|
+
### For setting up different data storing directory
|
282
|
+
###! Docs: https://docs.gitlab.com/omnibus/settings/configuration.html#storing-git-data-in-an-alternative-directory
|
283
|
+
###! **If you want to use a single non-default directory to store git data use a
|
284
|
+
###! path that doesn't contain symlinks.**
|
285
|
+
# git_data_dirs({
|
286
|
+
# "default" => {
|
287
|
+
# "path" => "/mnt/nfs-01/git-data",
|
288
|
+
# "failure_count_threshold" => 10,
|
289
|
+
# "failure_wait_time" => 30,
|
290
|
+
# "failure_reset_time" => 1800,
|
291
|
+
# "storage_timeout" => 30
|
292
|
+
# }
|
293
|
+
# })
|
294
|
+
|
295
|
+
### Gitaly settings
|
296
|
+
# gitlab_rails['gitaly_token'] = 'secret token'
|
297
|
+
|
298
|
+
### For storing GitLab application uploads, eg. LFS objects, build artifacts
|
299
|
+
###! Docs: https://docs.gitlab.com/ce/development/shared_files.html
|
300
|
+
# gitlab_rails['shared_path'] = '/var/opt/gitlab/gitlab-rails/shared'
|
301
|
+
|
302
|
+
### GitLab Shell settings for GitLab
|
303
|
+
# gitlab_rails['gitlab_shell_ssh_port'] = 22
|
304
|
+
# gitlab_rails['git_max_size'] = 20971520
|
305
|
+
# gitlab_rails['git_timeout'] = 10
|
306
|
+
# gitlab_rails['gitlab_shell_git_timeout'] = 800
|
307
|
+
|
308
|
+
### Extra customization
|
309
|
+
# gitlab_rails['extra_google_analytics_id'] = '_your_tracking_id'
|
310
|
+
# gitlab_rails['extra_piwik_url'] = '_your_piwik_url'
|
311
|
+
# gitlab_rails['extra_piwik_site_id'] = '_your_piwik_site_id'
|
312
|
+
|
313
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/environment-variables.html
|
314
|
+
# gitlab_rails['env'] = {
|
315
|
+
# 'BUNDLE_GEMFILE' => "/opt/gitlab/embedded/service/gitlab-rails/Gemfile",
|
316
|
+
# 'PATH' => "/opt/gitlab/bin:/opt/gitlab/embedded/bin:/bin:/usr/bin"
|
317
|
+
# }
|
318
|
+
|
319
|
+
# gitlab_rails['rack_attack_git_basic_auth'] = {
|
320
|
+
# 'enabled' => true,
|
321
|
+
# 'ip_whitelist' => ["127.0.0.1"],
|
322
|
+
# 'maxretry' => 10,
|
323
|
+
# 'findtime' => 60,
|
324
|
+
# 'bantime' => 3600
|
325
|
+
# }
|
326
|
+
|
327
|
+
# gitlab_rails['rack_attack_protected_paths'] = [
|
328
|
+
# '/users/password',
|
329
|
+
# '/users/sign_in',
|
330
|
+
# '/api/#{API::API.version}/session.json',
|
331
|
+
# '/api/#{API::API.version}/session',
|
332
|
+
# '/users',
|
333
|
+
# '/users/confirmation',
|
334
|
+
# '/unsubscribes/',
|
335
|
+
# '/import/github/personal_access_token'
|
336
|
+
# ]
|
337
|
+
|
338
|
+
###! **We do not recommend changing these directories.**
|
339
|
+
# gitlab_rails['dir'] = "/var/opt/gitlab/gitlab-rails"
|
340
|
+
# gitlab_rails['log_directory'] = "/var/log/gitlab/gitlab-rails"
|
341
|
+
|
342
|
+
### GitLab application settings
|
343
|
+
# gitlab_rails['uploads_directory'] = "/var/opt/gitlab/gitlab-rails/uploads"
|
344
|
+
# gitlab_rails['rate_limit_requests_per_period'] = 10
|
345
|
+
# gitlab_rails['rate_limit_period'] = 60
|
346
|
+
|
347
|
+
#### Change the initial default admin password and shared runner registraion tokens.
|
348
|
+
####! **Only applicable on initial setup, changing these settings after database
|
349
|
+
####! is created and seeded won't yield any change.**
|
350
|
+
# gitlab_rails['initial_root_password'] = "password"
|
351
|
+
# gitlab_rails['initial_shared_runners_registration_token'] = "token"
|
352
|
+
|
353
|
+
#### Enable or disable automatic database migrations
|
354
|
+
# gitlab_rails['auto_migrate'] = true
|
355
|
+
|
356
|
+
#### This is advanced feature used by large gitlab deployments where loading
|
357
|
+
#### whole RAILS env takes a lot of time.
|
358
|
+
# gitlab_rails['rake_cache_clear'] = true
|
359
|
+
|
360
|
+
### GitLab database settings
|
361
|
+
###! Docs: https://docs.gitlab.com/omnibus/settings/database.html
|
362
|
+
###! **Only needed if you use an external database.**
|
363
|
+
# gitlab_rails['db_adapter'] = "postgresql"
|
364
|
+
# gitlab_rails['db_encoding'] = "unicode"
|
365
|
+
# gitlab_rails['db_collation'] = nil
|
366
|
+
# gitlab_rails['db_database'] = "gitlabhq_production"
|
367
|
+
# gitlab_rails['db_pool'] = 10
|
368
|
+
# gitlab_rails['db_username'] = "gitlab"
|
369
|
+
# gitlab_rails['db_password'] = nil
|
370
|
+
# gitlab_rails['db_host'] = nil
|
371
|
+
# gitlab_rails['db_port'] = 5432
|
372
|
+
# gitlab_rails['db_socket'] = nil
|
373
|
+
# gitlab_rails['db_sslmode'] = nil
|
374
|
+
# gitlab_rails['db_sslrootcert'] = nil
|
375
|
+
# gitlab_rails['db_prepared_statements'] = true
|
376
|
+
# gitlab_rails['db_statements_limit'] = 1000
|
377
|
+
|
378
|
+
|
379
|
+
### GitLab Redis settings
|
380
|
+
###! Connect to your own Redis instance
|
381
|
+
###! Docs: https://docs.gitlab.com/omnibus/settings/redis.html
|
382
|
+
|
383
|
+
#### Redis TCP connection
|
384
|
+
# gitlab_rails['redis_host'] = "127.0.0.1"
|
385
|
+
# gitlab_rails['redis_port'] = 6379
|
386
|
+
# gitlab_rails['redis_password'] = nil
|
387
|
+
# gitlab_rails['redis_database'] = 0
|
388
|
+
|
389
|
+
#### Redis local UNIX socket (will be disabled if TCP method is used)
|
390
|
+
# gitlab_rails['redis_socket'] = "/var/opt/gitlab/redis/redis.socket"
|
391
|
+
|
392
|
+
#### Sentinel support
|
393
|
+
####! To have Sentinel working, you must enable Redis TCP connection support
|
394
|
+
####! above and define a few Sentinel hosts below (to get a reliable setup
|
395
|
+
####! at least 3 hosts).
|
396
|
+
####! **You don't need to list every sentinel host, but the ones not listed will
|
397
|
+
####! not be used in a fail-over situation to query for the new master.**
|
398
|
+
# gitlab_rails['redis_sentinels'] = [
|
399
|
+
# {'host' => '127.0.0.1', 'port' => 26379},
|
400
|
+
# ]
|
401
|
+
|
402
|
+
### GitLab email server settings
|
403
|
+
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html
|
404
|
+
###! **Use smtp instead of sendmail/postfix.**
|
405
|
+
|
406
|
+
# gitlab_rails['smtp_enable'] = true
|
407
|
+
# gitlab_rails['smtp_address'] = "smtp.server"
|
408
|
+
# gitlab_rails['smtp_port'] = 465
|
409
|
+
# gitlab_rails['smtp_user_name'] = "smtp user"
|
410
|
+
# gitlab_rails['smtp_password'] = "smtp password"
|
411
|
+
# gitlab_rails['smtp_domain'] = "example.com"
|
412
|
+
# gitlab_rails['smtp_authentication'] = "login"
|
413
|
+
# gitlab_rails['smtp_enable_starttls_auto'] = true
|
414
|
+
# gitlab_rails['smtp_tls'] = false
|
415
|
+
|
416
|
+
###! **Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'**
|
417
|
+
###! Docs: http://api.rubyonrails.org/classes/ActionMailer/Base.html
|
418
|
+
# gitlab_rails['smtp_openssl_verify_mode'] = 'none'
|
419
|
+
|
420
|
+
# gitlab_rails['smtp_ca_path'] = "/etc/ssl/certs"
|
421
|
+
# gitlab_rails['smtp_ca_file'] = "/etc/ssl/certs/ca-certificates.crt"
|
422
|
+
|
423
|
+
################################################################################
|
424
|
+
## Container Registry settings
|
425
|
+
##! Docs: https://docs.gitlab.com/ce/administration/container_registry.html
|
426
|
+
################################################################################
|
427
|
+
|
428
|
+
# registry_external_url 'https://registry.gitlab.example.com'
|
429
|
+
|
430
|
+
### Settings used by GitLab application
|
431
|
+
# gitlab_rails['registry_enabled'] = true
|
432
|
+
# gitlab_rails['registry_host'] = "registry.gitlab.example.com"
|
433
|
+
# gitlab_rails['registry_port'] = "5005"
|
434
|
+
# gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry"
|
435
|
+
|
436
|
+
###! **Do not change the following 3 settings unless you know what you are
|
437
|
+
###! doing**
|
438
|
+
# gitlab_rails['registry_api_url'] = "http://localhost:5000"
|
439
|
+
# gitlab_rails['registry_key_path'] = "/var/opt/gitlab/gitlab-rails/certificate.key"
|
440
|
+
# gitlab_rails['registry_issuer'] = "omnibus-gitlab-issuer"
|
441
|
+
|
442
|
+
### Settings used by Registry application
|
443
|
+
# registry['enable'] = true
|
444
|
+
# registry['username'] = "registry"
|
445
|
+
# registry['group'] = "registry"
|
446
|
+
# registry['uid'] = nil
|
447
|
+
# registry['gid'] = nil
|
448
|
+
# registry['dir'] = "/var/opt/gitlab/registry"
|
449
|
+
# registry['registry_http_addr'] = "localhost:5000"
|
450
|
+
# registry['debug_addr'] = "localhost:5001"
|
451
|
+
# registry['log_directory'] = "/var/log/gitlab/registry"
|
452
|
+
# registry['log_level'] = "info"
|
453
|
+
# registry['rootcertbundle'] = "/var/opt/gitlab/registry/certificate.crt"
|
454
|
+
# registry['storage_delete_enabled'] = true
|
455
|
+
|
456
|
+
### Registry backend storage
|
457
|
+
###! Docs: https://docs.gitlab.com/ce/administration/container_registry.html#container-registry-storage-driver
|
458
|
+
# registry['storage'] = {
|
459
|
+
# 's3' => {
|
460
|
+
# 'accesskey' => 'AKIAKIAKI',
|
461
|
+
# 'secretkey' => 'secret123',
|
462
|
+
# 'bucket' => 'gitlab-registry-bucket-AKIAKIAKI'
|
463
|
+
# }
|
464
|
+
# }
|
465
|
+
|
466
|
+
### Registry notifications endpoints
|
467
|
+
# registry['notifications'] = [
|
468
|
+
# {
|
469
|
+
# 'name' => 'test_endpoint',
|
470
|
+
# 'url' => 'https://gitlab.example.com/notify2',
|
471
|
+
# 'timeout' => '500ms',
|
472
|
+
# 'threshold' => 5,
|
473
|
+
# 'backoff' => '1s',
|
474
|
+
# 'headers' => {
|
475
|
+
# "Authorization" => ["AUTHORIZATION_EXAMPLE_TOKEN"]
|
476
|
+
# }
|
477
|
+
# }
|
478
|
+
# ]
|
479
|
+
### Default registry notifications
|
480
|
+
# registry['default_notifications_timeout'] = "500ms"
|
481
|
+
# registry['default_notifications_threshold'] = 5
|
482
|
+
# registry['default_notifications_backoff'] = "1s"
|
483
|
+
# registry['default_notifications_headers'] = {}
|
484
|
+
|
485
|
+
|
486
|
+
|
487
|
+
################################################################################
|
488
|
+
## GitLab Workhorse
|
489
|
+
##! Docs: https://gitlab.com/gitlab-org/gitlab-workhorse/blob/master/README.md
|
490
|
+
################################################################################
|
491
|
+
|
492
|
+
# gitlab_workhorse['enable'] = true
|
493
|
+
# gitlab_workhorse['ha'] = false
|
494
|
+
# gitlab_workhorse['listen_network'] = "unix"
|
495
|
+
# gitlab_workhorse['listen_umask'] = 000
|
496
|
+
# gitlab_workhorse['listen_addr'] = "/var/opt/gitlab/gitlab-workhorse/socket"
|
497
|
+
# gitlab_workhorse['auth_backend'] = "http://localhost:8080"
|
498
|
+
|
499
|
+
##! the empty string is the default in gitlab-workhorse option parser
|
500
|
+
# gitlab_workhorse['auth_socket'] = "''"
|
501
|
+
|
502
|
+
##! put an empty string on the command line
|
503
|
+
# gitlab_workhorse['pprof_listen_addr'] = "''"
|
504
|
+
|
505
|
+
##! put an empty string on the command line
|
506
|
+
# gitlab_workhorse['prometheus_listen_addr'] = "''"
|
507
|
+
|
508
|
+
# gitlab_workhorse['dir'] = "/var/opt/gitlab/gitlab-workhorse"
|
509
|
+
# gitlab_workhorse['log_directory'] = "/var/log/gitlab/gitlab-workhorse"
|
510
|
+
# gitlab_workhorse['proxy_headers_timeout'] = "1m0s"
|
511
|
+
|
512
|
+
##! limit number of concurrent API requests, defaults to 0 which is unlimited
|
513
|
+
# gitlab_workhorse['api_limit'] = 0
|
514
|
+
|
515
|
+
##! limit number of API requests allowed to be queued, defaults to 0 which
|
516
|
+
##! disables queuing
|
517
|
+
# gitlab_workhorse['api_queue_limit'] = 0
|
518
|
+
|
519
|
+
##! duration after which we timeout requests if they sit too long in the queue
|
520
|
+
# gitlab_workhorse['api_queue_duration'] = "30s"
|
521
|
+
|
522
|
+
##! Long polling duration for job requesting for runners
|
523
|
+
# gitlab_workhorse['api_ci_long_polling_duration'] = "60s"
|
524
|
+
|
525
|
+
# gitlab_workhorse['env'] = {
|
526
|
+
# 'PATH' => "/opt/gitlab/bin:/opt/gitlab/embedded/bin:/bin:/usr/bin"
|
527
|
+
# }
|
528
|
+
|
529
|
+
################################################################################
|
530
|
+
## GitLab User Settings
|
531
|
+
##! Modify default git user.
|
532
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/configuration.html#changing-the-name-of-the-git-user-group
|
533
|
+
################################################################################
|
534
|
+
|
535
|
+
# user['username'] = "git"
|
536
|
+
# user['group'] = "git"
|
537
|
+
# user['uid'] = nil
|
538
|
+
# user['gid'] = nil
|
539
|
+
|
540
|
+
##! The shell for the git user
|
541
|
+
# user['shell'] = "/bin/sh"
|
542
|
+
|
543
|
+
##! The home directory for the git user
|
544
|
+
# user['home'] = "/var/opt/gitlab"
|
545
|
+
|
546
|
+
# user['git_user_name'] = "GitLab"
|
547
|
+
# user['git_user_email'] = "gitlab@#{node['fqdn']}"
|
548
|
+
|
549
|
+
################################################################################
|
550
|
+
## GitLab Unicorn
|
551
|
+
##! Tweak unicorn settings.
|
552
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/unicorn.html
|
553
|
+
################################################################################
|
554
|
+
|
555
|
+
# unicorn['worker_timeout'] = 60
|
556
|
+
###! Minimum worker_processes is 2 at this moment
|
557
|
+
###! See https://gitlab.com/gitlab-org/gitlab-ce/issues/18771
|
558
|
+
# unicorn['worker_processes'] = 2
|
559
|
+
|
560
|
+
### Advanced settings
|
561
|
+
# unicorn['listen'] = '127.0.0.1'
|
562
|
+
# unicorn['port'] = 8080
|
563
|
+
# unicorn['socket'] = '/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket'
|
564
|
+
# unicorn['pidfile'] = '/opt/gitlab/var/unicorn/unicorn.pid'
|
565
|
+
# unicorn['tcp_nopush'] = true
|
566
|
+
# unicorn['backlog_socket'] = 1024
|
567
|
+
|
568
|
+
###! **Make sure somaxconn is equal or higher then backlog_socket**
|
569
|
+
# unicorn['somaxconn'] = 1024
|
570
|
+
|
571
|
+
###! **We do not recommend changing this setting**
|
572
|
+
# unicorn['log_directory'] = "/var/log/gitlab/unicorn"
|
573
|
+
|
574
|
+
### **Only change these settings if you understand well what they mean**
|
575
|
+
###! Docs: https://about.gitlab.com/2015/06/05/how-gitlab-uses-unicorn-and-unicorn-worker-killer/
|
576
|
+
###! https://github.com/kzk/unicorn-worker-killer
|
577
|
+
# unicorn['worker_memory_limit_min'] = "400 * 1 << 20"
|
578
|
+
# unicorn['worker_memory_limit_max'] = "650 * 1 << 20"
|
579
|
+
|
580
|
+
################################################################################
|
581
|
+
## GitLab Sidekiq
|
582
|
+
################################################################################
|
583
|
+
|
584
|
+
# sidekiq['log_directory'] = "/var/log/gitlab/sidekiq"
|
585
|
+
# sidekiq['shutdown_timeout'] = 4
|
586
|
+
# sidekiq['concurrency'] = 25
|
587
|
+
|
588
|
+
################################################################################
|
589
|
+
## gitlab-shell
|
590
|
+
################################################################################
|
591
|
+
|
592
|
+
# gitlab_shell['audit_usernames'] = false
|
593
|
+
# gitlab_shell['log_level'] = 'INFO'
|
594
|
+
# gitlab_shell['http_settings'] = { user: 'username', password: 'password', ca_file: '/etc/ssl/cert.pem', ca_path: '/etc/pki/tls/certs', self_signed_cert: false}
|
595
|
+
# gitlab_shell['log_directory'] = "/var/log/gitlab/gitlab-shell/"
|
596
|
+
# gitlab_shell['custom_hooks_dir'] = "/opt/gitlab/embedded/service/gitlab-shell/hooks"
|
597
|
+
|
598
|
+
# gitlab_shell['auth_file'] = "/var/opt/gitlab/.ssh/authorized_keys"
|
599
|
+
|
600
|
+
### Git trace log file.
|
601
|
+
###! If set, git commands receive GIT_TRACE* environment variables
|
602
|
+
###! Docs: https://git-scm.com/book/es/v2/Git-Internals-Environment-Variables#Debugging
|
603
|
+
###! An absolute path starting with / – the trace output will be appended to
|
604
|
+
###! that file. It needs to exist so we can check permissions and avoid
|
605
|
+
###! throwing warnings to the users.
|
606
|
+
# gitlab_shell['git_trace_log_file'] = "/var/log/gitlab/gitlab-shell/gitlab-shell-git-trace.log"
|
607
|
+
|
608
|
+
##! **We do not recommend changing this directory.**
|
609
|
+
# gitlab_shell['dir'] = "/var/opt/gitlab/gitlab-shell"
|
610
|
+
|
611
|
+
################################################################
|
612
|
+
## GitLab PostgreSQL
|
613
|
+
################################################################
|
614
|
+
|
615
|
+
###! Changing any of these settings requires a restart of postgresql.
|
616
|
+
###! By default, reconfigure reloads postgresql if it is running. If you
|
617
|
+
###! change any of these settings, be sure to run `gitlab-ctl restart postgresql`
|
618
|
+
###! after reconfigure in order for the changes to take effect.
|
619
|
+
# postgresql['enable'] = true
|
620
|
+
# postgresql['listen_address'] = nil
|
621
|
+
# postgresql['port'] = 5432
|
622
|
+
# postgresql['data_dir'] = "/var/opt/gitlab/postgresql/data"
|
623
|
+
|
624
|
+
##! **recommend value is 1/4 of total RAM, up to 14GB.**
|
625
|
+
# postgresql['shared_buffers'] = "256MB"
|
626
|
+
|
627
|
+
### Advanced settings
|
628
|
+
# postgresql['ha'] = false
|
629
|
+
# postgresql['dir'] = "/var/opt/gitlab/postgresql"
|
630
|
+
# postgresql['log_directory'] = "/var/log/gitlab/postgresql"
|
631
|
+
# postgresql['username'] = "gitlab-psql"
|
632
|
+
# postgresql['uid'] = nil
|
633
|
+
# postgresql['gid'] = nil
|
634
|
+
# postgresql['shell'] = "/bin/sh"
|
635
|
+
# postgresql['home'] = "/var/opt/gitlab/postgresql"
|
636
|
+
# postgresql['user_path'] = "/opt/gitlab/embedded/bin:/opt/gitlab/bin:$PATH"
|
637
|
+
# postgresql['sql_user'] = "gitlab"
|
638
|
+
# postgresql['max_connections'] = 200
|
639
|
+
# postgresql['md5_auth_cidr_addresses'] = []
|
640
|
+
# postgresql['trust_auth_cidr_addresses'] = []
|
641
|
+
# postgresql['wal_buffers'] = "-1"
|
642
|
+
# postgresql['autovacuum_max_workers'] = "3"
|
643
|
+
# postgresql['autovacuum_freeze_max_age'] = "200000000"
|
644
|
+
# postgresql['track_activity_query_size'] = "1024"
|
645
|
+
# postgresql['shared_preload_libraries'] = nil
|
646
|
+
# postgresql['dynamic_shared_memory_type'] = nil
|
647
|
+
# postgresql['hot_standby'] = "off"
|
648
|
+
|
649
|
+
### Replication settings
|
650
|
+
###! Note, some replication settings do not require a full restart. They are documented below.
|
651
|
+
# postgresql['wal_level'] = "hot_standby"
|
652
|
+
# postgresql['max_wal_senders'] = 5
|
653
|
+
# postgresql['max_replication_slots'] = 0
|
654
|
+
# postgresql['max_locks_per_transaction'] = 128
|
655
|
+
|
656
|
+
# Backup/Archive settings
|
657
|
+
# default['gitlab']['postgresql']['archive_mode'] = "off"
|
658
|
+
|
659
|
+
###! Changing any of these settings only requires a reload of postgresql. You do not need to
|
660
|
+
###! restart postgresql if you change any of these and run reconfigure.
|
661
|
+
# postgresql['work_mem'] = "16MB"
|
662
|
+
# postgresql['maintenance_work_mem'] = "16MB"
|
663
|
+
# postgresql['checkpoint_segments'] = 10
|
664
|
+
# postgresql['checkpoint_timeout'] = "5min"
|
665
|
+
# postgresql['checkpoint_completion_target'] = 0.9
|
666
|
+
# postgresql['checkpoint_warning'] = "30s"
|
667
|
+
# postgresql['effective_cache_size'] = "1MB"
|
668
|
+
# postgresql['shmmax'] = 17179869184 # or 4294967295
|
669
|
+
# postgresql['shmall'] = 4194304 # or 1048575
|
670
|
+
# postgresql['autovacuum'] = "on"
|
671
|
+
# postgresql['log_autovacuum_min_duration'] = "-1"
|
672
|
+
# postgresql['autovacuum_naptime'] = "1min"
|
673
|
+
# postgresql['autovacuum_vacuum_threshold'] = "50"
|
674
|
+
# postgresql['autovacuum_analyze_threshold'] = "50"
|
675
|
+
# postgresql['autovacuum_vacuum_scale_factor'] = "0.02"
|
676
|
+
# postgresql['autovacuum_analyze_scale_factor'] = "0.01"
|
677
|
+
# postgresql['autovacuum_vacuum_cost_delay'] = "20ms"
|
678
|
+
# postgresql['autovacuum_vacuum_cost_limit'] = "-1"
|
679
|
+
# postgresql['statement_timeout'] = "60000"
|
680
|
+
# postgresql['idle_in_transaction_session_timeout'] = "60000"
|
681
|
+
# postgresql['log_line_prefix'] = "%a"
|
682
|
+
|
683
|
+
### Available in PostgreSQL 9.6 and later
|
684
|
+
# postgresql['min_wal_size'] = 80MB
|
685
|
+
# postgresql['max_wal_size'] = 1GB
|
686
|
+
|
687
|
+
# Backup/Archive settings
|
688
|
+
# default['gitlab']['postgresql']['archive_command'] = nil
|
689
|
+
# default['gitlab']['postgresql']['archive_timeout'] = "60"
|
690
|
+
|
691
|
+
### Replication settings
|
692
|
+
# postgresql['sql_replication_user'] = "gitlab_replicator"
|
693
|
+
# postgresql['wal_keep_segments'] = 10
|
694
|
+
# postgresql['max_standby_archive_delay'] = "30s"
|
695
|
+
# postgresql['max_standby_streaming_delay'] = "30s"
|
696
|
+
# postgresql['synchronous_commit'] = on
|
697
|
+
# postgresql['synchronous_standby_names'] = ''
|
698
|
+
# postgresql['hot_standby_feedback'] = 'off'
|
699
|
+
# postgresql['random_page_cost'] = 2.0
|
700
|
+
# postgresql['log_temp_files'] = -1
|
701
|
+
# postgresql['log_checkpoints'] = 'off'
|
702
|
+
# To add custom entries to pg_hba.conf use the following
|
703
|
+
# postgresql['custom_pg_hba_entries'] = {
|
704
|
+
# APPLICATION: { # APPLICATION should identify what the settings are used for
|
705
|
+
# type: example,
|
706
|
+
# database: example,
|
707
|
+
# user: example,
|
708
|
+
# cidr: example,
|
709
|
+
# method: example,
|
710
|
+
# option: exmple
|
711
|
+
# }
|
712
|
+
# }
|
713
|
+
# See https://www.postgresql.org/docs/9.6/static/auth-pg-hba-conf.html for an explanation
|
714
|
+
# of the values
|
715
|
+
|
716
|
+
|
717
|
+
################################################################################
|
718
|
+
## GitLab Redis
|
719
|
+
##! **Can be disabled if you are using your own Redis instance.**
|
720
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/redis.html
|
721
|
+
################################################################################
|
722
|
+
|
723
|
+
# redis['enable'] = true
|
724
|
+
# redis['username'] = "gitlab-redis"
|
725
|
+
# redis['maxclients'] = "10000"
|
726
|
+
# redis['tcp_timeout'] = "60"
|
727
|
+
# redis['tcp_keepalive'] = "300"
|
728
|
+
# redis['uid'] = nil
|
729
|
+
# redis['gid'] = nil
|
730
|
+
|
731
|
+
###! **To enable only Redis service in this machine, uncomment
|
732
|
+
###! one of the lines below (choose master or slave instance types).**
|
733
|
+
###! Docs: https://docs.gitlab.com/omnibus/settings/redis.html
|
734
|
+
###! https://docs.gitlab.com/ce/administration/high_availability/redis.html
|
735
|
+
# redis_master_role['enable'] = true
|
736
|
+
# redis_slave_role['enable'] = true
|
737
|
+
|
738
|
+
### Redis TCP support (will disable UNIX socket transport)
|
739
|
+
# redis['bind'] = '0.0.0.0' # or specify an IP to bind to a single one
|
740
|
+
# redis['port'] = 6379
|
741
|
+
# redis['password'] = 'redis-password-goes-here'
|
742
|
+
|
743
|
+
### Redis Sentinel support
|
744
|
+
###! **You need a master slave Redis replication to be able to do failover**
|
745
|
+
###! **Please read the documentation before enabling it to understand the
|
746
|
+
###! caveats:**
|
747
|
+
###! Docs: https://docs.gitlab.com/ce/administration/high_availability/redis.html
|
748
|
+
|
749
|
+
### Replication support
|
750
|
+
#### Slave Redis instance
|
751
|
+
# redis['master'] = false # by default this is true
|
752
|
+
|
753
|
+
#### Slave and Sentinel shared configuration
|
754
|
+
####! **Both need to point to the master Redis instance to get replication and
|
755
|
+
####! heartbeat monitoring**
|
756
|
+
# redis['master_name'] = 'gitlab-redis'
|
757
|
+
# redis['master_ip'] = nil
|
758
|
+
# redis['master_port'] = 6379
|
759
|
+
|
760
|
+
####! **Master password should have the same value defined in
|
761
|
+
####! redis['password'] to enable the instance to transition to/from
|
762
|
+
####! master/slave in a failover event.**
|
763
|
+
# redis['master_password'] = 'redis-password-goes-here'
|
764
|
+
|
765
|
+
####! Increase these values when your slaves can't catch up with master
|
766
|
+
# redis['client_output_buffer_limit_normal'] = '0 0 0'
|
767
|
+
# redis['client_output_buffer_limit_slave'] = '256mb 64mb 60'
|
768
|
+
# redis['client_output_buffer_limit_pubsub'] = '32mb 8mb 60'
|
769
|
+
|
770
|
+
################################################################################
|
771
|
+
## GitLab Web server
|
772
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html#using-a-non-bundled-web-server
|
773
|
+
################################################################################
|
774
|
+
|
775
|
+
##! When bundled nginx is disabled we need to add the external webserver user to
|
776
|
+
##! the GitLab webserver group.
|
777
|
+
# web_server['external_users'] = []
|
778
|
+
# web_server['username'] = 'gitlab-www'
|
779
|
+
# web_server['group'] = 'gitlab-www'
|
780
|
+
# web_server['uid'] = nil
|
781
|
+
# web_server['gid'] = nil
|
782
|
+
# web_server['shell'] = '/bin/false'
|
783
|
+
# web_server['home'] = '/var/opt/gitlab/nginx'
|
784
|
+
|
785
|
+
################################################################################
|
786
|
+
## GitLab NGINX
|
787
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html
|
788
|
+
################################################################################
|
789
|
+
|
790
|
+
# nginx['enable'] = true
|
791
|
+
# nginx['client_max_body_size'] = '250m'
|
792
|
+
# nginx['redirect_http_to_https'] = false
|
793
|
+
# nginx['redirect_http_to_https_port'] = 80
|
794
|
+
|
795
|
+
##! Most root CA's are included by default
|
796
|
+
# nginx['ssl_client_certificate'] = "/etc/gitlab/ssl/ca.crt"
|
797
|
+
|
798
|
+
##! enable/disable 2-way SSL client authentication
|
799
|
+
# nginx['ssl_verify_client'] = "off"
|
800
|
+
|
801
|
+
##! if ssl_verify_client on, verification depth in the client certificates chain
|
802
|
+
# nginx['ssl_verify_depth'] = "1"
|
803
|
+
|
804
|
+
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
|
805
|
+
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
|
806
|
+
# nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
|
807
|
+
# nginx['ssl_prefer_server_ciphers'] = "on"
|
808
|
+
|
809
|
+
##! **Recommended by: https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
|
810
|
+
##! https://cipherli.st/**
|
811
|
+
# nginx['ssl_protocols'] = "TLSv1 TLSv1.1 TLSv1.2"
|
812
|
+
|
813
|
+
##! **Recommended in: https://nginx.org/en/docs/http/ngx_http_ssl_module.html**
|
814
|
+
# nginx['ssl_session_cache'] = "builtin:1000 shared:SSL:10m"
|
815
|
+
|
816
|
+
##! **Default according to https://nginx.org/en/docs/http/ngx_http_ssl_module.html**
|
817
|
+
# nginx['ssl_session_timeout'] = "5m"
|
818
|
+
|
819
|
+
# nginx['ssl_dhparam'] = nil # Path to dhparams.pem, eg. /etc/gitlab/ssl/dhparams.pem
|
820
|
+
# nginx['listen_addresses'] = ['*', '[::]']
|
821
|
+
|
822
|
+
##! **Defaults to forcing web browsers to always communicate using only HTTPS**
|
823
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html#setting-http-strict-transport-security
|
824
|
+
# nginx['hsts_max_age'] = 31536000
|
825
|
+
# nginx['hsts_include_subdomains'] = false
|
826
|
+
|
827
|
+
##! **Override only if you use a reverse proxy**
|
828
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html#setting-the-nginx-listen-port
|
829
|
+
# nginx['listen_port'] = nil
|
830
|
+
|
831
|
+
##! **Override only if your reverse proxy internally communicates over HTTP**
|
832
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html#supporting-proxied-ssl
|
833
|
+
# nginx['listen_https'] = nil
|
834
|
+
|
835
|
+
# nginx['custom_gitlab_server_config'] = "location ^~ /foo-namespace/bar-project/raw/ {\n deny all;\n}\n"
|
836
|
+
# nginx['custom_nginx_config'] = "include /etc/nginx/conf.d/example.conf;"
|
837
|
+
# nginx['proxy_read_timeout'] = 3600
|
838
|
+
# nginx['proxy_connect_timeout'] = 300
|
839
|
+
# nginx['proxy_set_headers'] = {
|
840
|
+
# "Host" => "$http_host_with_default",
|
841
|
+
# "X-Real-IP" => "$remote_addr",
|
842
|
+
# "X-Forwarded-For" => "$proxy_add_x_forwarded_for",
|
843
|
+
# "X-Forwarded-Proto" => "https",
|
844
|
+
# "X-Forwarded-Ssl" => "on",
|
845
|
+
# "Upgrade" => "$http_upgrade",
|
846
|
+
# "Connection" => "$connection_upgrade"
|
847
|
+
# }
|
848
|
+
# nginx['proxy_cache_path'] = 'proxy_cache keys_zone=gitlab:10m max_size=1g levels=1:2'
|
849
|
+
# nginx['proxy_cache'] = 'gitlab'
|
850
|
+
# nginx['http2_enabled'] = true
|
851
|
+
# nginx['real_ip_trusted_addresses'] = []
|
852
|
+
# nginx['real_ip_header'] = nil
|
853
|
+
# nginx['real_ip_recursive'] = nil
|
854
|
+
# nginx['custom_error_pages'] = {
|
855
|
+
# '404' => {
|
856
|
+
# 'title' => 'Example title',
|
857
|
+
# 'header' => 'Example header',
|
858
|
+
# 'message' => 'Example message'
|
859
|
+
# }
|
860
|
+
# }
|
861
|
+
|
862
|
+
### Advanced settings
|
863
|
+
# nginx['dir'] = "/var/opt/gitlab/nginx"
|
864
|
+
# nginx['log_directory'] = "/var/log/gitlab/nginx"
|
865
|
+
# nginx['worker_processes'] = 4
|
866
|
+
# nginx['worker_connections'] = 10240
|
867
|
+
# nginx['log_format'] = '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'
|
868
|
+
# nginx['sendfile'] = 'on'
|
869
|
+
# nginx['tcp_nopush'] = 'on'
|
870
|
+
# nginx['tcp_nodelay'] = 'on'
|
871
|
+
# nginx['gzip'] = "on"
|
872
|
+
# nginx['gzip_http_version'] = "1.0"
|
873
|
+
# nginx['gzip_comp_level'] = "2"
|
874
|
+
# nginx['gzip_proxied'] = "any"
|
875
|
+
# nginx['gzip_types'] = [ "text/plain", "text/css", "application/x-javascript", "text/xml", "application/xml", "application/xml+rss", "text/javascript", "application/json" ]
|
876
|
+
# nginx['keepalive_timeout'] = 65
|
877
|
+
# nginx['cache_max_size'] = '5000m'
|
878
|
+
# nginx['server_names_hash_bucket_size'] = 64
|
879
|
+
|
880
|
+
### Nginx status
|
881
|
+
# nginx['status'] = {
|
882
|
+
# "enable" => true,
|
883
|
+
# "listen_addresses" => ["127.0.0.1"],
|
884
|
+
# "fqdn" => "dev.example.com",
|
885
|
+
# "port" => 9999,
|
886
|
+
# "options" => {
|
887
|
+
# "stub_status" => "on", # Turn on stats
|
888
|
+
# "server_tokens" => "off", # Don't show the version of NGINX
|
889
|
+
# "access_log" => "off", # Disable logs for stats
|
890
|
+
# "allow" => "127.0.0.1", # Only allow access from localhost
|
891
|
+
# "deny" => "all" # Deny access to anyone else
|
892
|
+
# }
|
893
|
+
# }
|
894
|
+
|
895
|
+
################################################################################
|
896
|
+
## GitLab Logging
|
897
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/logs.html
|
898
|
+
################################################################################
|
899
|
+
|
900
|
+
# logging['svlogd_size'] = 200 * 1024 * 1024 # rotate after 200 MB of log data
|
901
|
+
# logging['svlogd_num'] = 30 # keep 30 rotated log files
|
902
|
+
# logging['svlogd_timeout'] = 24 * 60 * 60 # rotate after 24 hours
|
903
|
+
# logging['svlogd_filter'] = "gzip" # compress logs with gzip
|
904
|
+
# logging['svlogd_udp'] = nil # transmit log messages via UDP
|
905
|
+
# logging['svlogd_prefix'] = nil # custom prefix for log messages
|
906
|
+
# logging['logrotate_frequency'] = "daily" # rotate logs daily
|
907
|
+
# logging['logrotate_size'] = nil # do not rotate by size by default
|
908
|
+
# logging['logrotate_rotate'] = 30 # keep 30 rotated logs
|
909
|
+
# logging['logrotate_compress'] = "compress" # see 'man logrotate'
|
910
|
+
# logging['logrotate_method'] = "copytruncate" # see 'man logrotate'
|
911
|
+
# logging['logrotate_postrotate'] = nil # no postrotate command by default
|
912
|
+
# logging['logrotate_dateformat'] = nil # use date extensions for rotated files rather than numbers e.g. a value of "-%Y-%m-%d" would give rotated files like production.log-2016-03-09.gz
|
913
|
+
|
914
|
+
### UDP log forwarding
|
915
|
+
##! Docs: http://docs.gitlab.com/omnibus/settings/logs.html#udp-log-forwarding
|
916
|
+
|
917
|
+
##! remote host to ship log messages to via UDP
|
918
|
+
# logging['udp_log_shipping_host'] = nil
|
919
|
+
|
920
|
+
##! remote port to ship log messages to via UDP
|
921
|
+
# logging['udp_log_shipping_port'] = 514
|
922
|
+
|
923
|
+
################################################################################
|
924
|
+
## Logrotate
|
925
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/logs.html#logrotate
|
926
|
+
##! You can disable built in logrotate feature.
|
927
|
+
################################################################################
|
928
|
+
# logrotate['enable'] = true
|
929
|
+
|
930
|
+
################################################################################
|
931
|
+
## Users and groups accounts
|
932
|
+
##! Disable management of users and groups accounts.
|
933
|
+
##! **Set only if creating accounts manually**
|
934
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/configuration.html#disable-user-and-group-account-management
|
935
|
+
################################################################################
|
936
|
+
|
937
|
+
# manage_accounts['enable'] = false
|
938
|
+
|
939
|
+
################################################################################
|
940
|
+
## Storage directories
|
941
|
+
##! Disable managing storage directories
|
942
|
+
##! Docs: https://docs.gitlab.com/omnibus/settings/configuration.html#disable-storage-directories-management
|
943
|
+
################################################################################
|
944
|
+
|
945
|
+
##! **Set only if the select directories are created manually**
|
946
|
+
# manage_storage_directories['enable'] = false
|
947
|
+
# manage_storage_directories['manage_etc'] = false
|
948
|
+
|
949
|
+
################################################################################
|
950
|
+
## Runtime directory
|
951
|
+
##! Docs: https://docs.gitlab.com//omnibus/settings/configuration.html#configuring-runtime-directory
|
952
|
+
################################################################################
|
953
|
+
|
954
|
+
# runtime_dir '/run'
|
955
|
+
|
956
|
+
################################################################################
|
957
|
+
## Git
|
958
|
+
##! Advanced setting for configuring git system settings for omnibus-gitlab
|
959
|
+
##! internal git
|
960
|
+
################################################################################
|
961
|
+
|
962
|
+
##! For multiple options under one header use array of comma separated values,
|
963
|
+
##! eg.:
|
964
|
+
##! { "receive" => ["fsckObjects = true"], "alias" => ["st = status", "co = checkout"] }
|
965
|
+
|
966
|
+
# omnibus_gitconfig['system'] = {
|
967
|
+
# "pack" => ["threads = 1"],
|
968
|
+
# "receive" => ["fsckObjects = true"],
|
969
|
+
# "repack" => ["writeBitmaps = true"],
|
970
|
+
# "transfer" => ["hideRefs=^refs/tmp/", "hideRefs=^refs/keep-around/"],
|
971
|
+
# }
|
972
|
+
|
973
|
+
################################################################################
|
974
|
+
## GitLab Pages
|
975
|
+
##! Docs: https://docs.gitlab.com/ce/pages/administration.html
|
976
|
+
################################################################################
|
977
|
+
|
978
|
+
##! Define to enable GitLab Pages
|
979
|
+
# pages_external_url "http://pages.example.com/"
|
980
|
+
# gitlab_pages['enable'] = false
|
981
|
+
|
982
|
+
##! Configure to expose GitLab Pages on external IP address, serving the HTTP
|
983
|
+
# gitlab_pages['external_http'] = []
|
984
|
+
|
985
|
+
##! Configure to expose GitLab Pages on external IP address, serving the HTTPS
|
986
|
+
# gitlab_pages['external_https'] = []
|
987
|
+
|
988
|
+
# gitlab_pages['listen_proxy'] = "localhost:8090"
|
989
|
+
# gitlab_pages['redirect_http'] = true
|
990
|
+
# gitlab_pages['use_http2'] = true
|
991
|
+
# gitlab_pages['dir'] = "/var/opt/gitlab/gitlab-pages"
|
992
|
+
# gitlab_pages['log_directory'] = "/var/log/gitlab/gitlab-pages"
|
993
|
+
|
994
|
+
##! Prometheus metrics for Pages docs: https://gitlab.com/gitlab-org/gitlab-pages/#enable-prometheus-metrics
|
995
|
+
# gitlab_pages['metrics_address'] = ":9235"
|
996
|
+
|
997
|
+
################################################################################
|
998
|
+
## GitLab Pages NGINX
|
999
|
+
################################################################################
|
1000
|
+
|
1001
|
+
# All the settings defined in the "GitLab Nginx" section are also available in this "GitLab Pages NGINX" section
|
1002
|
+
# You just have to change the key "nginx['some_settings']" with "pages_nginx['some_settings']"
|
1003
|
+
|
1004
|
+
# Below you can find settings that are exclusive to "GitLab Pages NGINX"
|
1005
|
+
# pages_nginx['enable'] = false
|
1006
|
+
|
1007
|
+
# gitlab_rails['pages_path'] = "/mnt/storage/pages"
|
1008
|
+
|
1009
|
+
################################################################################
|
1010
|
+
## GitLab CI
|
1011
|
+
##! Docs: https://docs.gitlab.com/ce/ci/quick_start/README.html
|
1012
|
+
################################################################################
|
1013
|
+
|
1014
|
+
# gitlab_ci['gitlab_ci_all_broken_builds'] = true
|
1015
|
+
# gitlab_ci['gitlab_ci_add_pusher'] = true
|
1016
|
+
# gitlab_ci['builds_directory'] = '/var/opt/gitlab/gitlab-ci/builds'
|
1017
|
+
|
1018
|
+
################################################################################
|
1019
|
+
## GitLab Mattermost
|
1020
|
+
##! Docs: https://docs.gitlab.com/omnibus/gitlab-mattermost
|
1021
|
+
################################################################################
|
1022
|
+
|
1023
|
+
# mattermost_external_url 'http://mattermost.example.com'
|
1024
|
+
|
1025
|
+
# mattermost['enable'] = false
|
1026
|
+
# mattermost['username'] = 'mattermost'
|
1027
|
+
# mattermost['group'] = 'mattermost'
|
1028
|
+
# mattermost['uid'] = nil
|
1029
|
+
# mattermost['gid'] = nil
|
1030
|
+
# mattermost['home'] = '/var/opt/gitlab/mattermost'
|
1031
|
+
# mattermost['database_name'] = 'mattermost_production'
|
1032
|
+
|
1033
|
+
# mattermost['service_use_ssl'] = false
|
1034
|
+
# mattermost['service_address'] = "127.0.0.1"
|
1035
|
+
# mattermost['service_port'] = "8065"
|
1036
|
+
# mattermost['service_site_url'] = nil
|
1037
|
+
# mattermost['service_maximum_login_attempts'] = 10
|
1038
|
+
# mattermost['service_google_developer_key'] = nil
|
1039
|
+
# mattermost['service_enable_incoming_webhooks'] = true
|
1040
|
+
# mattermost['service_enable_post_username_override'] = true
|
1041
|
+
# mattermost['service_enable_post_icon_override'] = true
|
1042
|
+
# mattermost['service_enable_testing'] = false
|
1043
|
+
# mattermost['service_enable_security_fix_alert'] = true
|
1044
|
+
# mattermost['service_enable_insecure_outgoing_connections'] = false
|
1045
|
+
# mattermost['service_allow_cors_from'] = ""
|
1046
|
+
# mattermost['service_enable_outgoing_webhooks'] = true
|
1047
|
+
# mattermost['service_enable_commands'] = true
|
1048
|
+
# mattermost['service_enable_custom_emoji'] = false
|
1049
|
+
# mattermost['service_enable_only_admin_integrations'] = true
|
1050
|
+
# mattermost['service_enable_oauth_service_provider'] = false
|
1051
|
+
# mattermost['service_enable_developer'] = false
|
1052
|
+
# mattermost['service_session_length_web_in_days'] = 30
|
1053
|
+
# mattermost['service_session_length_mobile_in_days'] = 30
|
1054
|
+
# mattermost['service_session_length_sso_in_days'] = 30
|
1055
|
+
# mattermost['service_session_cache_in_minutes'] = 10
|
1056
|
+
# mattermost['service_connection_security'] = nil
|
1057
|
+
# mattermost['service_tls_cert_file'] = nil
|
1058
|
+
# mattermost['service_tls_key_file'] = nil
|
1059
|
+
# mattermost['service_use_lets_encrypt'] = false
|
1060
|
+
# mattermost['service_lets_encrypt_cert_cache_file'] = "./config/letsencrypt.cache"
|
1061
|
+
# mattermost['service_forward_80_to_443'] = false
|
1062
|
+
# mattermost['service_read_timeout'] = 300
|
1063
|
+
# mattermost['service_write_timeout'] = 300
|
1064
|
+
# mattermost['service_time_between_user_typing_updates_milliseconds'] = 5000
|
1065
|
+
# mattermost['service_enable_link_previews'] = false
|
1066
|
+
# mattermost['service_enable_user_typing_messages'] = true
|
1067
|
+
# mattermost['service_enable_post_search'] = true
|
1068
|
+
# mattermost['service_enable_user_statuses'] = true
|
1069
|
+
# mattermost['service_enable_emoji_picker'] = true
|
1070
|
+
# mattermost['service_enable_channel_viewed_messages'] = true
|
1071
|
+
# mattermost['service_enable_apiv3'] = true
|
1072
|
+
# mattermost['service_goroutine_health_threshold'] = -1
|
1073
|
+
# mattermost['service_user_access_tokens'] = false
|
1074
|
+
|
1075
|
+
# mattermost['team_site_name'] = "GitLab Mattermost"
|
1076
|
+
# mattermost['team_max_users_per_team'] = 150
|
1077
|
+
# mattermost['team_enable_team_creation'] = true
|
1078
|
+
# mattermost['team_enable_user_creation'] = true
|
1079
|
+
# mattermost['team_enable_open_server'] = false
|
1080
|
+
# mattermost['team_allow_public_link'] = true
|
1081
|
+
# mattermost['team_allow_valet_default'] = false
|
1082
|
+
# mattermost['team_restrict_creation_to_domains'] = "gmail.com"
|
1083
|
+
# mattermost['team_restrict_team_names'] = true
|
1084
|
+
# mattermost['team_restrict_direct_message'] = "any"
|
1085
|
+
# mattermost['team_max_channels_per_team'] = 2000
|
1086
|
+
# mattermost['team_user_status_away_timeout'] = 300
|
1087
|
+
# mattermost['team_teammate_name_display'] = "full_name"
|
1088
|
+
|
1089
|
+
# mattermost['sql_driver_name'] = 'mysql'
|
1090
|
+
# mattermost['sql_data_source'] = "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8"
|
1091
|
+
# mattermost['sql_data_source_replicas'] = ["mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8"]
|
1092
|
+
# mattermost['sql_max_idle_conns'] = 10
|
1093
|
+
# mattermost['sql_max_open_conns'] = 10
|
1094
|
+
# mattermost['sql_trace'] = false
|
1095
|
+
# mattermost['sql_data_source_search_replicas'] = []
|
1096
|
+
# mattermost['sql_query_timeout'] = 30
|
1097
|
+
|
1098
|
+
|
1099
|
+
# mattermost['log_file_directory'] = '/var/log/gitlab/mattermost/'
|
1100
|
+
# mattermost['log_console_enable'] = true
|
1101
|
+
# mattermost['log_console_level'] = 'INFO'
|
1102
|
+
# mattermost['log_enable_file'] = false
|
1103
|
+
# mattermost['log_file_level'] = 'INFO'
|
1104
|
+
# mattermost['log_file_format'] = nil
|
1105
|
+
# mattermost['log_enable_diagnostics'] = true
|
1106
|
+
|
1107
|
+
# mattermost['gitlab_enable'] = false
|
1108
|
+
# mattermost['gitlab_id'] = "12345656"
|
1109
|
+
# mattermost['gitlab_secret'] = "123456789"
|
1110
|
+
# mattermost['gitlab_scope'] = ""
|
1111
|
+
# mattermost['gitlab_auth_endpoint'] = "http://gitlab.example.com/oauth/authorize"
|
1112
|
+
# mattermost['gitlab_token_endpoint'] = "http://gitlab.example.com/oauth/token"
|
1113
|
+
# mattermost['gitlab_user_api_endpoint'] = "http://gitlab.example.com/api/v4/user"
|
1114
|
+
|
1115
|
+
# mattermost['aws'] = {'S3AccessKeyId' => '123', 'S3SecretAccessKey' => '123', 'S3Bucket' => 'aa', 'S3Region' => 'bb'}
|
1116
|
+
|
1117
|
+
# mattermost['email_enable_sign_up_with_email'] = true
|
1118
|
+
# mattermost['email_enable_sign_in_with_email'] = true
|
1119
|
+
# mattermost['email_enable_sign_in_with_username'] = false
|
1120
|
+
# mattermost['email_send_email_notifications'] = false
|
1121
|
+
# mattermost['email_require_email_verification'] = false
|
1122
|
+
# mattermost['email_smtp_username'] = nil
|
1123
|
+
# mattermost['email_smtp_password'] = nil
|
1124
|
+
# mattermost['email_smtp_server'] = nil
|
1125
|
+
# mattermost['email_smtp_port'] = nil
|
1126
|
+
# mattermost['email_connection_security'] = nil
|
1127
|
+
# mattermost['email_feedback_name'] = nil
|
1128
|
+
# mattermost['email_feedback_email'] = nil
|
1129
|
+
# mattermost['email_feedback_organization'] = nil
|
1130
|
+
# mattermost['email_send_push_notifications'] = true
|
1131
|
+
# mattermost['email_push_notification_server'] = ""
|
1132
|
+
# mattermost['email_push_notification_contents'] = "generic"
|
1133
|
+
# mattermost['email_enable_batching'] = false
|
1134
|
+
# mattermost['email_batching_buffer_size'] = 256
|
1135
|
+
# mattermost['email_batching_interval'] = 30
|
1136
|
+
# mattermost['email_skip_server_certificate_verification'] = false
|
1137
|
+
# mattermost['email_smtp_auth'] = false
|
1138
|
+
# mattermost['email_notification_content_type'] = "full"
|
1139
|
+
|
1140
|
+
# mattermost['file_max_file_size'] = 52428800
|
1141
|
+
# mattermost['file_driver_name'] = "local"
|
1142
|
+
# mattermost['file_directory'] = "/var/opt/gitlab/mattermost/data"
|
1143
|
+
# mattermost['file_enable_public_link'] = true
|
1144
|
+
# mattermost['file_initial_font'] = 'luximbi.ttf'
|
1145
|
+
# mattermost['file_amazon_s3_access_key_id'] = nil
|
1146
|
+
# mattermost['file_amazon_s3_bucket'] = nil
|
1147
|
+
# mattermost['file_amazon_s3_secret_access_key'] = nil
|
1148
|
+
# mattermost['file_amazon_s3_region'] = nil
|
1149
|
+
# mattermost["file_amazon_s3_endpoint"] = nil
|
1150
|
+
# mattermost["file_amazon_s3_bucket_endpoint"] = nil
|
1151
|
+
# mattermost["file_amazon_s3_location_constraint"] = false
|
1152
|
+
# mattermost["file_amazon_s3_lowercase_bucket"] = false
|
1153
|
+
# mattermost["file_amazon_s3_ssl"] = true
|
1154
|
+
# mattermost["file_amazon_s3_sign_v2"] = false
|
1155
|
+
# mattermost['file_enable_file_attachments'] = true
|
1156
|
+
|
1157
|
+
# mattermost['ratelimit_enable_rate_limiter'] = false
|
1158
|
+
# mattermost['ratelimit_per_sec'] = 10
|
1159
|
+
# mattermost['ratelimit_memory_store_size'] = 10000
|
1160
|
+
# mattermost['ratelimit_vary_by_remote_addr'] = true
|
1161
|
+
# mattermost['ratelimit_vary_by_header'] = nil
|
1162
|
+
# mattermost['ratelimit_max_burst'] = 100
|
1163
|
+
|
1164
|
+
# mattermost['support_terms_of_service_link'] = "/static/help/terms.html"
|
1165
|
+
# mattermost['support_privacy_policy_link'] = "/static/help/privacy.html"
|
1166
|
+
# mattermost['support_about_link'] = "/static/help/about.html"
|
1167
|
+
# mattermost['support_report_a_problem_link'] = "/static/help/report_problem.html"
|
1168
|
+
# mattermost['support_email'] = "support@example.com"
|
1169
|
+
|
1170
|
+
# mattermost['privacy_show_email_address'] = true
|
1171
|
+
# mattermost['privacy_show_full_name'] = true
|
1172
|
+
|
1173
|
+
# mattermost['localization_server_locale'] = "en"
|
1174
|
+
# mattermost['localization_client_locale'] = "en"
|
1175
|
+
# mattermost['localization_available_locales'] = "en,es,fr,ja,pt-BR"
|
1176
|
+
|
1177
|
+
# mattermost['webrtc_enable'] = false
|
1178
|
+
# mattermost['webrtc_gateway_websocket_url'] = nil
|
1179
|
+
# mattermost['webrtc_gateway_admin_url'] = nil
|
1180
|
+
# mattermost['webrtc_gateway_admin_secret'] = nil
|
1181
|
+
# mattermost['webrtc_gateway_stun_uri'] = nil
|
1182
|
+
# mattermost['webrtc_gateway_turn_uri'] = nil
|
1183
|
+
# mattermost['webrtc_gateway_turn_username'] = nil
|
1184
|
+
# mattermost['webrtc_gateway_turn_shared_key'] = nil
|
1185
|
+
|
1186
|
+
################################################################################
|
1187
|
+
## Mattermost NGINX
|
1188
|
+
################################################################################
|
1189
|
+
|
1190
|
+
# All the settings defined in the "GitLab NGINX" section are also available in this "Mattermost NGINX" section
|
1191
|
+
# You just have to change the key "nginx['some_settings']" with "mattermost_nginx['some_settings']"
|
1192
|
+
|
1193
|
+
# Below you can find settings that are exclusive to "Mattermost NGINX"
|
1194
|
+
# mattermost_nginx['enable'] = false
|
1195
|
+
|
1196
|
+
# mattermost_nginx['custom_gitlab_mattermost_server_config'] = "location ^~ /foo-namespace/bar-project/raw/ {\n deny all;\n}\n"
|
1197
|
+
# mattermost_nginx['proxy_set_headers'] = {
|
1198
|
+
# "Host" => "$http_host",
|
1199
|
+
# "X-Real-IP" => "$remote_addr",
|
1200
|
+
# "X-Forwarded-For" => "$proxy_add_x_forwarded_for",
|
1201
|
+
# "X-Frame-Options" => "SAMEORIGIN",
|
1202
|
+
# "X-Forwarded-Proto" => "https",
|
1203
|
+
# "X-Forwarded-Ssl" => "on",
|
1204
|
+
# "Upgrade" => "$http_upgrade",
|
1205
|
+
# "Connection" => "$connection_upgrade"
|
1206
|
+
# }
|
1207
|
+
|
1208
|
+
|
1209
|
+
################################################################################
|
1210
|
+
## Registry NGINX
|
1211
|
+
################################################################################
|
1212
|
+
|
1213
|
+
# All the settings defined in the "GitLab NGINX" section are also available in this "Registry NGINX" section
|
1214
|
+
# You just have to change the key "nginx['some_settings']" with "registry_nginx['some_settings']"
|
1215
|
+
|
1216
|
+
# Below you can find settings that are exclusive to "Registry NGINX"
|
1217
|
+
# registry_nginx['enable'] = false
|
1218
|
+
|
1219
|
+
# registry_nginx['proxy_set_headers'] = {
|
1220
|
+
# "Host" => "$http_host",
|
1221
|
+
# "X-Real-IP" => "$remote_addr",
|
1222
|
+
# "X-Forwarded-For" => "$proxy_add_x_forwarded_for",
|
1223
|
+
# "X-Forwarded-Proto" => "https",
|
1224
|
+
# "X-Forwarded-Ssl" => "on"
|
1225
|
+
# }
|
1226
|
+
|
1227
|
+
################################################################################
|
1228
|
+
## Prometheus
|
1229
|
+
##! Docs: https://docs.gitlab.com/ce/administration/monitoring/prometheus/
|
1230
|
+
################################################################################
|
1231
|
+
|
1232
|
+
# prometheus['enable'] = true
|
1233
|
+
# prometheus['monitor_kubernetes'] = true
|
1234
|
+
# prometheus['username'] = 'gitlab-prometheus'
|
1235
|
+
# prometheus['uid'] = nil
|
1236
|
+
# prometheus['gid'] = nil
|
1237
|
+
# prometheus['shell'] = '/bin/sh'
|
1238
|
+
# prometheus['home'] = '/var/opt/gitlab/prometheus'
|
1239
|
+
# prometheus['log_directory'] = '/var/log/gitlab/prometheus'
|
1240
|
+
# prometheus['scrape_interval'] = 15
|
1241
|
+
# prometheus['scrape_timeout'] = 15
|
1242
|
+
# prometheus['chunk_encoding_version'] = 2
|
1243
|
+
#
|
1244
|
+
### Custom scrape configs
|
1245
|
+
#
|
1246
|
+
# Prometheus can scrape additional jobs via scrape_configs. The default automatically
|
1247
|
+
# includes all of the exporters supported by the omnibus config.
|
1248
|
+
#
|
1249
|
+
# See: https://prometheus.io/docs/operating/configuration/#<scrape_config>
|
1250
|
+
#
|
1251
|
+
# Example:
|
1252
|
+
#
|
1253
|
+
# prometheus['scrape_configs'] = [
|
1254
|
+
# {
|
1255
|
+
# 'job_name': 'example',
|
1256
|
+
# 'static_configs' => [
|
1257
|
+
# 'targets' => ['hostname:port'],
|
1258
|
+
# ],
|
1259
|
+
# },
|
1260
|
+
# ]
|
1261
|
+
#
|
1262
|
+
### Prometheus Memory Management
|
1263
|
+
#
|
1264
|
+
# Prometheus needs to be configured for how much memory is used.
|
1265
|
+
# * This sets the target heap size.
|
1266
|
+
# * This value accounts for approximately 2/3 of the memory used by the server.
|
1267
|
+
# * The recommended memory is 4kb per unique metrics time-series.
|
1268
|
+
# See: https://prometheus.io/docs/operating/storage/#memory-usage
|
1269
|
+
#
|
1270
|
+
# prometheus['target_heap_size'] = (
|
1271
|
+
# # Use 25mb + 2% of total memory for Prometheus memory.
|
1272
|
+
# 26_214_400 + (node['memory']['total'].to_i * 1024 * 0.02 )
|
1273
|
+
# ).to_i
|
1274
|
+
#
|
1275
|
+
# prometheus['flags'] = {
|
1276
|
+
# 'storage.local.path' => "#{node['gitlab']['prometheus']['home']}/data",
|
1277
|
+
# 'storage.local.chunk-encoding-version' => user_config['chunk-encoding-version'],
|
1278
|
+
# 'storage.local.target-heap-size' => node['gitlab']['prometheus']['target-heap-size'],
|
1279
|
+
# 'config.file' => "#{node['gitlab']['prometheus']['home']}/prometheus.yml"
|
1280
|
+
# }
|
1281
|
+
|
1282
|
+
##! Advanced settings. Should be changed only if absolutely needed.
|
1283
|
+
# prometheus['listen_address'] = 'localhost:9090'
|
1284
|
+
|
1285
|
+
################################################################################
|
1286
|
+
## Prometheus Node Exporter
|
1287
|
+
##! Docs: https://docs.gitlab.com/ce/administration/monitoring/prometheus/node_exporter.html
|
1288
|
+
################################################################################
|
1289
|
+
|
1290
|
+
# node_exporter['enable'] = true
|
1291
|
+
# node_exporter['home'] = '/var/opt/gitlab/node-exporter'
|
1292
|
+
# node_exporter['log_directory'] = '/var/log/gitlab/node-exporter'
|
1293
|
+
# node_exporter['flags'] = {
|
1294
|
+
# 'collector.textfile.directory' => "#{node['gitlab']['node-exporter']['home']}/textfile_collector"
|
1295
|
+
# }
|
1296
|
+
|
1297
|
+
##! Advanced settings. Should be changed only if absolutely needed.
|
1298
|
+
# node_exporter['listen_address'] = 'localhost:9100'
|
1299
|
+
|
1300
|
+
################################################################################
|
1301
|
+
## Prometheus Redis exporter
|
1302
|
+
##! Docs: https://docs.gitlab.com/ce/administration/monitoring/prometheus/redis_exporter.html
|
1303
|
+
################################################################################
|
1304
|
+
|
1305
|
+
# redis_exporter['enable'] = true
|
1306
|
+
# redis_exporter['log_directory'] = '/var/log/gitlab/redis-exporter'
|
1307
|
+
# redis_exporter['flags'] = {
|
1308
|
+
# 'redis.addr' => "unix://#{node['gitlab']['gitlab-rails']['redis_socket']}",
|
1309
|
+
# }
|
1310
|
+
|
1311
|
+
##! Advanced settings. Should be changed only if absolutely needed.
|
1312
|
+
# redis_exporter['listen_address'] = 'localhost:9121'
|
1313
|
+
|
1314
|
+
################################################################################
|
1315
|
+
## Prometheus Postgres exporter
|
1316
|
+
##! Docs: https://docs.gitlab.com/ce/administration/monitoring/prometheus/postgres_exporter.html
|
1317
|
+
################################################################################
|
1318
|
+
|
1319
|
+
# postgres_exporter['enable'] = true
|
1320
|
+
# postgres_exporter['home'] = '/var/opt/gitlab/postgres-exporter'
|
1321
|
+
# postgres_exporter['log_directory'] = '/var/log/gitlab/postgres-exporter'
|
1322
|
+
# postgres_exporter['flags'] = {}
|
1323
|
+
# postgres_exporter['listen_address'] = 'localhost:9187'
|
1324
|
+
|
1325
|
+
################################################################################
|
1326
|
+
## Prometheus Gitlab monitor
|
1327
|
+
##! Docs: https://docs.gitlab.com/ce/administration/monitoring/prometheus/gitlab_monitor_exporter.html
|
1328
|
+
################################################################################
|
1329
|
+
|
1330
|
+
|
1331
|
+
# gitlab_monitor['enable'] = true
|
1332
|
+
# gitlab_monitor['log_directory'] = "/var/log/gitlab/gitlab-monitor"
|
1333
|
+
# gitlab_monitor['home'] = "/var/opt/gitlab/gitlab-monitor"
|
1334
|
+
|
1335
|
+
##! Advanced settings. Should be changed only if absolutely needed.
|
1336
|
+
# gitlab_monitor['listen_address'] = 'localhost'
|
1337
|
+
# gitlab_monitor['listen_port'] = '9168'
|
1338
|
+
|
1339
|
+
# To completely disable prometheus, and all of it's exporters, set to false
|
1340
|
+
# prometheus_monitoring['enable'] = true
|
1341
|
+
|
1342
|
+
################################################################################
|
1343
|
+
## Gitaly
|
1344
|
+
##! Docs:
|
1345
|
+
################################################################################
|
1346
|
+
|
1347
|
+
|
1348
|
+
# gitaly['enable'] = false
|
1349
|
+
# gitaly['dir'] = "/var/opt/gitlab/gitaly"
|
1350
|
+
# gitaly['log_directory'] = "/var/log/gitlab/gitaly"
|
1351
|
+
# gitaly['bin_path'] = "/opt/gitlab/embedded/bin/gitaly"
|
1352
|
+
# gitaly['env_directory'] = "/opt/gitlab/etc/gitaly"
|
1353
|
+
# gitaly['env'] = {
|
1354
|
+
# 'PATH' => "/opt/gitlab/bin:/opt/gitlab/embedded/bin:/bin:/usr/bin",
|
1355
|
+
# 'HOME' => '/var/opt/gitlab'
|
1356
|
+
# }
|
1357
|
+
# gitaly['socket_path'] = "/var/opt/gitlab/gitaly/gitaly.socket"
|
1358
|
+
# gitaly['listen_addr'] = "localhost:8075"
|
1359
|
+
# gitaly['prometheus_listen_addr'] = "localhost:9175"
|
1360
|
+
# gitaly['logging_format'] = "json"
|
1361
|
+
# gitaly['logging_sentry_dsn'] = "https://<key>:<secret>@sentry.io/<project>"
|
1362
|
+
# gitaly['prometheus_grpc_latency_buckets'] = "[0.001, 0.005, 0.025, 0.1, 0.5, 1.0, 10.0, 30.0, 60.0, 300.0, 1500.0]"
|
1363
|
+
# gitaly['auth_token'] = '<secret>'
|
1364
|
+
# gitaly['auth_transitioning'] = false # When true, auth is logged to Prometheus but NOT enforced
|
1365
|
+
|
1366
|
+
|
1367
|
+
################################################################################
|
1368
|
+
################################################################################
|
1369
|
+
## Configuration Settings for GitLab EE only ##
|
1370
|
+
################################################################################
|
1371
|
+
################################################################################
|
1372
|
+
|
1373
|
+
|
1374
|
+
################################################################################
|
1375
|
+
## Auxiliary cron jobs applicable to GitLab EE only
|
1376
|
+
################################################################################
|
1377
|
+
#
|
1378
|
+
# gitlab_rails['geo_bulk_notify_worker_cron'] = "*/10 * * * * *"
|
1379
|
+
# gitlab_rails['geo_file_download_dispatch_worker_cron'] = "*/10 * * * *"
|
1380
|
+
# gitlab_rails['geo_repository_sync_worker_cron'] = "*/5 * * * *"
|
1381
|
+
# gitlab_rails['ldap_sync_worker_cron'] = "30 1 * * *"
|
1382
|
+
# gitlab_rails['ldap_group_sync_worker_cron'] = "0 * * * *"
|
1383
|
+
# gitlab_rails['historical_data_worker_cron'] = "0 12 * * *"
|
1384
|
+
|
1385
|
+
################################################################################
|
1386
|
+
## Kerberos (EE Only)
|
1387
|
+
##! Docs: https://docs.gitlab.com/ee/integration/kerberos.html#http-git-access
|
1388
|
+
################################################################################
|
1389
|
+
|
1390
|
+
# gitlab_rails['kerberos_enabled'] = true
|
1391
|
+
# gitlab_rails['kerberos_keytab'] = /etc/http.keytab
|
1392
|
+
# gitlab_rails['kerberos_service_principal_name'] = HTTP/gitlab.example.com@EXAMPLE.COM
|
1393
|
+
# gitlab_rails['kerberos_use_dedicated_port'] = true
|
1394
|
+
# gitlab_rails['kerberos_port'] = 8443
|
1395
|
+
# gitlab_rails['kerberos_https'] = true
|
1396
|
+
|
1397
|
+
################################################################################
|
1398
|
+
## GitLab Sentinel (EE Only)
|
1399
|
+
##! Docs: http://docs.gitlab.com/ce/administration/high_availability/redis.html#high-availability-with-sentinel
|
1400
|
+
################################################################################
|
1401
|
+
|
1402
|
+
##! **Make sure you configured all redis['master_*'] keys above before
|
1403
|
+
##! continuing.**
|
1404
|
+
|
1405
|
+
##! To enable Sentinel and disable all other services in this machine,
|
1406
|
+
##! uncomment the line below (if you've enabled Redis role, it will keep it).
|
1407
|
+
##! Docs: https://docs.gitlab.com/ce/administration/high_availability/redis.html
|
1408
|
+
# redis_sentinel_role['enable'] = true
|
1409
|
+
|
1410
|
+
# sentinel['enable'] = true
|
1411
|
+
|
1412
|
+
##! Bind to all interfaces, uncomment to specify an IP and bind to a single one
|
1413
|
+
# sentinel['bind'] = '0.0.0.0'
|
1414
|
+
|
1415
|
+
##! Uncomment to change default port
|
1416
|
+
# sentinel['port'] = 26379
|
1417
|
+
|
1418
|
+
##! Quorum must reflect the amount of voting sentinels it take to start a
|
1419
|
+
##! failover.
|
1420
|
+
##! **Value must NOT be greater then the amount of sentinels.**
|
1421
|
+
##! The quorum can be used to tune Sentinel in two ways:
|
1422
|
+
##! 1. If a the quorum is set to a value smaller than the majority of Sentinels
|
1423
|
+
##! we deploy, we are basically making Sentinel more sensible to master
|
1424
|
+
##! failures, triggering a failover as soon as even just a minority of
|
1425
|
+
##! Sentinels is no longer able to talk with the master.
|
1426
|
+
##! 2. If a quorum is set to a value greater than the majority of Sentinels, we
|
1427
|
+
##! are making Sentinel able to failover only when there are a very large
|
1428
|
+
##! number (larger than majority) of well connected Sentinels which agree
|
1429
|
+
##! about the master being down.
|
1430
|
+
# sentinel['quorum'] = 1
|
1431
|
+
|
1432
|
+
### Consider unresponsive server down after x amount of ms.
|
1433
|
+
# sentinel['down_after_milliseconds'] = 10000
|
1434
|
+
|
1435
|
+
### Specifies the failover timeout in milliseconds.
|
1436
|
+
##! It is used in many ways:
|
1437
|
+
##!
|
1438
|
+
##! - The time needed to re-start a failover after a previous failover was
|
1439
|
+
##! already tried against the same master by a given Sentinel, is two
|
1440
|
+
##! times the failover timeout.
|
1441
|
+
##!
|
1442
|
+
##! - The time needed for a slave replicating to a wrong master according
|
1443
|
+
##! to a Sentinel current configuration, to be forced to replicate
|
1444
|
+
##! with the right master, is exactly the failover timeout (counting since
|
1445
|
+
##! the moment a Sentinel detected the misconfiguration).
|
1446
|
+
##!
|
1447
|
+
##! - The time needed to cancel a failover that is already in progress but
|
1448
|
+
##! did not produced any configuration change (SLAVEOF NO ONE yet not
|
1449
|
+
##! acknowledged by the promoted slave).
|
1450
|
+
##!
|
1451
|
+
##! - The maximum time a failover in progress waits for all the slaves to be
|
1452
|
+
##! reconfigured as slaves of the new master. However even after this time
|
1453
|
+
##! the slaves will be reconfigured by the Sentinels anyway, but not with
|
1454
|
+
##! the exact parallel-syncs progression as specified.
|
1455
|
+
# sentinel['failover_timeout'] = 60000
|
1456
|
+
|
1457
|
+
################################################################################
|
1458
|
+
## GitLab Sidekiq Cluster (EE only)
|
1459
|
+
################################################################################
|
1460
|
+
|
1461
|
+
##! GitLab Enterprise Edition allows one to start an extra set of Sidekiq processes
|
1462
|
+
##! besides the default one. These processes can be used to consume a dedicated set
|
1463
|
+
##! of queues. This can be used to ensure certain queues always have dedicated
|
1464
|
+
##! workers, no matter the amount of jobs that need to be processed.
|
1465
|
+
|
1466
|
+
# sidekiq_cluster['enable'] = false
|
1467
|
+
# sidekiq_cluster['ha'] = false
|
1468
|
+
# sidekiq_cluster['log_directory'] = "/var/log/gitlab/sidekiq-cluster"
|
1469
|
+
# sidekiq_cluster['interval'] = 5 # The number of seconds to wait between worker checks
|
1470
|
+
|
1471
|
+
##! Each entry in the queue_groups array denotes a group of queues that have to be processed by a
|
1472
|
+
##! Sidekiq process. Multiple queues can be processed by the same process by
|
1473
|
+
##! separating them with a comma within the group entry
|
1474
|
+
|
1475
|
+
# sidekiq_cluster['queue_groups'] = [
|
1476
|
+
# "process_commit,post_receive",
|
1477
|
+
# "gitlab_shell"
|
1478
|
+
# ]
|
1479
|
+
#
|
1480
|
+
|
1481
|
+
##! If negate is enabled then sidekiq-cluster will process all the queues that
|
1482
|
+
##! don't match those in queue_groups.
|
1483
|
+
|
1484
|
+
# sidekiq_cluster['negate'] = false
|
1485
|
+
|
1486
|
+
################################################################################
|
1487
|
+
## Additional Database Settings (EE only)
|
1488
|
+
##! Docs: https://docs.gitlab.com/ee/administration/database_load_balancing.html
|
1489
|
+
################################################################################
|
1490
|
+
# gitlab_rails['db_load_balancing'] = { 'hosts' => ['secondary1.example.com'] }
|
1491
|
+
|
1492
|
+
################################################################################
|
1493
|
+
## GitLab Geo
|
1494
|
+
##! Docs: https://docs.gitlab.com/ee/gitlab-geo
|
1495
|
+
################################################################################
|
1496
|
+
# geo_primary_role['enable'] = false
|
1497
|
+
# geo_secondary_role['enable'] = false
|
1498
|
+
|
1499
|
+
################################################################################
|
1500
|
+
## GitLab Geo Secondary (EE only)
|
1501
|
+
################################################################################
|
1502
|
+
# geo_secondary['auto_migrate'] = true
|
1503
|
+
# geo_secondary['db_adapter'] = "postgresql"
|
1504
|
+
# geo_secondary['db_encoding'] = "unicode"
|
1505
|
+
# geo_secondary['db_collation'] = nil
|
1506
|
+
# geo_secondary['db_database'] = "gitlabhq_geo_production"
|
1507
|
+
# geo_secondary['db_pool'] = 10
|
1508
|
+
# geo_secondary['db_username'] = "gitlab_geo"
|
1509
|
+
# geo_secondary['db_password'] = nil
|
1510
|
+
# geo_secondary['db_host'] = "/var/opt/gitlab/geo-postgresql"
|
1511
|
+
# geo_secondary['db_port'] = 5431
|
1512
|
+
# geo_secondary['db_socket'] = nil
|
1513
|
+
# geo_secondary['db_sslmode'] = nil
|
1514
|
+
# geo_secondary['db_sslrootcert'] = nil
|
1515
|
+
# geo_secondary['db_sslca'] = nil
|
1516
|
+
|
1517
|
+
################################################################################
|
1518
|
+
## GitLab Geo Secondary Tracking Database (EE only)
|
1519
|
+
################################################################################
|
1520
|
+
|
1521
|
+
# geo_postgresql['enable'] = false
|
1522
|
+
# geo_postgresql['ha'] = false
|
1523
|
+
# geo_postgresql['dir'] = '/var/opt/gitlab/geo-postgresql'
|
1524
|
+
# geo_postgresql['data_dir'] = '/var/opt/gitlab/geo-postgresql/data'
|
1525
|
+
|
1526
|
+
################################################################################
|
1527
|
+
# Pgbouncer (EE only)
|
1528
|
+
# See [GitLab PgBouncer documentation](http://docs.gitlab.com/omnibus/settings/database.html#enabling-pgbouncer-ee-only)
|
1529
|
+
# See the [PgBouncer page](https://pgbouncer.github.io/config.html) for details
|
1530
|
+
################################################################################
|
1531
|
+
# pgbouncer['enable'] = false
|
1532
|
+
# pgbouncer['log_directory'] = '/var/log/gitlab/pgbouncer'
|
1533
|
+
# pgbouncer['data_directory'] = '/var/opt/gitlab/pgbouncer'
|
1534
|
+
# pgbouncer['listen_addr'] = '0.0.0.0'
|
1535
|
+
# pgbouncer['listen_port'] = '6432'
|
1536
|
+
# pgbouncer['pool_mode'] = 'session'
|
1537
|
+
# pgbouncer['server_reset_query'] = 'DISCARD ALL'
|
1538
|
+
# pgbouncer['max_client_conn'] = '100'
|
1539
|
+
# pgbouncer['default_pool_size'] = '20'
|
1540
|
+
# pgbouncer['min_pool_size'] = '0'
|
1541
|
+
# pgbouncer['reserve_pool_size'] = '0'
|
1542
|
+
# pgbouncer['reserve_pool_timeout'] = '5.0'
|
1543
|
+
# pgbouncer['server_round_robin'] = '0'
|
1544
|
+
# pgbouncer['log_connections'] = '0'
|
1545
|
+
# pgbouncer['server_idle_timeout'] = '600.0'
|
1546
|
+
# pgbouncer['dns_max_ttl'] = '15.0'
|
1547
|
+
# pgbouncer['dns_zone_check_period'] = '0'
|
1548
|
+
# pgbouncer['dns_nxdomain_ttl'] = '15.0'
|
1549
|
+
# pgbouncer['admin_users'] = %w(gitlab-psql postgres pgbouncer)
|
1550
|
+
# pgbouncer['stats_users'] = %w(gitlab-psql postgres pgbouncer)
|
1551
|
+
# pgbouncer['ignore_startup_parameters'] = 'extra_float_digits'
|
1552
|
+
# pgbouncer['databases'] = {
|
1553
|
+
# DATABASE_NAME: {
|
1554
|
+
# host: HOSTNAME,
|
1555
|
+
# port: PORT
|
1556
|
+
# user: USERNAME,
|
1557
|
+
# password: PASSWORD
|
1558
|
+
###! generate this with `echo -n '$password + $username' | md5sum`
|
1559
|
+
# }
|
1560
|
+
# ...
|
1561
|
+
# }
|
1562
|
+
# pgbouncer['logfile'] = nil
|
1563
|
+
# pgbouncer['auth_type'] = 'md5'
|
1564
|
+
# pgbouncer['auth_hba_file'] = nil
|
1565
|
+
# pgbouncer['auth_query'] = 'SELECT username, password FROM public.pg_shadow_lookup($1)'
|
1566
|
+
# pgbouncer['users'] = [
|
1567
|
+
# {
|
1568
|
+
# name: USERNAME,
|
1569
|
+
# password: MD5_PASSWORD_HASH
|
1570
|
+
# }
|
1571
|
+
# ]
|
1572
|
+
# postgresql['pgbouncer_user'] = nil
|
1573
|
+
# postgresql['pgbouncer_user_password'] = nil
|
1574
|
+
#
|
1575
|
+
|
1576
|
+
################################################################################
|
1577
|
+
# Repmgr (EE only)
|
1578
|
+
################################################################################
|
1579
|
+
# repmgr['enable'] = false
|
1580
|
+
# repmgr['cluster'] = 'gitlab_cluster'
|
1581
|
+
# repmgr['database'] = 'gitlab_repmgr'
|
1582
|
+
# repmgr['host'] = nil
|
1583
|
+
# repmgr['node_number'] = nil
|
1584
|
+
# repmgr['port'] = 5432
|
1585
|
+
# repmgr['trust_auth_cidr_addresses'] = []
|
1586
|
+
# repmgr['user'] = 'gitlab_repmgr'
|
1587
|
+
# repmgr['failover'] = 'automatic'
|
1588
|
+
# repmgr['log_directory'] = '/var/log/gitlab/repmgrd'
|
1589
|
+
# repmgr['node_name'] = nil
|
1590
|
+
# repmgr['pg_bindir'] = '/opt/gitlab/embedded/bin'
|
1591
|
+
# repmgr['service_start_command'] = '/opt/gitlab/bin/gitlab-ctl start postgresql'
|
1592
|
+
# repmgr['service_stop_command'] = '/opt/gitlab/bin/gitlab-ctl stop postgresql'
|
1593
|
+
# repmgr['service_reload_command'] = '/opt/gitlab/bin/gitlab-ctl hup postgresql'
|
1594
|
+
# repmgr['service_restart_command'] = '/opt/gitlab/bin/gitlab-ctl restart postgresql'
|
1595
|
+
# repmgr['service_promote_command'] = nil
|
1596
|
+
# repmgr['promote_command'] = '/opt/gitlab/embedded/bin/repmgr standby promote -f /var/opt/gitlab/postgresql/repmgr.conf'
|
1597
|
+
# repmgr['follow_command'] = '/opt/gitlab/embedded/bin/repmgr standby follow -f /var/opt/gitlab/postgresql/repmgr.conf'
|
1598
|
+
|
1599
|
+
# repmgr['upstream_node'] = nil
|
1600
|
+
# repmgr['use_replication_slots'] = false
|
1601
|
+
# repmgr['loglevel'] = 'INFO'
|
1602
|
+
# repmgr['logfacility'] = 'STDERR'
|
1603
|
+
# repmgr['logfile'] = nil
|
1604
|
+
|
1605
|
+
# repmgr['event_notification_command'] = nil
|
1606
|
+
# repmgr['event_notifications'] = nil
|
1607
|
+
|
1608
|
+
# repmgr['rsync_options'] = nil
|
1609
|
+
# repmgr['ssh_options'] = nil
|
1610
|
+
# repmgr['priority'] = nil
|
1611
|
+
|
1612
|
+
# repmgr['retry_promote_interval_secs'] = 300
|
1613
|
+
# repmgr['witness_repl_nodes_sync_interval_secs'] = 15
|
1614
|
+
# repmgr['reconnect_attempts'] = 6
|
1615
|
+
# repmgr['reconnect_interval'] = 10
|
1616
|
+
# repmgr['monitor_interval_secs'] = 2
|
1617
|
+
# repmgr['master_response_timeout'] = 60
|
1618
|
+
# repmgr['daemon'] = true
|
1619
|
+
# repmgrd['enable'] = true
|
1620
|
+
|
1621
|
+
################################################################################
|
1622
|
+
# Consul (EEP only)
|
1623
|
+
################################################################################
|
1624
|
+
# consul['enable'] = false
|
1625
|
+
# consul['dir'] = '/var/opt/gitlab/consul'
|
1626
|
+
# consul['user'] = 'gitlab-consul'
|
1627
|
+
# consul['config_file'] = '/var/opt/gitlab/consul/config.json'
|
1628
|
+
# consul['config_dir'] = '/var/opt/gitlab/consul/config.d'
|
1629
|
+
# consul['data_dir'] = '/var/opt/gitlab/consul/data'
|
1630
|
+
# consul['log_directory'] = '/var/log/gitlab/consul'
|
1631
|
+
# consul['script_directory'] = '/var/opt/gitlab/consul/scripts'
|
1632
|
+
# consul['configuration'] = {
|
1633
|
+
# 'client_addr' => nil,
|
1634
|
+
# 'datacenter' => 'gitlab_consul',
|
1635
|
+
# 'enable_script_checks' => true,
|
1636
|
+
# 'server' => false
|
1637
|
+
# }
|
1638
|
+
# consul['services'] = []
|
1639
|
+
# consul['service_config'] = {
|
1640
|
+
# 'postgresql' => {
|
1641
|
+
# 'service' => {
|
1642
|
+
# 'name' => "postgresql",
|
1643
|
+
# 'address' => '',
|
1644
|
+
# 'port' => 5432,
|
1645
|
+
# 'checks' => [
|
1646
|
+
# {
|
1647
|
+
# 'script' => "/var/opt/gitlab/consul/scripts/check_postgresql",
|
1648
|
+
# 'interval' => "10s"
|
1649
|
+
# }
|
1650
|
+
# ]
|
1651
|
+
# }
|
1652
|
+
# }
|
1653
|
+
# }
|
1654
|
+
# consul['watchers'] = {
|
1655
|
+
# 'postgresql' => {
|
1656
|
+
# enable: false,
|
1657
|
+
# handler: 'failover_pgbouncer'
|
1658
|
+
# }
|
1659
|
+
# }
|