File tree Expand file tree Collapse file tree 6 files changed +243
-167
lines changed
spec/chef/cookbooks/gitlab-kas/recipes Expand file tree Collapse file tree 6 files changed +243
-167
lines changed Original file line number Diff line number Diff line change @@ -2102,6 +2102,16 @@ external_url 'GENERATED_EXTERNAL_URL'
2102
2102
# gitlab_kas['log_group'] = nil
2103
2103
# gitlab_kas['env_directory'] = '/opt/gitlab/etc/gitlab-kas/env'
2104
2104
2105
+ ##! Redis settings for GitLab KAS
2106
+ # gitlab_kas['redis_socket'] = ''
2107
+ # gitlab_kas['redis_host'] = '127.0.0.1'
2108
+ # gitlab_kas['redis_port'] = '6379'
2109
+ # gitlab_kas['redis_password'] = nil
2110
+
2111
+ # gitlab_kas['redis_sentinels'] = {}
2112
+ # gitlab_kas['redis_sentinels_master_name'] = nil
2113
+ # gitlab_kas['redis_sentinels_password'] = ''
2114
+
2105
2115
################################################################################
2106
2116
## GitLab Suggested Reviewers (EE Only)
2107
2117
##! Docs: https://docs.gitlab.com/ee/user/project/merge_requests/reviews/#suggested-reviewers
Original file line number Diff line number Diff line change 43
43
}
44
44
45
45
default [ 'gitlab-kas' ] = Gitlab ::Deprecations ::NodeAttribute . new ( proc { node [ 'gitlab_kas' ] . to_h } , "node['gitlab-kas']" , "node['gitlab_kas']" )
46
+
47
+ # Defaults of the following settings are computed from `gitlab_rails`, and are
48
+ # set in the library. If a new key is added here that needs to be computed from
49
+ # the Rails counterpart, make sure it is added to the list in the library too
50
+ default [ 'gitlab_kas' ] [ 'redis_socket' ] = nil
51
+ default [ 'gitlab_kas' ] [ 'redis_host' ] = nil
52
+ default [ 'gitlab_kas' ] [ 'redis_port' ] = nil
53
+ default [ 'gitlab_kas' ] [ 'redis_password' ] = nil
54
+ default [ 'gitlab_kas' ] [ 'redis_sentinels' ] = nil
55
+ default [ 'gitlab_kas' ] [ 'redis_sentinels_master_name' ] = nil
56
+ default [ 'gitlab_kas' ] [ 'redis_sentinels_password' ] = nil
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ def parse_variables
25
25
parse_gitlab_kas_enabled
26
26
parse_gitlab_kas_external_url
27
27
parse_gitlab_kas_internal_url
28
+ parse_redis_settings
28
29
end
29
30
30
31
def parse_address
@@ -105,6 +106,22 @@ def validate_secrets
105
106
raise "gitlab_kas['private_api_secret_key'] should be exactly 32 bytes" if private_api_secret_key . length != 32
106
107
end
107
108
109
+ def parse_redis_settings
110
+ settings_copied_from_gitlab_rails = %w[
111
+ redis_socket
112
+ redis_host
113
+ redis_port
114
+ redis_password
115
+ redis_sentinels
116
+ redis_sentinels_password
117
+ ]
118
+ settings_copied_from_gitlab_rails . each do |setting |
119
+ Gitlab [ 'gitlab_kas' ] [ setting ] = Gitlab [ 'gitlab_rails' ] [ setting ] || Gitlab [ 'node' ] [ 'gitlab' ] [ 'gitlab_rails' ] [ setting ] unless Gitlab [ 'gitlab_kas' ] . key? ( setting )
120
+ end
121
+
122
+ Gitlab [ 'gitlab_kas' ] [ 'redis_sentinels_master_name' ] = Gitlab [ 'redis' ] [ 'master_name' ] || Gitlab [ 'node' ] [ 'redis' ] [ 'master_name' ] unless Gitlab [ 'gitlab_kas' ] . key? ( 'redis_sentinels_master_name' )
123
+ end
124
+
108
125
private
109
126
110
127
def parse_gitlab_kas_external_url_with_gitlab_domain
Original file line number Diff line number Diff line change 26
26
gitlab_kas_config_file = File . join ( working_dir , 'gitlab-kas-config.yml' )
27
27
gitlab_kas_authentication_secret_file = File . join ( working_dir , 'authentication_secret_file' )
28
28
gitlab_kas_private_api_authentication_secret_file = File . join ( working_dir , 'private_api_authentication_secret_file' )
29
- redis_host , redis_port , redis_password = redis_helper . redis_params
29
+ redis_host , redis_port , redis_password = redis_helper . kas_params
30
30
redis_password_present = redis_password && !redis_password . empty?
31
- redis_sentinels = node [ 'gitlab' ] [ 'gitlab_rails '] [ 'redis_sentinels' ]
32
- redis_sentinels_master_name = node [ 'redis ' ] [ 'master_name ' ]
33
- redis_sentinels_password = node [ 'gitlab' ] [ 'gitlab_rails '] [ 'redis_sentinels_password' ]
31
+ redis_sentinels = node [ 'gitlab_kas ' ] [ 'redis_sentinels' ]
32
+ redis_sentinels_master_name = node [ 'gitlab_kas ' ] [ 'redis_sentinels_master_name ' ]
33
+ redis_sentinels_password = node [ 'gitlab_kas ' ] [ 'redis_sentinels_password' ]
34
34
redis_sentinels_password_present = redis_sentinels_password && !redis_sentinels_password . empty?
35
35
36
36
gitlab_kas_redis_password_file = File . join ( working_dir , 'redis_password_file' )
41
41
redis_address = if redis_network == 'tcp'
42
42
"#{ redis_host } :#{ redis_port || redis_default_port } "
43
43
else
44
- node [ 'gitlab' ] [ 'gitlab_rails '] [ 'redis_socket' ]
44
+ node [ 'gitlab_kas ' ] [ 'redis_socket' ]
45
45
end
46
46
47
47
[
Original file line number Diff line number Diff line change @@ -13,17 +13,15 @@ def redis
13
13
@node [ 'redis' ]
14
14
end
15
15
16
- def redis_params ( support_sentinel_groupname : true )
17
- gitlab_rails_config = @node [ 'gitlab' ] [ 'gitlab_rails' ]
18
-
16
+ def redis_params ( service_config : @node [ 'gitlab' ] [ 'gitlab_rails' ] , support_sentinel_groupname : true )
19
17
raise 'Redis announce_ip and announce_ip_from_hostname are mutually exclusive, please unset one of them' if redis [ 'announce_ip' ] && redis [ 'announce_ip_from_hostname' ]
20
18
21
19
params = if RedisHelper ::Checks . has_sentinels? && support_sentinel_groupname
22
20
[ redis [ 'master_name' ] , redis [ 'master_port' ] , redis [ 'master_password' ] ]
23
21
else
24
- host = gitlab_rails_config [ 'redis_host' ] || Gitlab [ 'redis' ] [ 'master_ip' ]
25
- port = gitlab_rails_config [ 'redis_port' ] || Gitlab [ 'redis' ] [ 'master_port' ]
26
- password = gitlab_rails_config [ 'redis_password' ] || Gitlab [ 'redis' ] [ 'master_password' ]
22
+ host = service_config [ 'redis_host' ] || Gitlab [ 'redis' ] [ 'master_ip' ]
23
+ port = service_config [ 'redis_port' ] || Gitlab [ 'redis' ] [ 'master_port' ]
24
+ password = service_config [ 'redis_password' ] || Gitlab [ 'redis' ] [ 'master_password' ]
27
25
28
26
[ host , port , password ]
29
27
end
@@ -75,6 +73,10 @@ def workhorse_params
75
73
end
76
74
end
77
75
76
+ def kas_params
77
+ redis_params ( service_config : @node [ 'gitlab_kas' ] )
78
+ end
79
+
78
80
def validate_instance_shard_config ( instance )
79
81
gitlab_rails = @node [ 'gitlab' ] [ 'gitlab_rails' ]
80
82
You can’t perform that action at this time.
0 commit comments