summaryrefslogtreecommitdiff
path: root/nix/vm.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2023-09-06 18:51:30 -0400
committerseth <[email protected]>2023-09-07 11:50:26 -0400
commit0f3a367d27c909b803baf0185d0b6e0ade968c3a (patch)
tree03b1b04127029289c1356bf2c0597b5aa8a37aec /nix/vm.nix
parent8d8dc0896fc8c7f0d2f10087db39cac4e3149c66 (diff)
flake: start using flake-parts + add vm test
Diffstat (limited to 'nix/vm.nix')
-rw-r--r--nix/vm.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/nix/vm.nix b/nix/vm.nix
new file mode 100644
index 0000000..b4d1f8a
--- /dev/null
+++ b/nix/vm.nix
@@ -0,0 +1,42 @@
+{self, ...}: {
+ name = "guzzle_api-test";
+
+ nodes.machine = _: {
+ imports = [self.nixosModules.default];
+
+ boot.loader.grub.enable = true;
+ virtualisation = {
+ memorySize = 2048;
+ writableStore = true;
+ };
+
+ services = {
+ nginx = {
+ enable = true;
+
+ recommendedGzipSettings = true;
+ recommendedOptimisation = true;
+ recommendedProxySettings = true;
+ recommendedTlsSettings = true;
+ };
+
+ guzzle-api = {
+ enable = true;
+ domain = "test.com";
+ listen = {
+ host = "0.0.0.0";
+ port = 8080;
+ };
+ nginx = {};
+ };
+ };
+ };
+
+ testScript = _: ''
+ machine.start()
+ machine.wait_for_unit("nginx.service")
+ machine.wait_for_unit("guzzle-api.service")
+ machine.wait_for_open_port(8080)
+ machine.succeed("curl 0.0.0.0:8080/get_random_teawie | grep url")
+ '';
+}