1{ pkgs, ... }:
2
3{
4 name = "gerrit";
5
6 meta = with pkgs.lib.maintainers; {
7 maintainers = [
8 flokli
9 zimbatm
10 ];
11 };
12
13 nodes = {
14 server =
15 { config, pkgs, ... }:
16 {
17 networking.firewall.allowedTCPPorts = [
18 80
19 2222
20 ];
21
22 services.gerrit = {
23 enable = true;
24 serverId = "aa76c84b-50b0-4711-a0a0-1ee30e45bbd0";
25 listenAddress = "[::]:80";
26 jvmHeapLimit = "1g";
27
28 builtinPlugins = [
29 "hooks"
30 "webhooks"
31 ];
32 settings = {
33 gerrit.canonicalWebUrl = "http://server";
34 sshd.listenAddress = "[::]:2222";
35 sshd.advertisedAddress = "[::]:2222";
36 };
37 };
38 };
39
40 client =
41 { ... }:
42 {
43 };
44 };
45
46 testScript = ''
47 start_all()
48 server.wait_for_unit("gerrit.service")
49 server.wait_for_open_port(80)
50 client.succeed("curl http://server")
51
52 server.wait_for_open_port(2222)
53 client.succeed("nc -z server 2222")
54 '';
55}