machines/nix/checks/hetzner-sets-ipv6/default.nix
Kaare Hoff Skovgaard 1f7139f793
Some checks failed
/ dev-shell (push) Successful in 1m52s
/ rust-packages (push) Successful in 4m3s
/ check (push) Failing after 4m59s
/ terraform-providers (push) Successful in 11m1s
/ systems (push) Successful in 31m7s
Move monitoring.kaareskovgaard.net to new openbao setup
2025-07-18 00:18:26 +02:00

54 lines
1.5 KiB
Nix

{ inputs, pkgs, ... }:
let
sharedModule = {
# Since it's common for CI not to have $DISPLAY available, explicitly disable graphics support
virtualisation.graphics = false;
};
in
pkgs.nixosTest {
name = "hetzner-sets-ipv6";
nodes = {
machine =
{ ... }:
{
imports = [
inputs.self.nixosModules.hetzner
inputs.self.nixosModules.systemd-boot
inputs.self.nixosModules."virtualisation/qemu-guest"
inputs.disko.nixosModules.disko
sharedModule
];
khscodes.hetzner = {
enable = true;
metadataApiUri = "http://metadata/metadata.yml";
};
system.stateVersion = "25.05";
};
metadata =
{ ... }:
{
imports = [ sharedModule ];
services.nginx = {
enable = true;
virtualHosts = {
"metafata" = {
root = ./root;
};
};
};
networking.firewall.allowedTCPPorts = [ 80 ];
system.stateVersion = "25.05";
};
};
testScript = ''
metadata.start()
metadata.wait_for_unit("nginx.service")
metadata.wait_for_open_port(80)
machine.start()
machine.wait_for_unit("hetzner-static-ip.service")
ipv6 = machine.succeed("ip addr")
assert "dead:beef:cafe::1" in ipv6
# Ensure that rerunning the service works, even when the ip address is already set
machine.succeed("systemctl restart hetzner-static-ip.service")
'';
}