aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortalyz <kim.lindberger@gmail.com>2019-09-20 18:04:03 +0200
committertalyz <kim.lindberger@gmail.com>2019-09-23 17:55:58 +0200
commitdfc43f7d0a6c22417b4522f42d9c4e196fdbe7f7 (patch)
tree56c25fa91d892f3806839199250b78efef375a51
parent7e325c2251cd9d21f5d7010add19c14f6b7badae (diff)
nixos/gitlab: Document the restriction introduced on statePath
The state path now, since the transition from initialization in preStart to using systemd-tmpfiles, has the following restriction: no parent directory can be owned by any other user than root or the user specified in services.gitlab.user. This is a potentially breaking change and the cause of the error isn't immediately obvious, so document it both in the release notes and statePath description.
-rw-r--r--nixos/doc/manual/release-notes/rl-1909.xml7
-rw-r--r--nixos/modules/services/misc/gitlab.nix10
2 files changed, 16 insertions, 1 deletions
diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
index 19062bbc9d8..e4dcc90cdd3 100644
--- a/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -505,6 +505,13 @@
becomes <literal>services.gitlab.databasePasswordFile = "/path/to/secret_file"</literal> where the
file <literal>secret_file</literal> contains the string <literal>supersecurepassword</literal>.
</para>
+ <para>
+ The state path (<option>services.gitlab.statePath</option>) now has the following restriction:
+ no parent directory can be owned by any other user than <literal>root</literal> or the user
+ specified in <option>services.gitlab.user</option>; i.e. if <option>services.gitlab.statePath</option>
+ is set to <literal>/var/lib/gitlab/state</literal>, <literal>gitlab</literal> and all parent directories
+ must be owned by either <literal>root</literal> or the user specified in <option>services.gitlab.user</option>.
+ </para>
</listitem>
</itemizedlist>
</section>
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 1e1eb0fd9a1..4c1ffead00c 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -223,7 +223,15 @@ in {
statePath = mkOption {
type = types.str;
default = "/var/gitlab/state";
- description = "Gitlab state directory, logs are stored here.";
+ description = ''
+ Gitlab state directory. Configuration, repositories and
+ logs, among other things, are stored here.
+
+ The directory will be created automatically if it doesn't
+ exist already. Its parent directories must be owned by
+ either <literal>root</literal> or the user set in
+ <option>services.gitlab.user</option>.
+ '';
};
backupPath = mkOption {