Merge pull request 'The Simulacrum: Stage 2' (#109) from pr-simulacrum-stage-2 into master

Reviewed-on: https://forge.privatevoid.net///privatevoid.net/depot/pulls/109
This commit is contained in:
Max Headroom 2024-08-14 00:34:12 +03:00
commit 69a6e1a577
4 changed files with 25 additions and 7 deletions

View file

@ -22,6 +22,11 @@ in
]; ];
ready = ./ready.nix; ready = ./ready.nix;
}; };
simulacrum = {
enable = true;
deps = [ "wireguard" ];
settings = ./test.nix;
};
}; };
dns.records."consul-remote.internal".consulService = "consul-remote"; dns.records."consul-remote.internal".consulService = "consul-remote";

View file

@ -0,0 +1,20 @@
{
testScript = ''
import json
start_all()
with subtest("should form cluster"):
nodes = [ n for n in machines if n != nowhere ]
for machine in nodes:
machine.succeed("systemctl start consul-ready.service")
for machine in nodes:
consulConfig = json.loads(machine.succeed("cat /etc/consul.json"))
addr = consulConfig["addresses"]["http"]
port = consulConfig["ports"]["http"]
setEnv = f"CONSUL_HTTP_ADDR={addr}:{port}"
memberList = machine.succeed(f"{setEnv} consul members --status=alive")
for machine2 in nodes:
assert machine2.name in memberList
'';
}

View file

@ -29,7 +29,6 @@ in
reflection = ./reflection; reflection = ./reflection;
shell-config = ./shell-config; shell-config = ./shell-config;
ssh = ./ssh; ssh = ./ssh;
system-info = ./system-info;
system-recovery = ./system-recovery; system-recovery = ./system-recovery;
systemd-extras = ./systemd-extras; systemd-extras = ./systemd-extras;
tested = ./tested; tested = ./tested;
@ -56,7 +55,6 @@ in
motd motd
networking networking
nix-config-server nix-config-server
system-info
system-recovery system-recovery
tested tested
]; ];

View file

@ -1,5 +0,0 @@
{ depot, ... }:
{
system.configurationRevision = depot.rev or null;
}