Compare commits

..

1 commit

Author SHA1 Message Date
e01ecb8f1b
feat(renovate): enable lockFileMaintenance
Some checks failed
/ build (push) Successful in 2s
/ check (push) Failing after 34s
/ report-size (push) Successful in 8s
This allows it to update the flake.lock and Cargo.lock files.

Also switch from a flake ref to a github ref as renovate cannot resolve
flake refs.
2024-12-29 17:43:33 +01:00

View file

@ -6,6 +6,7 @@
checks = checks =
let let
testDomain = "webnstest.example"; testDomain = "webnstest.example";
dynamicZonesDir = "/var/lib/named/zones";
zoneFile = pkgs.writeText "${testDomain}.zoneinfo" '' zoneFile = pkgs.writeText "${testDomain}.zoneinfo" ''
$ORIGIN . $ORIGIN .
$TTL 60 ; 1 minute $TTL 60 ; 1 minute
@ -26,65 +27,59 @@
nsupdate IN AAAA ::1 nsupdate IN AAAA ::1
''; '';
webnsupdate-machine = webnsupdate-machine = {
{ config, ... }: imports = [ self.nixosModules.webnsupdate ];
let
bindCfg = config.services.bind;
bindData = bindCfg.directory;
dynamicZonesDir = "${bindData}/zones";
in
{
imports = [ self.nixosModules.webnsupdate ];
config = { config = {
environment.systemPackages = [ environment.systemPackages = [
pkgs.dig pkgs.dig
pkgs.curl pkgs.curl
]; ];
services = { services = {
webnsupdate = { webnsupdate = {
enable = true; enable = true;
bindIp = "127.0.0.1"; bindIp = "127.0.0.1";
keyFile = "/etc/bind/rndc.key"; keyFile = "/etc/bind/rndc.key";
# test:test (user:password) # test:test (user:password)
passwordFile = pkgs.writeText "webnsupdate.pass" "FQoNmuU1BKfg8qsU96F6bK5ykp2b0SLe3ZpB3nbtfZA"; passwordFile = pkgs.writeText "webnsupdate.pass" "FQoNmuU1BKfg8qsU96F6bK5ykp2b0SLe3ZpB3nbtfZA";
package = self'.packages.webnsupdate; package = self'.packages.webnsupdate;
extraArgs = [ extraArgs = [
"-vvv" # debug messages "-vvv" # debug messages
"--ip-source=ConnectInfo" "--ip-source=ConnectInfo"
]; ];
records = '' records = ''
test1.${testDomain}. test1.${testDomain}.
test2.${testDomain}. test2.${testDomain}.
test3.${testDomain}. test3.${testDomain}.
''; '';
};
bind = {
enable = true;
zones.${testDomain} = {
master = true;
file = "${dynamicZonesDir}/${testDomain}";
extraConfig = ''
allow-update { key rndc-key; };
'';
};
};
}; };
systemd.services.bind.preStart = '' bind = {
# shellcheck disable=SC2211,SC1127 enable = true;
rm -f ${dynamicZonesDir}/* # reset dynamic zones zones.${testDomain} = {
master = true;
mkdir -m 0755 -p ${dynamicZonesDir} file = "${dynamicZonesDir}/${testDomain}";
chown named ${dynamicZonesDir} extraConfig = ''
allow-update { key rndc-key; };
# copy dynamic zone's file to the dynamic zones dir '';
cp ${zoneFile} ${dynamicZonesDir}/${testDomain} };
''; };
}; };
systemd.services.bind.preStart = ''
# shellcheck disable=SC2211,SC1127
rm -f ${dynamicZonesDir}/* # reset dynamic zones
${pkgs.coreutils}/bin/mkdir -m 0755 -p ${dynamicZonesDir}
chown "named" ${dynamicZonesDir}
chown "named" /var/lib/named
# copy dynamic zone's file to the dynamic zones dir
cp ${zoneFile} ${dynamicZonesDir}/${testDomain}
'';
}; };
};
in in
{ {
module-test = pkgs.testers.runNixOSTest { module-test = pkgs.testers.runNixOSTest {
@ -92,7 +87,6 @@
nodes.machine = webnsupdate-machine; nodes.machine = webnsupdate-machine;
testScript = '' testScript = ''
machine.start(allow_reboot=True) machine.start(allow_reboot=True)
machine.wait_for_unit("bind.service")
machine.wait_for_unit("webnsupdate.service") machine.wait_for_unit("webnsupdate.service")
# ensure base DNS records area available # ensure base DNS records area available