Merge pull request #53952 from Ma27/improve-gitea-module

nixos/gitea: minor fixes
This commit is contained in:
Vladyslav M 2019-01-15 23:55:16 +02:00 committed by GitHub
commit 95a0e24381
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 1 deletions

View file

@ -46,6 +46,9 @@ let
ROOT_PATH = ${cfg.log.rootPath}
LEVEL = ${cfg.log.level}
[service]
DISABLE_REGISTRATION = ${boolToString cfg.disableRegistration}
${cfg.extraConfig}
'';
in
@ -248,6 +251,18 @@ in
description = "Upper level of template and static files path.";
};
disableRegistration = mkEnableOption "the registration lock" // {
description = ''
By default any user can create an account on this <literal>gitea</literal> instance.
This can be disabled by using this option.
<emphasis>Note:</emphasis> please keep in mind that this should be added after the initial
deploy unless <link linkend="opt-services.gitea.useWizard">services.gitea.useWizard</link>
is <literal>true</literal> as the first registered user will be the administrator if
no install wizard is used.
'';
};
extraConfig = mkOption {
type = types.str;
default = "";
@ -263,7 +278,7 @@ in
description = "gitea";
after = [ "network.target" ] ++ lib.optional usePostgresql "postgresql.service" ++ lib.optional useMysql "mysql.service";
wantedBy = [ "multi-user.target" ];
path = [ gitea.bin ];
path = [ gitea.bin pkgs.gitAndTools.git ];
preStart = let
runConfig = "${cfg.stateDir}/custom/conf/app.ini";

View file

@ -64,6 +64,7 @@ with pkgs.lib;
machine =
{ config, pkgs, ... }:
{ services.gitea.enable = true;
services.gitea.disableRegistration = true;
};
testScript = ''
@ -72,6 +73,7 @@ with pkgs.lib;
$machine->waitForUnit('gitea.service');
$machine->waitForOpenPort('3000');
$machine->succeed("curl --fail http://localhost:3000/");
$machine->succeed("curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. Please contact your site administrator.'");
'';
};
}