Commit 8e70f0e3ddf2d2e302ff050a1a0f34c012a89729
1 parent
b6294738
Exists in
master
and in
9 other branches
Specify numeric user and group identifiers
Showing
6 changed files
with
43 additions
and
3 deletions
Show diff stats
CHANGELOG
README.md
| ... | ... | @@ -412,6 +412,20 @@ sudo gitlab-rake gitlab:setup |
| 412 | 412 | |
| 413 | 413 | This is a destructive command; do not run it on an existing database! |
| 414 | 414 | |
| 415 | +## Specify numeric user and group identifiers | |
| 416 | + | |
| 417 | +Omnibus-gitlab creates users for GitLab, PostgreSQL and Redis. You can specify | |
| 418 | +the numeric identifiers for these users in `/etc/gitlab/gitlab.rb` as follows. | |
| 419 | + | |
| 420 | +```ruby | |
| 421 | +user['uid'] = 1234 | |
| 422 | +user['gid'] = 1234 | |
| 423 | +postgresql['uid'] = 1235 | |
| 424 | +postgresql['gid'] = 1235 | |
| 425 | +redis['uid'] = 1236 | |
| 426 | +redis['gid'] = 1236 | |
| 427 | +``` | |
| 428 | + | |
| 415 | 429 | ## Building your own package |
| 416 | 430 | |
| 417 | 431 | See [the separate build documentation](doc/build.md). | ... | ... |
files/gitlab-cookbooks/gitlab/attributes/default.rb
| ... | ... | @@ -28,6 +28,8 @@ default['gitlab']['bootstrap']['enable'] = true |
| 28 | 28 | # The username for the chef services user |
| 29 | 29 | default['gitlab']['user']['username'] = "git" |
| 30 | 30 | default['gitlab']['user']['group'] = "git" |
| 31 | +default['gitlab']['user']['uid'] = nil | |
| 32 | +default['gitlab']['user']['gid'] = nil | |
| 31 | 33 | # The shell for the chef services user |
| 32 | 34 | default['gitlab']['user']['shell'] = "/bin/sh" |
| 33 | 35 | # The home directory for the chef services user |
| ... | ... | @@ -151,6 +153,8 @@ default['gitlab']['postgresql']['log_directory'] = "/var/log/gitlab/postgresql" |
| 151 | 153 | default['gitlab']['postgresql']['svlogd_size'] = 1000000 |
| 152 | 154 | default['gitlab']['postgresql']['svlogd_num'] = 10 |
| 153 | 155 | default['gitlab']['postgresql']['username'] = "gitlab-psql" |
| 156 | +default['gitlab']['postgresql']['uid'] = nil | |
| 157 | +default['gitlab']['postgresql']['gid'] = nil | |
| 154 | 158 | default['gitlab']['postgresql']['shell'] = "/bin/sh" |
| 155 | 159 | default['gitlab']['postgresql']['home'] = "/var/opt/gitlab/postgresql" |
| 156 | 160 | default['gitlab']['postgresql']['user_path'] = "/opt/gitlab/embedded/bin:/opt/gitlab/bin:$PATH" |
| ... | ... | @@ -191,6 +195,8 @@ default['gitlab']['redis']['log_directory'] = "/var/log/gitlab/redis" |
| 191 | 195 | default['gitlab']['redis']['svlogd_size'] = 1000000 |
| 192 | 196 | default['gitlab']['redis']['svlogd_num'] = 10 |
| 193 | 197 | default['gitlab']['redis']['username'] = "gitlab-redis" |
| 198 | +default['gitlab']['redis']['uid'] = nil | |
| 199 | +default['gitlab']['redis']['gid'] = nil | |
| 194 | 200 | default['gitlab']['redis']['shell'] = "/bin/nologin" |
| 195 | 201 | default['gitlab']['redis']['home'] = "/var/opt/gitlab/redis" |
| 196 | 202 | default['gitlab']['redis']['port'] = 6379 | ... | ... |
files/gitlab-cookbooks/gitlab/recipes/postgresql.rb
| ... | ... | @@ -20,8 +20,15 @@ postgresql_dir = node['gitlab']['postgresql']['dir'] |
| 20 | 20 | postgresql_data_dir = node['gitlab']['postgresql']['data_dir'] |
| 21 | 21 | postgresql_data_dir_symlink = File.join(postgresql_dir, "data") |
| 22 | 22 | postgresql_log_dir = node['gitlab']['postgresql']['log_directory'] |
| 23 | +postgresql_user = node['gitlab']['postgresql']['username'] | |
| 23 | 24 | |
| 24 | -user node['gitlab']['postgresql']['username'] do | |
| 25 | +group postgresql_user do | |
| 26 | + gid node['gitlab']['postgresql']['gid'] | |
| 27 | +end | |
| 28 | + | |
| 29 | +user postgresql_user do | |
| 30 | + uid node['gitlab']['postgresql']['uid'] | |
| 31 | + gid postgresql_user | |
| 25 | 32 | system true |
| 26 | 33 | shell node['gitlab']['postgresql']['shell'] |
| 27 | 34 | home node['gitlab']['postgresql']['home'] | ... | ... |
files/gitlab-cookbooks/gitlab/recipes/redis.rb
| ... | ... | @@ -18,8 +18,15 @@ |
| 18 | 18 | |
| 19 | 19 | redis_dir = node['gitlab']['redis']['dir'] |
| 20 | 20 | redis_log_dir = node['gitlab']['redis']['log_directory'] |
| 21 | +redis_user = node['gitlab']['redis']['username'] | |
| 21 | 22 | |
| 22 | -user node['gitlab']['redis']['username'] do | |
| 23 | +group redis_user do | |
| 24 | + gid node['gitlab']['redis']['gid'] | |
| 25 | +end | |
| 26 | + | |
| 27 | +user do | |
| 28 | + uid node['gitlab']['redis']['uid'] | |
| 29 | + gid redis_user | |
| 23 | 30 | system true |
| 24 | 31 | shell node['gitlab']['redis']['shell'] |
| 25 | 32 | home node['gitlab']['redis']['home'] | ... | ... |
files/gitlab-cookbooks/gitlab/recipes/users.rb
| ... | ... | @@ -21,12 +21,15 @@ gitlab_group = node['gitlab']['user']['group'] |
| 21 | 21 | gitlab_home = node['gitlab']['user']['home'] |
| 22 | 22 | |
| 23 | 23 | # Create the group for the GitLab user |
| 24 | -group gitlab_group | |
| 24 | +group gitlab_group do | |
| 25 | + gid node['gitlab']['user']['gid'] | |
| 26 | +end | |
| 25 | 27 | |
| 26 | 28 | # Create the GitLab user |
| 27 | 29 | user gitlab_username do |
| 28 | 30 | shell node['gitlab']['user']['shell'] |
| 29 | 31 | home gitlab_home |
| 32 | + uid node['gitlab']['user']['uid'] | |
| 30 | 33 | gid gitlab_group |
| 31 | 34 | end |
| 32 | 35 | ... | ... |