diff --git a/.renovaterc.json b/.renovaterc.json index bdcce88..556cabc 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -24,10 +24,20 @@ "fileMatch": [ "(^|/)flake\\.nix$" ], - "commitMessageTopic": "flake inputs", + "commitMessageTopic": "nixpkgs", "commitMessageExtra": "to {{newValue}}", "enabled": true }, + "lockFileMaintenance": { + "enabled": true, + "recreateWhen": "always", + "rebaseStalePrs": true, + "branchTopic": "lock-file-maintenance", + "commitMessageAction": "Lock file maintenance", + "schedule": [ + "* 0-1 * * *" + ] + }, "automergeSchedule": [ "* 0-1 * * *" ] diff --git a/flake-modules/tests.nix b/flake-modules/tests.nix index c214710..541e1ca 100644 --- a/flake-modules/tests.nix +++ b/flake-modules/tests.nix @@ -6,6 +6,7 @@ checks = let testDomain = "webnstest.example"; + zoneFile = pkgs.writeText "${testDomain}.zoneinfo" '' $ORIGIN . $TTL 60 ; 1 minute @@ -26,7 +27,7 @@ nsupdate IN AAAA ::1 ''; - webnsupdate-machine = + bindDynamicZone = { config, ... }: let bindCfg = config.services.bind; @@ -34,57 +35,62 @@ dynamicZonesDir = "${bindData}/zones"; in { - imports = [ self.nixosModules.webnsupdate ]; - - config = { - environment.systemPackages = [ - pkgs.dig - pkgs.curl - ]; - - services = { - webnsupdate = { - enable = true; - bindIp = "127.0.0.1"; - keyFile = "/etc/bind/rndc.key"; - # test:test (user:password) - passwordFile = pkgs.writeText "webnsupdate.pass" "FQoNmuU1BKfg8qsU96F6bK5ykp2b0SLe3ZpB3nbtfZA"; - package = self'.packages.webnsupdate; - extraArgs = [ - "-vvv" # debug messages - "--ip-source=ConnectInfo" - ]; - records = '' - test1.${testDomain}. - test2.${testDomain}. - test3.${testDomain}. - ''; - }; - - bind = { - enable = true; - zones.${testDomain} = { - master = true; - file = "${dynamicZonesDir}/${testDomain}"; - extraConfig = '' - allow-update { key rndc-key; }; - ''; - }; - }; + bind = { + zones.${testDomain} = { + master = true; + file = "${dynamicZonesDir}/${testDomain}"; + extraConfig = '' + allow-update { key rndc-key; }; + ''; }; + }; - systemd.services.bind.preStart = '' - # shellcheck disable=SC2211,SC1127 - rm -f ${dynamicZonesDir}/* # reset dynamic zones + systemd.services.bind.preStart = '' + # shellcheck disable=SC2211,SC1127 + rm -f ${dynamicZonesDir}/* # reset dynamic zones - mkdir -m 0755 -p ${dynamicZonesDir} - chown named ${dynamicZonesDir} + # create a dynamic zones dir + mkdir -m 0755 -p ${dynamicZonesDir} + # copy dynamic zone's file to the dynamic zones dir + cp ${zoneFile} ${dynamicZonesDir}/${testDomain} + ''; + }; - # copy dynamic zone's file to the dynamic zones dir - cp ${zoneFile} ${dynamicZonesDir}/${testDomain} - ''; + webnsupdate-machine = { + imports = [ + bindDynamicZone + self.nixosModules.webnsupdate + ]; + + config = { + environment.systemPackages = [ + pkgs.dig + pkgs.curl + ]; + + services = { + bind.enable = true; + + webnsupdate = { + enable = true; + bindIp = "127.0.0.1"; + keyFile = "/etc/bind/rndc.key"; + # test:test (user:password) + passwordFile = pkgs.writeText "webnsupdate.pass" "FQoNmuU1BKfg8qsU96F6bK5ykp2b0SLe3ZpB3nbtfZA"; + package = self'.packages.webnsupdate; + extraArgs = [ + "-vvv" # debug messages + "--ip-source=ConnectInfo" + ]; + records = '' + test1.${testDomain}. + test2.${testDomain}. + test3.${testDomain}. + ''; + }; }; }; + }; in { module-test = pkgs.testers.runNixOSTest {