From 9916bfca7c94adc5d2ef18947c55aa5a5e234352 Mon Sep 17 00:00:00 2001 From: kalipso Date: Tue, 19 Nov 2024 15:43:23 +0100 Subject: [PATCH 1/4] [doc] add basic microvm documentation --- doc/src/anleitung/microvm.md | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/anleitung/microvm.md b/doc/src/anleitung/microvm.md index 86f13c5..2babba6 100644 --- a/doc/src/anleitung/microvm.md +++ b/doc/src/anleitung/microvm.md @@ -49,4 +49,3 @@ The following example would init and autostart durruti and gitea: ``` nix malobeo.microvm.deployHosts = [ "durruti" "gitea" ]; ``` - -- 2.51.2 From e0efc6dd8790ba8f1201fcb14762490c4d400f8d Mon Sep 17 00:00:00 2001 From: kalipso Date: Tue, 10 Dec 2024 13:59:32 +0100 Subject: [PATCH 2/4] [nix] fix devshell --- outputs.nix | 24 ++++++++++++++++++++++-- shell.nix | 24 ------------------------ 2 files changed, 22 insertions(+), 26 deletions(-) delete mode 100644 shell.nix diff --git a/outputs.nix b/outputs.nix index d4758aa..392401b 100644 --- a/outputs.nix +++ b/outputs.nix @@ -4,6 +4,7 @@ , nixpkgs-unstable , nixos-generators , sops-nix +, microvm , ... } @inputs: @@ -15,8 +16,27 @@ in (utils.lib.eachSystem (builtins.filter filter_system utils.lib.defaultSystems pkgs = nixpkgs.legacyPackages."${system}"; in { - devShells.default = pkgs.callPackage ./shell.nix { - inherit (sops-nix.packages."${pkgs.system}") sops-import-keys-hook ssh-to-pgp sops-init-gpg-key; + devShells.default = + let + sops = sops-nix.packages."${pkgs.system}"; + microvmpkg = microvm.packages."${pkgs.system}"; + in + pkgs.mkShell { + sopsPGPKeyDirs = [ + "./machines/secrets/keys/hosts" + "./machines/secrets/keys/users" + ]; + + nativeBuildInputs = [ + sops.ssh-to-pgp + sops.sops-import-keys-hook + sops.sops-init-gpg-key + pkgs.sops + pkgs.age + pkgs.python310Packages.grip + pkgs.mdbook + microvmpkg.microvm + ]; }; packages = { diff --git a/shell.nix b/shell.nix deleted file mode 100644 index 3799ec9..0000000 --- a/shell.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ mkShell -, sops-import-keys-hook -, ssh-to-pgp -, sops-init-gpg-key -, sops -, pkgs -}: - -mkShell { - sopsPGPKeyDirs = [ - "./machines/secrets/keys/hosts" - "./machines/secrets/keys/users" - ]; - - nativeBuildInputs = [ - ssh-to-pgp - sops-import-keys-hook - sops-init-gpg-key - sops - pkgs.age - pkgs.python310Packages.grip - pkgs.mdbook - ]; -} -- 2.51.2 From 609cfb4f5eb4db8e79d48ce9870d6176b25833cc Mon Sep 17 00:00:00 2001 From: kalipso Date: Tue, 10 Dec 2024 14:00:14 +0100 Subject: [PATCH 3/4] [microvms] fix #39 Microvms are not persistent --- machines/configuration.nix | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/machines/configuration.nix b/machines/configuration.nix index 4b7616a..9259068 100644 --- a/machines/configuration.nix +++ b/machines/configuration.nix @@ -45,12 +45,32 @@ let inputs.microvm.nixosModules.microvm { microvm = { - hypervisor = "qemu"; - shares = [ { - tag = "ro-store"; - source = "/nix/store"; - mountPoint = "/nix/.ro-store"; - } ]; + hypervisor = "cloud-hypervisor"; + mem = 2560; + shares = [ + { + source = "/nix/store"; + mountPoint = "/nix/.ro-store"; + tag = "store"; + proto = "virtiofs"; + socket = "store.socket"; + } + { + source = "/var/lib/microvms/${hostName}/etc"; + mountPoint = "/etc"; + tag = "etc"; + proto = "virtiofs"; + socket = "etc.socket"; + } + { + source = "/var/lib/microvms/${hostName}/var"; + mountPoint = "/var"; + tag = "var"; + proto = "virtiofs"; + socket = "var.socket"; + } + ]; + interfaces = [ { type = "tap"; -- 2.51.2 From 0d7413d04ddb77a0e9f0bc8f1a122f16b8adb25e Mon Sep 17 00:00:00 2001 From: kalipso Date: Tue, 10 Dec 2024 14:00:34 +0100 Subject: [PATCH 4/4] [nixpkgs] update microvm --- flake.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index e247a88..a04df43 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -88,11 +88,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1732122592, - "narHash": "sha256-lF54irx92m8ddNDQDtOUjKsZAnsGyPL3QTO7byjlxNg=", + "lastModified": 1733796600, + "narHash": "sha256-scaQMTs4NnGkd9SZWROr5m0vOZIIhRkk5N7Q+S9zhXQ=", "owner": "astro", "repo": "microvm.nix", - "rev": "19650774c23df84d0b8f315d2527274563497cad", + "rev": "e08aed6e3a32e47e21e57bd2791326ea3f7647be", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1729945407, - "narHash": "sha256-iGNMamNOAnVTETnIVqDWd6fl74J8fLEi1ejdZiNjEtY=", + "lastModified": 1733308308, + "narHash": "sha256-+RcbMAjSxV1wW5UpS9abIG1lFZC8bITPiFIKNnE7RLs=", "ref": "refs/heads/main", - "rev": "f1d94ee7029af18637dbd5fdf4749621533693fa", - "revCount": 764, + "rev": "80c9e9830d460c944c8f730065f18bb733bc7ee2", + "revCount": 792, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, -- 2.51.2