- Add missing name parameter to the test function
- Fix PHP deployment - xinetd only accepts HUP when it runs as a daemon, for foreground process use a restart
This commit is contained in:
parent
80e510ab58
commit
479afcda26
|
@ -15,6 +15,11 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
phpPackage = php.override {
|
||||||
|
apxs2Support = true;
|
||||||
|
inherit apacheHttpd;
|
||||||
|
};
|
||||||
|
|
||||||
user = instanceName;
|
user = instanceName;
|
||||||
group = instanceName;
|
group = instanceName;
|
||||||
|
|
||||||
|
@ -51,8 +56,8 @@ let
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
cat ${php}/etc/php.ini > $out
|
cat ${phpPackage}/etc/php.ini > $out
|
||||||
cat ${php.phpIni} > $out
|
cat ${phpPackage.phpIni} > $out
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
import ./default.nix {
|
import ./default.nix {
|
||||||
|
@ -106,7 +111,7 @@ import ./default.nix {
|
||||||
'' else throw "Unknown type for module!"
|
'' else throw "Unknown type for module!"
|
||||||
) modules}
|
) modules}
|
||||||
${lib.optionalString enablePHP ''
|
${lib.optionalString enablePHP ''
|
||||||
LoadModule php_module ${php}/modules/libphp.so
|
LoadModule php_module ${phpPackage}/modules/libphp.so
|
||||||
''}
|
''}
|
||||||
|
|
||||||
ServerAdmin ${serverAdmin}
|
ServerAdmin ${serverAdmin}
|
||||||
|
|
|
@ -39,7 +39,7 @@ let
|
||||||
inherit processManager;
|
inherit processManager;
|
||||||
};
|
};
|
||||||
|
|
||||||
processManagerContainer = lib.recursiveUpdate (stdenv.lib.optionalAttrs (processManager == "supervisord") {
|
processManagerContainer = lib.recursiveUpdate (lib.optionalAttrs (processManager == "supervisord") {
|
||||||
supervisord-program = {
|
supervisord-program = {
|
||||||
supervisordTargetDir = "/etc/supervisor/conf.d";
|
supervisordTargetDir = "/etc/supervisor/conf.d";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "apache-tomcat-ajp-reverse-proxy";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "apache-tomcat";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "apache";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
@ -13,7 +14,7 @@ testService {
|
||||||
|
|
||||||
tests = {instanceName, instance, ...}:
|
tests = {instanceName, instance, ...}:
|
||||||
''
|
''
|
||||||
machine.succeed("curl --fail http://localhost:${toString instance.port} | grep 'Hello world!'")
|
machine.succeed("curl --fail http://localhost:${toString instance.port} | grep 'Hello world'")
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inherit processManagers profiles;
|
inherit processManagers profiles;
|
||||||
|
|
|
@ -50,7 +50,7 @@ let
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h1><?php print("Hello world!"); ?></h1>
|
<h1><?php print("Hello world from PHP!"); ?></h1>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -4,6 +4,7 @@ let
|
||||||
env = "NIX_PATH='nixpkgs=${<nixpkgs>}' SSH_OPTS='-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' DISNIX_REMOTE_CLIENT=disnix-client";
|
env = "NIX_PATH='nixpkgs=${<nixpkgs>}' SSH_OPTS='-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' DISNIX_REMOTE_CLIENT=disnix-client";
|
||||||
in
|
in
|
||||||
testService {
|
testService {
|
||||||
|
name = "disnix-with-apache-mysql";
|
||||||
exprFile = ../../../example-deployments/disnix/processes-with-apache-mysql.nix;
|
exprFile = ../../../example-deployments/disnix/processes-with-apache-mysql.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -4,6 +4,7 @@ let
|
||||||
env = "NIX_PATH='nixpkgs=${<nixpkgs>}' SSH_OPTS='-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' DISNIX_REMOTE_CLIENT=disnix-client";
|
env = "NIX_PATH='nixpkgs=${<nixpkgs>}' SSH_OPTS='-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' DISNIX_REMOTE_CLIENT=disnix-client";
|
||||||
in
|
in
|
||||||
testService {
|
testService {
|
||||||
|
name = "disnix";
|
||||||
exprFile = ../../../example-deployments/disnix/processes-bare.nix;
|
exprFile = ../../../example-deployments/disnix/processes-bare.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -4,6 +4,7 @@ let
|
||||||
env = "NIX_PATH='nixpkgs=${<nixpkgs>}' SSH_OPTS='-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' DISNIX_REMOTE_CLIENT=disnix-client";
|
env = "NIX_PATH='nixpkgs=${<nixpkgs>}' SSH_OPTS='-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' DISNIX_REMOTE_CLIENT=disnix-client";
|
||||||
in
|
in
|
||||||
testService {
|
testService {
|
||||||
|
name = "disnix-with-tomcat-mysql-multi-instance";
|
||||||
exprFile = ../../../example-deployments/disnix/processes-with-tomcat-mysql-multi-instance.nix;
|
exprFile = ../../../example-deployments/disnix/processes-with-tomcat-mysql-multi-instance.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -4,6 +4,7 @@ let
|
||||||
env = "NIX_PATH='nixpkgs=${<nixpkgs>}' DISNIX_CLIENT_INTERFACE=disnix-soap-client DISNIX_TARGET_PROPERTY=targetEPR DISNIX_SOAP_CLIENT_USERNAME=admin DISNIX_SOAP_CLIENT_PASSWORD=secret";
|
env = "NIX_PATH='nixpkgs=${<nixpkgs>}' DISNIX_CLIENT_INTERFACE=disnix-soap-client DISNIX_TARGET_PROPERTY=targetEPR DISNIX_SOAP_CLIENT_USERNAME=admin DISNIX_SOAP_CLIENT_PASSWORD=secret";
|
||||||
in
|
in
|
||||||
testService {
|
testService {
|
||||||
|
name = "disnix-with-tomcat-mysql";
|
||||||
exprFile = ../../../example-deployments/disnix/processes-with-tomcat-mysql.nix;
|
exprFile = ../../../example-deployments/disnix/processes-with-tomcat-mysql.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "docker";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "fcron";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -62,6 +62,7 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
testService {
|
testService {
|
||||||
|
name = "hydra";
|
||||||
exprFile = ../../example-deployments/hydra/processes.nix;
|
exprFile = ../../example-deployments/hydra/processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "influxdb";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
systemPackages = [ pkgs.influxdb ];
|
systemPackages = [ pkgs.influxdb ];
|
||||||
extraParams = {
|
extraParams = {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "mongodb";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
systemPackages = [ pkgs.mongodb ];
|
systemPackages = [ pkgs.mongodb ];
|
||||||
nixosConfig = {
|
nixosConfig = {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "mysql";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "nginx-reverse-proxy-hostbased";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "nginx-reverse-proxy-pathbased";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "nginx";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "postgresql";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -41,6 +41,7 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
testService {
|
testService {
|
||||||
|
name = "s6-svscan";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "sshd";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
@ -32,11 +33,11 @@ testService {
|
||||||
# Make a special exception for the first instance running in privileged mode. It should be connectible with the default settings
|
# Make a special exception for the first instance running in privileged mode. It should be connectible with the default settings
|
||||||
if instanceName == "sshd" && !forceDisableUserChange then ''
|
if instanceName == "sshd" && !forceDisableUserChange then ''
|
||||||
machine.succeed(
|
machine.succeed(
|
||||||
"ssh -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no localhost $(type -p ls) /"
|
"ssh -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no localhost $(type -p ls) / >&2"
|
||||||
)
|
)
|
||||||
'' else ''
|
'' else ''
|
||||||
machine.succeed(
|
machine.succeed(
|
||||||
"${pkgs.lib.optionalString forceDisableUserChange "su unprivileged -c '"}ssh -p ${toString instance.port} -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no localhost $(type -p ls) /${pkgs.lib.optionalString forceDisableUserChange "'"}"
|
"${pkgs.lib.optionalString forceDisableUserChange "su unprivileged -c '"}ssh -p ${toString instance.port} -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no localhost $(type -p ls) /${pkgs.lib.optionalString forceDisableUserChange "'"} >&2"
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
testService {
|
testService {
|
||||||
|
name = "supervisord";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "svnserve";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "vsftpd";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "xinetd";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||||
|
|
||||||
testService {
|
testService {
|
||||||
|
name = "xinetd-extendable";
|
||||||
exprFile = ./processes.nix;
|
exprFile = ./processes.nix;
|
||||||
extraParams = {
|
extraParams = {
|
||||||
inherit nix-processmgmt;
|
inherit nix-processmgmt;
|
||||||
};
|
};
|
||||||
systemPackages = [ pkgs.inetutils ];
|
systemPackages = [ pkgs.inetutils ];
|
||||||
|
|
||||||
tests = {instanceName, instance, stateDir, runtimeDir, forceDisableUserChange, ...}:
|
tests = {instanceName, instance, processManager, stateDir, runtimeDir, forceDisableUserChange, ...}:
|
||||||
if instanceName == "xinetd-primary" then
|
if instanceName == "xinetd-primary" then
|
||||||
let
|
let
|
||||||
tftpService = pkgs.writeTextFile {
|
tftpService = pkgs.writeTextFile {
|
||||||
|
@ -33,8 +34,27 @@ testService {
|
||||||
machine.succeed(
|
machine.succeed(
|
||||||
"cp ${tftpService} ${stateDir}/lib/${instanceName}/xinetd.d"
|
"cp ${tftpService} ${stateDir}/lib/${instanceName}/xinetd.d"
|
||||||
)
|
)
|
||||||
machine.succeed("kill -HUP $(cat ${runtimeDir}/${instanceName}.pid)")
|
|
||||||
|
|
||||||
|
''
|
||||||
|
+ (if processManager == "sysvinit" then
|
||||||
|
''
|
||||||
|
machine.succeed("kill -HUP $(cat ${runtimeDir}/${instanceName}.pid)")
|
||||||
|
''
|
||||||
|
else if processManager == "systemd" then
|
||||||
|
''
|
||||||
|
machine.succeed("systemctl restart nix-process-${instanceName}")
|
||||||
|
''
|
||||||
|
else if processManager == "supervisord" then
|
||||||
|
''
|
||||||
|
machine.succeed("supervisorctl restart ${instanceName}")
|
||||||
|
''
|
||||||
|
else if processManager == "s6-rc" then
|
||||||
|
''
|
||||||
|
machine.succeed("s6-rc -d change ${instanceName}")
|
||||||
|
machine.succeed("s6-rc -u change ${instanceName}")
|
||||||
|
''
|
||||||
|
else throw "Process manager not supported: ${processManager}")
|
||||||
|
+ ''
|
||||||
machine.succeed("echo hello > ${stateDir}/hello.txt")
|
machine.succeed("echo hello > ${stateDir}/hello.txt")
|
||||||
# fmt: off
|
# fmt: off
|
||||||
machine.succeed(
|
machine.succeed(
|
||||||
|
|
Loading…
Reference in New Issue