1{ pkgs, ... }:
2{
3 name = "agorakit";
4
5 meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ];
6
7 nodes = {
8 agorakit =
9 { ... }:
10 {
11 services.agorakit = {
12 enable = true;
13 appKeyFile = toString (
14 pkgs.writeText "agorakit-app-key" "uTqGUN5GUmUrh/zSAYmhyzRk62pnpXICyXv9eeITI8k="
15 );
16 hostName = "localhost";
17 database.createLocally = true;
18 mail = {
19 driver = "smtp";
20 encryption = "tls";
21 host = "localhost";
22 port = 1025;
23 fromName = "Agorakit";
24 from = "agorakit@localhost";
25 user = "agorakit@localhost";
26 passwordFile = toString (pkgs.writeText "agorakit-mail-pass" "a-secure-mail-password");
27 };
28 };
29 };
30 };
31
32 testScript = ''
33 start_all()
34
35 agorakit.wait_for_unit("nginx.service")
36 agorakit.wait_for_unit("agorakit-setup.service")
37
38 # Login page should now contain the configured site name
39
40 agorakit.succeed("curl http://localhost/login | grep Agorakit")
41
42 '';
43}