e7430db19d
If the sysadmin changes the gitlab user in /etc/gitlab/gitlab-debian.conf, the package installation or upgrade will fail, because grantpriv.sh will always grant privileges to the gitlab user. Thus adapt grantpriv.sh to honor the gitlab_user setting.
32 lines
984 B
Bash
Executable file
32 lines
984 B
Bash
Executable file
#!/bin/sh
|
|
|
|
dbname=gitlab_production
|
|
|
|
# Take gitlab_user from envornment variable or use gitlab
|
|
test -n "${gitlab_user:-}" || gitlab_user="gitlab"
|
|
|
|
# If gitlab user cannot access gitlab_production,
|
|
# then it means the gitlab role does not exist
|
|
if ! su ${gitlab_user} -c 'psql gitlab_production -c ""'
|
|
then
|
|
echo "Create ${gitlab_user} user with create database privillege..."
|
|
su postgres -c "psql -c \"CREATE USER ${gitlab_user} CREATEDB;\"" || {
|
|
exit 1
|
|
}
|
|
fi
|
|
|
|
# By default the gitlab_prodcution is not owned by gitlab user
|
|
echo "Make ${gitlab_user} user owner of $dbname database..."
|
|
su postgres -c "psql -c \"ALTER DATABASE $dbname OWNER to ${gitlab_user};\"" || {
|
|
exit 1
|
|
}
|
|
|
|
echo "Grant all privileges to ${gitlab_user} user..."
|
|
su postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE template1 to ${gitlab_user};\"" || {
|
|
exit 1
|
|
}
|
|
|
|
# enable the pg_trgm extension
|
|
su postgres -c "psql -d $dbname -c \"CREATE EXTENSION IF NOT EXISTS pg_trgm;\"" || {
|
|
exit 1
|
|
}
|