mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 23:36:17 +01:00
nixos/gitlab: Clean up the config dir more thoroughly
This removes all the subdirectories in `config` on start. From one version of GitLab to the next, the files in the `config` directory changes. Since we're only overwriting the existing files with ones from the repo, cruft sometimes gets left behind, occationally causing issues. Ideally, all configuration put in the `config` directory is declared by NixOS options and we could just remove the whole directory on start, but I'm not sure if that's the case. It would also require a little bit of additional rework and testing. The subdirectories, however, should seldom contain user configuration and the ones that frequently does, `initializers`, is already removed on start.
This commit is contained in:
parent
cc8ad48f0b
commit
2ec397ff9f
1 changed files with 4 additions and 5 deletions
|
@ -703,7 +703,6 @@ in {
|
|||
"d ${cfg.statePath} 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/builds 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/config 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/config/initializers 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/db 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/log 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/repositories 2770 ${cfg.user} ${cfg.group} -"
|
||||
|
@ -879,10 +878,12 @@ in {
|
|||
preStart = ''
|
||||
set -eu
|
||||
|
||||
umask u=rwx,g=rx,o=
|
||||
|
||||
cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
||||
rm -rf ${cfg.statePath}/db/*
|
||||
rm -rf ${cfg.statePath}/config/initializers/*
|
||||
rm -f ${cfg.statePath}/lib
|
||||
find '${cfg.statePath}/config/' -maxdepth 1 -mindepth 1 -type d -execdir rm -rf {} \;
|
||||
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
|
||||
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
|
||||
ln -sf ${extraGitlabRb} ${cfg.statePath}/config/initializers/extra-gitlab.rb
|
||||
|
@ -929,9 +930,7 @@ in {
|
|||
"${cfg.statePath}/config/gitlab.yml"
|
||||
}
|
||||
|
||||
if [[ -h '${cfg.statePath}/config/secrets.yml' ]]; then
|
||||
rm '${cfg.statePath}/config/secrets.yml'
|
||||
fi
|
||||
rm -f '${cfg.statePath}/config/secrets.yml'
|
||||
|
||||
export secret="$(<'${cfg.secrets.secretFile}')"
|
||||
export db="$(<'${cfg.secrets.dbFile}')"
|
||||
|
|
Loading…
Reference in a new issue