summaryrefslogtreecommitdiffstats
path: root/nixos/tests/gerrit.nix
diff options
context:
space:
mode:
authorzimbatm <zimbatm@zimbatm.com>2020-03-05 22:11:28 +0100
committerzimbatm <zimbatm@zimbatm.com>2020-03-26 09:28:42 +0100
commitd37a0dca1322126097431d27336384e436687d5e (patch)
tree32c1fb020bd66a8388f4703d5eebc36e81dfb7f6 /nixos/tests/gerrit.nix
parent10c96e5b60cec0025e1576ab451237a291aa5a91 (diff)
nixos: add gerrit module
Co-authored-by: edef <edef@edef.eu> Co-authored-by: Florian Klink <flokli@flokli.de>
Diffstat (limited to 'nixos/tests/gerrit.nix')
-rw-r--r--nixos/tests/gerrit.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/nixos/tests/gerrit.nix b/nixos/tests/gerrit.nix
new file mode 100644
index 000000000000..e8b5cb4c4feb
--- /dev/null
+++ b/nixos/tests/gerrit.nix
@@ -0,0 +1,56 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+let
+ lfs = pkgs.fetchurl {
+ url = "https://gerrit-ci.gerritforge.com/job/plugin-lfs-bazel-master/90/artifact/bazel-bin/plugins/lfs/lfs.jar";
+ sha256 = "023b0kd8djm3cn1lf1xl67yv3j12yl8bxccn42lkfmwxjwjfqw6h";
+ };
+
+in {
+ name = "gerrit";
+
+ meta = with pkgs.stdenv.lib.maintainers; {
+ maintainers = [ flokli zimbatm ];
+ };
+
+ nodes = {
+ server =
+ { config, pkgs, ... }: {
+ networking.firewall.allowedTCPPorts = [ 80 2222 ];
+
+ virtualisation.memorySize = 1024;
+
+ services.gerrit = {
+ enable = true;
+ serverId = "aa76c84b-50b0-4711-a0a0-1ee30e45bbd0";
+ listenAddress = "[::]:80";
+ jvmPackage = pkgs.jdk12_headless;
+ jvmHeapLimit = "1g";
+
+ plugins = [ lfs ];
+ builtinPlugins = [ "hooks" "webhooks" ];
+ settings = {
+ gerrit.canonicalWebUrl = "http://server";
+ lfs.plugin = "lfs";
+ plugins.allowRemoteAdmin = true;
+ sshd.listenAddress = "[::]:2222";
+ sshd.advertisedAddress = "[::]:2222";
+ };
+ };
+ };
+
+ client =
+ { ... }: {
+ };
+ };
+
+ testScript = ''
+ start_all()
+ server.wait_for_unit("gerrit.service")
+ server.wait_for_open_port(80)
+ client.succeed("curl http://server")
+
+ server.wait_for_open_port(2222)
+ client.succeed("nc -z server 2222")
+ '';
+})