fieldpoc/docs/extension/nerd.md

870 B

Nerd web interface

Nerd is a web interface for managing extensions.

Source code: https://github.com/dect-e/nerd/

Sync extensions to FieldPOC

Nerd has an HTTP endpoint generation a FieldPOC compatible extensions file.

You can adopt the follwing NixOS configuration snipped. It downloads the JSON file, copies it to the location FieldPOC expects the extensions and reload FieldPOC.

systemd.services.fieldpoc-nerd = {
wantedBy = ["multi-user.target"];
startAt = "*-*-* *:*:00";
script = let
  reloadScript = pkgs.writeText "reload" ''
    spawn ${pkgs.inetutils}/bin/telnet localhost 9437
    expect "> "
    send "reload\n"
    expect "> "
    send "exit\n"
    expect "disconnecting"
  '';
in ''
  ${pkgs.curl}/bin/curl https://nerd.example.com/export.json\?event=1 > /etc/fieldpoc/extensions.json

  ${pkgs.expect}/bin/expect ${reloadScript}
'';
};