diff --git a/modules/clan/phonebox/flake-module.nix b/modules/clan/phonebox/flake-module.nix index cbb68d2..c34f28a 100644 --- a/modules/clan/phonebox/flake-module.nix +++ b/modules/clan/phonebox/flake-module.nix @@ -1,4 +1,9 @@ -{ lib, ... }: +{ + inputs, + self, + lib, + ... +}: let module = ./default.nix; in @@ -7,10 +12,11 @@ in phonebox = module; }; perSystem = - { ... }: + { hostPkgs, ... }: { clan.nixosTests.service-phonebox = { imports = [ ./tests/vm/default.nix ]; + _module.args = { inherit self inputs; }; clan.modules."@clan/phonebox" = module; }; diff --git a/modules/clan/phonebox/tests/vm/default.nix b/modules/clan/phonebox/tests/vm/default.nix index 24a5998..11515e3 100644 --- a/modules/clan/phonebox/tests/vm/default.nix +++ b/modules/clan/phonebox/tests/vm/default.nix @@ -1,9 +1,24 @@ { - pkgs, + self, + hostPkgs, + config, + inputs, + lib, ... }: { name = "service-phonebox"; + result.update-vars = + let + relativeDir = lib.removePrefix "${self}/" (toString config.clan.directory); + in + hostPkgs.writeShellScriptBin "update-vars" '' + set -x + export PRJ_ROOT=$(git rev-parse --show-toplevel) + ${ + self.inputs.clan-core.packages.${hostPkgs.system}.clan-cli + }/bin/clan-generate-test-vars $PRJ_ROOT/${relativeDir} ${config.name} + ''; clan = { directory = ./.; diff --git a/modules/clan/phonebox/tests/vm/sops/machines/server/key.json b/modules/clan/phonebox/tests/vm/sops/machines/server/key.json new file mode 100755 index 0000000..c3d29b1 --- /dev/null +++ b/modules/clan/phonebox/tests/vm/sops/machines/server/key.json @@ -0,0 +1,6 @@ +[ + { + "publickey": "age1fdkan6n20swmut0sa86g5a6gxrj8qj2sgqe8hxtw32c0u9rr4drqlyr5mf", + "type": "age" + } +] \ No newline at end of file diff --git a/modules/clan/phonebox/tests/vm/sops/secrets/server-age.key/secret b/modules/clan/phonebox/tests/vm/sops/secrets/server-age.key/secret new file mode 100644 index 0000000..e9574d9 --- /dev/null +++ b/modules/clan/phonebox/tests/vm/sops/secrets/server-age.key/secret @@ -0,0 +1,14 @@ +{ + "data": "ENC[AES256_GCM,data:t+zYfcA2f1sdUNBAl+bRGyhPEl5HZFIu+au6heH3+SoHf0zy+Deh25gaVay/oswIg2q806ozjEnTw9q2eaq0VXwMSAWOoTWteI0=,iv:sXoOmfzoCv6GHe21n2Elxr/GTdViI5vfLzMwOLvf1F4=,tag:Fmo9MjEaKV3BehR/bYRdVw==,type:str]", + "sops": { + "age": [ + { + "recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzVlo0YjZFVFF2VkFlSzBL\ndHp4YTQ5RlNxV2FWNnNScTh5d0hXR05RL0NVCnBVUENNNjg0dTFVcmx3N3djZ25l\ncmxYTVVrNGhGSkdwVThoaC9UVTQ3L2sKLS0tIG1uREdFcXNubGxzUUQ1Rkh5Wnlx\nRG5OZmJwaGh2dkt6RSttb0gxZ3FBaEkKZzwUuQmOeBk5kfRfVVdqgNvsTU1Ssb/I\nx9Iv9w/YKHDmmcFLcAbGAHbS0/Js0YqBKZonxEMDdWP/+/F+Pv8LqQ==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2025-10-31T07:08:30Z", + "mac": "ENC[AES256_GCM,data:CBuTnVIta0eFqlB7ZpDkzPOEGbIQbb5oCpksI4umscB3uE0HM3j4N5r6bCPEcYpehB3qWXuCxlj4NfH7zmp6CDq6Be6bfpB1f8MCwTlPvQUho2f31so3U/g99q6ZyWI2rJO50dzn77bdma3JXo9VQb3uRqJ0mk72IYXFwdHvO9s=,iv:9uwjtGYpqsLcXRoBFmjJjfHUq7R47ZqkrKEXMulw4OY=,tag:4Auq3mnhlusogyW44SJfqg==,type:str]", + "version": "3.11.0" + } +} diff --git a/modules/clan/phonebox/tests/vm/sops/secrets/server-age.key/users/admin b/modules/clan/phonebox/tests/vm/sops/secrets/server-age.key/users/admin new file mode 120000 index 0000000..9e21a99 --- /dev/null +++ b/modules/clan/phonebox/tests/vm/sops/secrets/server-age.key/users/admin @@ -0,0 +1 @@ +../../../users/admin \ No newline at end of file diff --git a/modules/clan/phonebox/tests/vm/sops/users/admin/key.json b/modules/clan/phonebox/tests/vm/sops/users/admin/key.json new file mode 100644 index 0000000..e408aa9 --- /dev/null +++ b/modules/clan/phonebox/tests/vm/sops/users/admin/key.json @@ -0,0 +1,4 @@ +{ + "publickey": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg", + "type": "age" +} diff --git a/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-local-number/value b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-local-number/value new file mode 100644 index 0000000..d8e8508 --- /dev/null +++ b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-local-number/value @@ -0,0 +1 @@ +fake_line_value \ No newline at end of file diff --git a/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-password/machines/server b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-password/machines/server new file mode 120000 index 0000000..2bd819e --- /dev/null +++ b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-password/machines/server @@ -0,0 +1 @@ +../../../../../../sops/machines/server \ No newline at end of file diff --git a/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-password/secret b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-password/secret new file mode 100644 index 0000000..6fc40d6 --- /dev/null +++ b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-password/secret @@ -0,0 +1,18 @@ +{ + "data": "ENC[AES256_GCM,data:L4fWAVQdQP2tgYPzUnDY5X0=,iv:fWeTc1buW/JI/8qngZwzDp+wq2OTZPGdItqG0Up5eZ8=,tag:RJt6PQdCisDhtbr3ph3fWA==,type:str]", + "sops": { + "age": [ + { + "recipient": "age1fdkan6n20swmut0sa86g5a6gxrj8qj2sgqe8hxtw32c0u9rr4drqlyr5mf", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFK2x0SkcxK2RxTDRvOEpZ\nTS9QNGJxbmZIL2xtUWxyNjA2VDNVWEQzQVc4CkkxeEZDQm1mQVdUUzVIQThDVkV3\nU2lWbnlnb3lqWDZ0NWRqa2RJV0pVK1UKLS0tIHc5eUJBUUtiL0NwZDRnN004UEtr\nYnU2SWlFOGlucTdydGVmZCtGK3NjS28KkNAxwz9MesicLWtViL302AwZYdiTHmd5\nppbwelisNVlsYHSa5ybVDYER4IUz1d8AKO0jtS7qEDfT53R36swSAA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArbEpzdk0xQTFkM2V0K2xz\nRFhDak0ybkhZUjJJdVI4YTl3cStXT2hTZDBFCmRvQ3ZXYkQ1NktCb004ZE1FS1FF\naSt4RlVXSlRhYWdlQ3htTkdkb2dyVDAKLS0tIG16VFNQM0dnaGVSRmlFRFB0WWtW\nN0dPL08rV01sY3ovRnEvUnNMaWVhd2sKvQIZIo5pPMXKh9Ea3ZgHj99Dn1X3JkmB\noscG8S7HOJh/cw+uITmkuv00TyIA9pid6L1kXvfcfv+tcuY9H1Vg4w==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2025-10-31T07:08:30Z", + "mac": "ENC[AES256_GCM,data:bmvshL97XNvNYYg0EjkUAQViHpKJ/+A+CGE90/uSM2WXooJF5yzvVJSHLAuYxWM295awN8ygTRUZ2VJ0SyfjzjAyUIH4SxqlrgywqMouyVsiFDAB6R4AmMmbvvC6rSs/TSMOwYC5pchrISbpsE2kmJnAXCqcev6Q0fl8Sa1PSxo=,iv:BuBQCFb3EWfG+bPzgaRDseDq6MJQ/Fs8okvksvEj1bA=,tag:n14VDbQk+zl+XbJPkTRAGg==,type:str]", + "version": "3.11.0" + } +} diff --git a/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-password/users/admin b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-password/users/admin new file mode 120000 index 0000000..ca714e1 --- /dev/null +++ b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/ata-password/users/admin @@ -0,0 +1 @@ +../../../../../../sops/users/admin \ No newline at end of file diff --git a/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/server-prefix-number/value b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/server-prefix-number/value new file mode 100644 index 0000000..d8e8508 --- /dev/null +++ b/modules/clan/phonebox/tests/vm/vars/per-machine/server/phonebox/server-prefix-number/value @@ -0,0 +1 @@ +fake_line_value \ No newline at end of file diff --git a/modules/clan/phonebox/tests/vm/vars/per-machine/server/state-version/version/value b/modules/clan/phonebox/tests/vm/vars/per-machine/server/state-version/version/value new file mode 100644 index 0000000..115ab7a --- /dev/null +++ b/modules/clan/phonebox/tests/vm/vars/per-machine/server/state-version/version/value @@ -0,0 +1 @@ +25.11 \ No newline at end of file