- 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
|
||||
phpPackage = php.override {
|
||||
apxs2Support = true;
|
||||
inherit apacheHttpd;
|
||||
};
|
||||
|
||||
user = instanceName;
|
||||
group = instanceName;
|
||||
|
||||
|
@ -51,8 +56,8 @@ let
|
|||
preferLocalBuild = true;
|
||||
}
|
||||
''
|
||||
cat ${php}/etc/php.ini > $out
|
||||
cat ${php.phpIni} > $out
|
||||
cat ${phpPackage}/etc/php.ini > $out
|
||||
cat ${phpPackage.phpIni} > $out
|
||||
'';
|
||||
in
|
||||
import ./default.nix {
|
||||
|
@ -106,7 +111,7 @@ import ./default.nix {
|
|||
'' else throw "Unknown type for module!"
|
||||
) modules}
|
||||
${lib.optionalString enablePHP ''
|
||||
LoadModule php_module ${php}/modules/libphp.so
|
||||
LoadModule php_module ${phpPackage}/modules/libphp.so
|
||||
''}
|
||||
|
||||
ServerAdmin ${serverAdmin}
|
||||
|
|
|
@ -39,7 +39,7 @@ let
|
|||
inherit processManager;
|
||||
};
|
||||
|
||||
processManagerContainer = lib.recursiveUpdate (stdenv.lib.optionalAttrs (processManager == "supervisord") {
|
||||
processManagerContainer = lib.recursiveUpdate (lib.optionalAttrs (processManager == "supervisord") {
|
||||
supervisord-program = {
|
||||
supervisordTargetDir = "/etc/supervisor/conf.d";
|
||||
};
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "apache-tomcat-ajp-reverse-proxy";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "apache-tomcat";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "apache";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
@ -13,7 +14,7 @@ testService {
|
|||
|
||||
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;
|
||||
|
|
|
@ -50,7 +50,7 @@ let
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<h1><?php print("Hello world!"); ?></h1>
|
||||
<h1><?php print("Hello world from PHP!"); ?></h1>
|
||||
</body>
|
||||
</html>
|
||||
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";
|
||||
in
|
||||
testService {
|
||||
name = "disnix-with-apache-mysql";
|
||||
exprFile = ../../../example-deployments/disnix/processes-with-apache-mysql.nix;
|
||||
extraParams = {
|
||||
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";
|
||||
in
|
||||
testService {
|
||||
name = "disnix";
|
||||
exprFile = ../../../example-deployments/disnix/processes-bare.nix;
|
||||
extraParams = {
|
||||
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";
|
||||
in
|
||||
testService {
|
||||
name = "disnix-with-tomcat-mysql-multi-instance";
|
||||
exprFile = ../../../example-deployments/disnix/processes-with-tomcat-mysql-multi-instance.nix;
|
||||
extraParams = {
|
||||
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";
|
||||
in
|
||||
testService {
|
||||
name = "disnix-with-tomcat-mysql";
|
||||
exprFile = ../../../example-deployments/disnix/processes-with-tomcat-mysql.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "docker";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "fcron";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -62,6 +62,7 @@ let
|
|||
};
|
||||
in
|
||||
testService {
|
||||
name = "hydra";
|
||||
exprFile = ../../example-deployments/hydra/processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "influxdb";
|
||||
exprFile = ./processes.nix;
|
||||
systemPackages = [ pkgs.influxdb ];
|
||||
extraParams = {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "mongodb";
|
||||
exprFile = ./processes.nix;
|
||||
systemPackages = [ pkgs.mongodb ];
|
||||
nixosConfig = {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "mysql";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "nginx-reverse-proxy-hostbased";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "nginx-reverse-proxy-pathbased";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "nginx";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "postgresql";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -41,6 +41,7 @@ let
|
|||
};
|
||||
in
|
||||
testService {
|
||||
name = "s6-svscan";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "sshd";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
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
|
||||
if instanceName == "sshd" && !forceDisableUserChange then ''
|
||||
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 ''
|
||||
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
|
||||
testService {
|
||||
name = "supervisord";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "svnserve";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "vsftpd";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "xinetd";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
{ pkgs, testService, processManagers, profiles, nix-processmgmt }:
|
||||
|
||||
testService {
|
||||
name = "xinetd-extendable";
|
||||
exprFile = ./processes.nix;
|
||||
extraParams = {
|
||||
inherit nix-processmgmt;
|
||||
};
|
||||
systemPackages = [ pkgs.inetutils ];
|
||||
|
||||
tests = {instanceName, instance, stateDir, runtimeDir, forceDisableUserChange, ...}:
|
||||
tests = {instanceName, instance, processManager, stateDir, runtimeDir, forceDisableUserChange, ...}:
|
||||
if instanceName == "xinetd-primary" then
|
||||
let
|
||||
tftpService = pkgs.writeTextFile {
|
||||
|
@ -33,8 +34,27 @@ testService {
|
|||
machine.succeed(
|
||||
"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")
|
||||
# fmt: off
|
||||
machine.succeed(
|
||||
|
|
Loading…
Reference in New Issue