···
pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
5
-
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com' -days 36500
5
+
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 365 \
6
+
-subj '/C=GB/CN=example.com' -addext "subjectAltName = DNS:example.com,DNS:uploads.example.com,DNS:conference.example.com"
10
+
# Creates and set password for the 2 xmpp test users.
12
+
# Doing that in a bash script instead of doing that in the test
13
+
# script allow us to easily provision the users when running that
14
+
# test interactively.
11
-
pkgs.writeScriptBin "create-prosody-users" ''
12
-
#!${pkgs.bash}/bin/bash
17
+
pkgs.writeShellScriptBin "create-prosody-users" ''
15
-
# Creates and set password for the 2 xmpp test users.
17
-
# Doing that in a bash script instead of doing that in the test
18
-
# script allow us to easily provision the users when running that
19
-
# test interactively.
prosodyctl register cthon98 example.com nothunter2
prosodyctl register azurediamond example.com hunter2
22
+
# Deletes the test users.
26
-
pkgs.writeScriptBin "delete-prosody-users" ''
27
-
#!${pkgs.bash}/bin/bash
25
+
pkgs.writeShellScriptBin "delete-prosody-users" ''
30
-
# Deletes the test users.
32
-
# Doing that in a bash script instead of doing that in the test
33
-
# script allow us to easily provision the users when running that
34
-
# test interactively.
prosodyctl deluser cthon98@example.com
prosodyctl deluser azurediamond@example.com
···
security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
52
-
console.keyMap = "fr-bepo";
networking.extraHosts = ''
54
-
${nodes.server.config.networking.primaryIPAddress} example.com
55
-
${nodes.server.config.networking.primaryIPAddress} conference.example.com
56
-
${nodes.server.config.networking.primaryIPAddress} uploads.example.com
44
+
${nodes.server.networking.primaryIPAddress} example.com
45
+
${nodes.server.networking.primaryIPAddress} conference.example.com
46
+
${nodes.server.networking.primaryIPAddress} uploads.example.com
environment.systemPackages = [
(pkgs.callPackage ./xmpp-sendmessage.nix {
60
-
connectTo = nodes.server.config.networking.primaryIPAddress;
50
+
connectTo = nodes.server.networking.primaryIPAddress;
65
-
{ config, pkgs, ... }:
56
+
{ nodes, pkgs, ... }:
···
security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
75
-
console.keyMap = "fr-bepo";
networking.extraHosts = ''
77
-
${config.networking.primaryIPAddress} example.com
78
-
${config.networking.primaryIPAddress} conference.example.com
79
-
${config.networking.primaryIPAddress} uploads.example.com
67
+
${nodes.server.networking.primaryIPAddress} example.com
68
+
${nodes.server.networking.primaryIPAddress} conference.example.com
69
+
${nodes.server.networking.primaryIPAddress} uploads.example.com
networking.firewall.enable = false;
environment.systemPackages = [
···
domain = "conference.example.com";
domain = "uploads.example.com";
···
137
-
# Check with mysql storage
138
-
mysql.wait_for_unit("mysql.service")
139
-
server.wait_for_unit("prosody.service")
140
-
server.succeed('prosodyctl status | grep "Prosody is running"')
125
+
# Check with mysql storage
127
+
mysql.wait_for_unit("mysql.service")
128
+
server.wait_for_unit("prosody.service")
129
+
server.succeed('prosodyctl status | grep "Prosody is running"')
142
-
server.succeed("create-prosody-users")
143
-
client.succeed("send-message")
144
-
server.succeed("delete-prosody-users")
131
+
server.succeed("create-prosody-users")
132
+
client.succeed("send-message")
133
+
server.succeed("delete-prosody-users")