Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
Nix
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071{ lib, pkgs, ... }:{ name = "syncthing"; meta.maintainers = with pkgs.lib.maintainers; [ chkno ];
nodes = rec { a = { environment.systemPackages = with pkgs; [ curl libxml2 syncthing ]; services.syncthing = { enable = true; openDefaultPorts = true; }; }; b = a; };
testScript = '' import json import shlex
confdir = "/var/lib/syncthing/.config/syncthing"
def addPeer(host, name, deviceID): APIKey = host.succeed( "xmllint --xpath 'string(configuration/gui/apikey)' %s/config.xml" % confdir ).strip() oldConf = host.succeed( "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config" % APIKey ) conf = json.loads(oldConf) conf["devices"].append({"deviceID": deviceID, "id": name}) conf["folders"].append( { "devices": [{"deviceID": deviceID}], "id": "foo", "path": "/var/lib/syncthing/foo", "rescanIntervalS": 1, } ) newConf = json.dumps(conf) host.succeed( "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config -X PUT -d %s" % (APIKey, shlex.quote(newConf)) )
start_all() a.wait_for_unit("syncthing.service") b.wait_for_unit("syncthing.service") a.wait_for_open_port(22000) b.wait_for_open_port(22000)
aDeviceID = a.succeed("syncthing -home=%s -device-id" % confdir).strip() bDeviceID = b.succeed("syncthing -home=%s -device-id" % confdir).strip() addPeer(a, "b", bDeviceID) addPeer(b, "a", aDeviceID)
a.wait_for_file("/var/lib/syncthing/foo") b.wait_for_file("/var/lib/syncthing/foo") a.succeed("echo a2b > /var/lib/syncthing/foo/a2b") b.succeed("echo b2a > /var/lib/syncthing/foo/b2a") a.wait_for_file("/var/lib/syncthing/foo/b2a") b.wait_for_file("/var/lib/syncthing/foo/a2b") '';}