release_manager 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module ReleaseManager
2
- VERSION = "0.5.3"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -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%2Fcontrol-repo")
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%2F#{name}")
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
- # eval(modules)
93
- # create_control_repo
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
+ # }