diff --git a/services-agnostic/apache/simple-webapp-apache.nix b/services-agnostic/apache/simple-webapp-apache.nix index fe592d5..d4aac0d 100644 --- a/services-agnostic/apache/simple-webapp-apache.nix +++ b/services-agnostic/apache/simple-webapp-apache.nix @@ -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} diff --git a/services-agnostic/disnix-service/dysnomia-env.nix b/services-agnostic/disnix-service/dysnomia-env.nix index c4f62b6..65e3015 100644 --- a/services-agnostic/disnix-service/dysnomia-env.nix +++ b/services-agnostic/disnix-service/dysnomia-env.nix @@ -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"; }; diff --git a/tests/apache-tomcat-ajp-reverse-proxy/default.nix b/tests/apache-tomcat-ajp-reverse-proxy/default.nix index 6e2ab02..c6a689a 100644 --- a/tests/apache-tomcat-ajp-reverse-proxy/default.nix +++ b/tests/apache-tomcat-ajp-reverse-proxy/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "apache-tomcat-ajp-reverse-proxy"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/apache-tomcat/default.nix b/tests/apache-tomcat/default.nix index 279bf7d..f4dc425 100644 --- a/tests/apache-tomcat/default.nix +++ b/tests/apache-tomcat/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "apache-tomcat"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/apache/default.nix b/tests/apache/default.nix index 744f8b9..3e905ea 100644 --- a/tests/apache/default.nix +++ b/tests/apache/default.nix @@ -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; diff --git a/tests/apache/processes.nix b/tests/apache/processes.nix index 6ac6b62..d585739 100644 --- a/tests/apache/processes.nix +++ b/tests/apache/processes.nix @@ -50,7 +50,7 @@ let -

+

EOF diff --git a/tests/disnix/apache-mysql/default.nix b/tests/disnix/apache-mysql/default.nix index 99470d7..795027b 100644 --- a/tests/disnix/apache-mysql/default.nix +++ b/tests/disnix/apache-mysql/default.nix @@ -4,6 +4,7 @@ let env = "NIX_PATH='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; diff --git a/tests/disnix/bare/default.nix b/tests/disnix/bare/default.nix index cfa5e12..5833c25 100644 --- a/tests/disnix/bare/default.nix +++ b/tests/disnix/bare/default.nix @@ -4,6 +4,7 @@ let env = "NIX_PATH='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; diff --git a/tests/disnix/tomcat-mysql-multi-instance/default.nix b/tests/disnix/tomcat-mysql-multi-instance/default.nix index 41b18c5..ed8f84c 100644 --- a/tests/disnix/tomcat-mysql-multi-instance/default.nix +++ b/tests/disnix/tomcat-mysql-multi-instance/default.nix @@ -4,6 +4,7 @@ let env = "NIX_PATH='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; diff --git a/tests/disnix/tomcat-mysql/default.nix b/tests/disnix/tomcat-mysql/default.nix index 2e8291f..d755ecc 100644 --- a/tests/disnix/tomcat-mysql/default.nix +++ b/tests/disnix/tomcat-mysql/default.nix @@ -4,6 +4,7 @@ let env = "NIX_PATH='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; diff --git a/tests/docker/default.nix b/tests/docker/default.nix index f276835..1a58791 100644 --- a/tests/docker/default.nix +++ b/tests/docker/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "docker"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/fcron/default.nix b/tests/fcron/default.nix index 298da80..0805e3a 100644 --- a/tests/fcron/default.nix +++ b/tests/fcron/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "fcron"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/hydra/default.nix b/tests/hydra/default.nix index 0bb1538..83461b5 100644 --- a/tests/hydra/default.nix +++ b/tests/hydra/default.nix @@ -62,6 +62,7 @@ let }; in testService { + name = "hydra"; exprFile = ../../example-deployments/hydra/processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/influxdb/default.nix b/tests/influxdb/default.nix index 9e9b774..d4b9a5d 100644 --- a/tests/influxdb/default.nix +++ b/tests/influxdb/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "influxdb"; exprFile = ./processes.nix; systemPackages = [ pkgs.influxdb ]; extraParams = { diff --git a/tests/mongodb/default.nix b/tests/mongodb/default.nix index d087355..404b502 100644 --- a/tests/mongodb/default.nix +++ b/tests/mongodb/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "mongodb"; exprFile = ./processes.nix; systemPackages = [ pkgs.mongodb ]; nixosConfig = { diff --git a/tests/mysql/default.nix b/tests/mysql/default.nix index 90d0def..8651184 100644 --- a/tests/mysql/default.nix +++ b/tests/mysql/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "mysql"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/nginx/reverse-proxy-hostbased/default.nix b/tests/nginx/reverse-proxy-hostbased/default.nix index abce327..77f7965 100644 --- a/tests/nginx/reverse-proxy-hostbased/default.nix +++ b/tests/nginx/reverse-proxy-hostbased/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "nginx-reverse-proxy-hostbased"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/nginx/reverse-proxy-pathbased/default.nix b/tests/nginx/reverse-proxy-pathbased/default.nix index 107c17f..044f6bd 100644 --- a/tests/nginx/reverse-proxy-pathbased/default.nix +++ b/tests/nginx/reverse-proxy-pathbased/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "nginx-reverse-proxy-pathbased"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/nginx/simple-webapp/default.nix b/tests/nginx/simple-webapp/default.nix index 226d0dd..5e5783e 100644 --- a/tests/nginx/simple-webapp/default.nix +++ b/tests/nginx/simple-webapp/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "nginx"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/postgresql/default.nix b/tests/postgresql/default.nix index c551975..50fbaf2 100644 --- a/tests/postgresql/default.nix +++ b/tests/postgresql/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "postgresql"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/s6-svscan/default.nix b/tests/s6-svscan/default.nix index 6f75223..5a7abb4 100644 --- a/tests/s6-svscan/default.nix +++ b/tests/s6-svscan/default.nix @@ -41,6 +41,7 @@ let }; in testService { + name = "s6-svscan"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/sshd/default.nix b/tests/sshd/default.nix index a59554e..600f77b 100644 --- a/tests/sshd/default.nix +++ b/tests/sshd/default.nix @@ -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" ) ''; diff --git a/tests/supervisord/default.nix b/tests/supervisord/default.nix index 595f9a3..579e774 100644 --- a/tests/supervisord/default.nix +++ b/tests/supervisord/default.nix @@ -26,6 +26,7 @@ let }; in testService { + name = "supervisord"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/svnserve/default.nix b/tests/svnserve/default.nix index bca104a..54df299 100644 --- a/tests/svnserve/default.nix +++ b/tests/svnserve/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "svnserve"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/vsftpd/default.nix b/tests/vsftpd/default.nix index 703a20e..67a6a83 100644 --- a/tests/vsftpd/default.nix +++ b/tests/vsftpd/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "vsftpd"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/xinetd/declarative/default.nix b/tests/xinetd/declarative/default.nix index a3532b2..99df551 100644 --- a/tests/xinetd/declarative/default.nix +++ b/tests/xinetd/declarative/default.nix @@ -1,6 +1,7 @@ { pkgs, testService, processManagers, profiles, nix-processmgmt }: testService { + name = "xinetd"; exprFile = ./processes.nix; extraParams = { inherit nix-processmgmt; diff --git a/tests/xinetd/extendable/default.nix b/tests/xinetd/extendable/default.nix index 4d8cda9..8291f1c 100644 --- a/tests/xinetd/extendable/default.nix +++ b/tests/xinetd/extendable/default.nix @@ -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(