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
1 | +7.0.0 | ||
2 | +- Specify numeric user / group identifiers | ||
3 | + | ||
1 | 6.9.0 | 4 | 6.9.0 |
2 | - Make SSH port in clone URLs configurable (Julien Pivotto) | 5 | - Make SSH port in clone URLs configurable (Julien Pivotto) |
3 | - Fix default Postgres port for non-packaged DBMS (Drew Blessing) | 6 | - Fix default Postgres port for non-packaged DBMS (Drew Blessing) |
README.md
@@ -412,6 +412,20 @@ sudo gitlab-rake gitlab:setup | @@ -412,6 +412,20 @@ sudo gitlab-rake gitlab:setup | ||
412 | 412 | ||
413 | This is a destructive command; do not run it on an existing database! | 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 | ## Building your own package | 429 | ## Building your own package |
416 | 430 | ||
417 | See [the separate build documentation](doc/build.md). | 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,6 +28,8 @@ default['gitlab']['bootstrap']['enable'] = true | ||
28 | # The username for the chef services user | 28 | # The username for the chef services user |
29 | default['gitlab']['user']['username'] = "git" | 29 | default['gitlab']['user']['username'] = "git" |
30 | default['gitlab']['user']['group'] = "git" | 30 | default['gitlab']['user']['group'] = "git" |
31 | +default['gitlab']['user']['uid'] = nil | ||
32 | +default['gitlab']['user']['gid'] = nil | ||
31 | # The shell for the chef services user | 33 | # The shell for the chef services user |
32 | default['gitlab']['user']['shell'] = "/bin/sh" | 34 | default['gitlab']['user']['shell'] = "/bin/sh" |
33 | # The home directory for the chef services user | 35 | # The home directory for the chef services user |
@@ -151,6 +153,8 @@ default['gitlab']['postgresql']['log_directory'] = "/var/log/gitlab/postgresql" | @@ -151,6 +153,8 @@ default['gitlab']['postgresql']['log_directory'] = "/var/log/gitlab/postgresql" | ||
151 | default['gitlab']['postgresql']['svlogd_size'] = 1000000 | 153 | default['gitlab']['postgresql']['svlogd_size'] = 1000000 |
152 | default['gitlab']['postgresql']['svlogd_num'] = 10 | 154 | default['gitlab']['postgresql']['svlogd_num'] = 10 |
153 | default['gitlab']['postgresql']['username'] = "gitlab-psql" | 155 | default['gitlab']['postgresql']['username'] = "gitlab-psql" |
156 | +default['gitlab']['postgresql']['uid'] = nil | ||
157 | +default['gitlab']['postgresql']['gid'] = nil | ||
154 | default['gitlab']['postgresql']['shell'] = "/bin/sh" | 158 | default['gitlab']['postgresql']['shell'] = "/bin/sh" |
155 | default['gitlab']['postgresql']['home'] = "/var/opt/gitlab/postgresql" | 159 | default['gitlab']['postgresql']['home'] = "/var/opt/gitlab/postgresql" |
156 | default['gitlab']['postgresql']['user_path'] = "/opt/gitlab/embedded/bin:/opt/gitlab/bin:$PATH" | 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,6 +195,8 @@ default['gitlab']['redis']['log_directory'] = "/var/log/gitlab/redis" | ||
191 | default['gitlab']['redis']['svlogd_size'] = 1000000 | 195 | default['gitlab']['redis']['svlogd_size'] = 1000000 |
192 | default['gitlab']['redis']['svlogd_num'] = 10 | 196 | default['gitlab']['redis']['svlogd_num'] = 10 |
193 | default['gitlab']['redis']['username'] = "gitlab-redis" | 197 | default['gitlab']['redis']['username'] = "gitlab-redis" |
198 | +default['gitlab']['redis']['uid'] = nil | ||
199 | +default['gitlab']['redis']['gid'] = nil | ||
194 | default['gitlab']['redis']['shell'] = "/bin/nologin" | 200 | default['gitlab']['redis']['shell'] = "/bin/nologin" |
195 | default['gitlab']['redis']['home'] = "/var/opt/gitlab/redis" | 201 | default['gitlab']['redis']['home'] = "/var/opt/gitlab/redis" |
196 | default['gitlab']['redis']['port'] = 6379 | 202 | default['gitlab']['redis']['port'] = 6379 |
files/gitlab-cookbooks/gitlab/recipes/postgresql.rb
@@ -20,8 +20,15 @@ postgresql_dir = node['gitlab']['postgresql']['dir'] | @@ -20,8 +20,15 @@ postgresql_dir = node['gitlab']['postgresql']['dir'] | ||
20 | postgresql_data_dir = node['gitlab']['postgresql']['data_dir'] | 20 | postgresql_data_dir = node['gitlab']['postgresql']['data_dir'] |
21 | postgresql_data_dir_symlink = File.join(postgresql_dir, "data") | 21 | postgresql_data_dir_symlink = File.join(postgresql_dir, "data") |
22 | postgresql_log_dir = node['gitlab']['postgresql']['log_directory'] | 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 | system true | 32 | system true |
26 | shell node['gitlab']['postgresql']['shell'] | 33 | shell node['gitlab']['postgresql']['shell'] |
27 | home node['gitlab']['postgresql']['home'] | 34 | home node['gitlab']['postgresql']['home'] |
files/gitlab-cookbooks/gitlab/recipes/redis.rb
@@ -18,8 +18,15 @@ | @@ -18,8 +18,15 @@ | ||
18 | 18 | ||
19 | redis_dir = node['gitlab']['redis']['dir'] | 19 | redis_dir = node['gitlab']['redis']['dir'] |
20 | redis_log_dir = node['gitlab']['redis']['log_directory'] | 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 | system true | 30 | system true |
24 | shell node['gitlab']['redis']['shell'] | 31 | shell node['gitlab']['redis']['shell'] |
25 | home node['gitlab']['redis']['home'] | 32 | home node['gitlab']['redis']['home'] |
files/gitlab-cookbooks/gitlab/recipes/users.rb
@@ -21,12 +21,15 @@ gitlab_group = node['gitlab']['user']['group'] | @@ -21,12 +21,15 @@ gitlab_group = node['gitlab']['user']['group'] | ||
21 | gitlab_home = node['gitlab']['user']['home'] | 21 | gitlab_home = node['gitlab']['user']['home'] |
22 | 22 | ||
23 | # Create the group for the GitLab user | 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 | # Create the GitLab user | 28 | # Create the GitLab user |
27 | user gitlab_username do | 29 | user gitlab_username do |
28 | shell node['gitlab']['user']['shell'] | 30 | shell node['gitlab']['user']['shell'] |
29 | home gitlab_home | 31 | home gitlab_home |
32 | + uid node['gitlab']['user']['uid'] | ||
30 | gid gitlab_group | 33 | gid gitlab_group |
31 | end | 34 | end |
32 | 35 |