Merge pull request #93424 from helsinki-systems/feat/gitlab-mailroom

nixos/gitlab: Support incoming mail

Changed files
+23
nixos
modules
services
+17
nixos/modules/services/misc/gitlab.nix
···
};
};
+
systemd.services.gitlab-mailroom = mkIf (gitlabConfig.production.incoming_email.enabled or false) {
+
description = "GitLab incoming mail daemon";
+
after = [ "network.target" "redis.service" "gitlab.service" ]; # gitlab.service creates configs
+
wantedBy = [ "multi-user.target" ];
+
environment = gitlabEnv;
+
serviceConfig = {
+
Type = "simple";
+
TimeoutSec = "infinity";
+
Restart = "on-failure";
+
+
User = cfg.user;
+
Group = cfg.group;
+
ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/bundle exec mail_room -c ${cfg.packages.gitlab}/share/gitlab/config.dist/mail_room.yml";
+
WorkingDirectory = gitlabEnv.HOME;
+
};
+
};
+
systemd.services.gitlab = {
after = [ "gitlab-workhorse.service" "gitaly.service" "network.target" "gitlab-postgresql.service" "redis.service" ];
requires = [ "gitlab-sidekiq.service" ];
+6
nixos/modules/services/misc/gitlab.xml
···
</para>
<para>
+
When <literal>icoming_mail.enabled</literal> is set to <literal>true</literal>
+
in <link linkend="opt-services.gitlab.extraConfig">extraConfig</link> an additional
+
service called <literal>gitlab-mailroom</literal> is enabled for fetching incoming mail.
+
</para>
+
+
<para>
Refer to <xref linkend="ch-options" /> for all available configuration
options for the
<link linkend="opt-services.gitlab.enable">services.gitlab</link> module.