1{ lib, ... }:
2
3{
4 name = "gotenberg";
5 meta.maintainers = with lib.maintainers; [ pyrox0 ];
6
7 nodes.machine = {
8 services.gotenberg = {
9 enable = true;
10 # fail the service if any of those does not come up
11 chromium.autoStart = true;
12 libreoffice.autoStart = true;
13 };
14 };
15
16 testScript = ''
17 start_all()
18
19 machine.wait_for_unit("gotenberg.service")
20
21 # Gotenberg startup
22 machine.wait_for_open_port(3000)
23
24 # Ensure healthcheck endpoint succeeds
25 machine.succeed("curl http://localhost:3000/health")
26 '';
27}