Skip to content
Snippets Groups Projects
Commit cb7d860a authored by Marin Jankovski's avatar Marin Jankovski
Browse files

Merge branch '2074-update-permissions-abort-when-no-registry' into 'master'

Docker: update-permissions, only touch registry if exists

Closes #2074

See merge request !1688
parents ba4f7bff 811210f2
No related branches found
No related tags found
1 merge request!1688Docker: update-permissions, only touch registry if exists
Loading
Loading
@@ -2,49 +2,69 @@
 
set -x
 
# chown_if_exists
# input: matches `chown` command, see `man chown`
# Simply, this checks that the file you're trying to chown actually exists
# before making the chown call. DRY'ing the rest of this script's checks.
chown_if_exists()
{
# the last argument of chown is the file or path
path="${@:${#@}}"
if [ -e "$path" ]; then
echo chown $@
else
echo "skipping, path does not exist: $path"
fi
}
# Fix GitLab permissions
if id -u git; then
# Fix data storage
chown -R git:git /var/opt/gitlab/.ssh
chown -R git:git /var/opt/gitlab/.gitconfig
chown -R git:git /var/opt/gitlab/git-data
chown -R git:git /var/opt/gitlab/gitlab-ci/builds
chown -R git:git /var/opt/gitlab/gitlab-rails
chown -R git:git /var/opt/gitlab/gitlab-shell
chown -R git:gitlab-www /var/opt/gitlab/gitlab-workhorse
chown_if_exists -R git:git /var/opt/gitlab/.ssh
chown_if_exists -R git:git /var/opt/gitlab/.gitconfig
chown_if_exists -R git:git /var/opt/gitlab/git-data
chown_if_exists -R git:git /var/opt/gitlab/gitlab-ci/builds
chown_if_exists -R git:git /var/opt/gitlab/gitlab-rails
chown_if_exists -R git:git /var/opt/gitlab/gitlab-shell
if id -g gitlab-www; then
chown_if_exists -R git:gitlab-www /var/opt/gitlab/gitlab-workhorse
fi
 
# Fix log storage
chown git /var/opt/gitlab/gitlab-workhorse
chown git /var/log/gitlab/gitlab-rails
chown git /var/log/gitlab/gitlab-shell
chown git /var/log/gitlab/sidekiq
chown git /var/log/gitlab/unicorn
chown gitlab-psql /var/log/gitlab/postgresql
chown gitlab-redis /var/log/gitlab/redis
chown_if_exists git /var/opt/gitlab/gitlab-workhorse
chown_if_exists git /var/log/gitlab/gitlab-rails
chown_if_exists git /var/log/gitlab/gitlab-shell
chown_if_exists git /var/log/gitlab/sidekiq
chown_if_exists git /var/log/gitlab/unicorn
 
# Update log files
chown -R git:git /var/log/gitlab/gitlab-rails/*.log
chown -R git:git /var/log/gitlab/gitlab-shell/*.log
chown -R git:git /var/log/gitlab/unicorn/*.log
chown_if_exists -R git:git /var/log/gitlab/gitlab-rails/*.log
chown_if_exists -R git:git /var/log/gitlab/gitlab-shell/*.log
chown_if_exists -R git:git /var/log/gitlab/unicorn/*.log
fi
 
# Fix nginx buffering directory permission
if id -u gitlab-www; then
chown -R gitlab-www:gitlab-www /var/opt/gitlab/nginx/*_temp
chown -R gitlab-www:gitlab-www /var/opt/gitlab/nginx/*_cache
chown_if_exists -R gitlab-www:gitlab-www /var/opt/gitlab/nginx/*_temp
chown_if_exists -R gitlab-www:gitlab-www /var/opt/gitlab/nginx/*_cache
fi
 
# Fix database storage
# Fix database storage and logs
if id -u gitlab-psql; then
chown -R gitlab-psql:gitlab-psql /var/opt/gitlab/postgresql
chown_if_exists -R gitlab-psql:gitlab-psql /var/opt/gitlab/postgresql
chown_if_exists gitlab-psql /var/log/gitlab/postgresql
fi
 
# Fix redis storage
# Fix redis storage and logs
if id -u gitlab-redis; then
chown -R gitlab-redis:gitlab-redis /var/opt/gitlab/redis
chown_if_exists -R gitlab-redis:gitlab-redis /var/opt/gitlab/redis
if id -g git ; then
chown_if_exists gitlab-redis:git /var/opt/gitlab/redis
fi
chown_if_exists gitlab-redis /var/log/gitlab/redis
fi
 
# Fix registry storage
if id -u registry; then
chown -R registry:registry /var/opt/gitlab/gitlab-rails/shared/registry
chown_if_exists -R registry:registry /var/opt/gitlab/gitlab-rails/shared/registry
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment