Commit Graph

73 Commits

Author SHA1 Message Date
Jörg Thalheim
eeac4902ab re-anble pulseaudio in qemu 2024-01-10 15:32:37 +01:00
DavHau
520ff0b334 VMs: ensure state dirs don't collide between clans 2024-01-09 17:22:48 +07:00
DavHau
c29e0086a4 VMs: persist state folders on host
Done:
- move vm inspect attrs from system.clan.vm.config to clanCore.vm.inspect. This gives us proper name and type checking. everything in `system` is basically freeform, so the previous option definitions were never enforced
- when running VMs, mount state directory from ~/.config/clan/vmstate/{...} from the host to /var/vmstate inside the vm
- create bind mount inside the VM from /var/vmstate/{folder} to / for all folders defined in clanCore.state.<name>.folders

TODOs:
- make sure directories in ~/.config/clan/vmstate never collide (include hash of clan-url, etc.)
- port impure test to python
2024-01-08 18:38:07 +07:00
Qubasa
3f55c688d9 Refactor subprocess to cmd.py part 1. Fixed clan_uri test. 2024-01-02 17:21:06 +01:00
Qubasa
33afa04b38 cli: fixed run vm not working with url 2023-12-31 13:56:55 +01:00
Qubasa
c4799f1e9a Added gcroot for clan Icon and VM 2023-12-31 00:49:57 +01:00
Qubasa
330ef00a7c Removed python deal. 2023-12-30 23:10:43 +01:00
Qubasa
cb06353451 pytest: Removed -s flag for CI 2023-12-26 18:20:41 +01:00
Qubasa
ca265b0c59 UI: Added process executor. Display vm status correctly in list. | CLI: Added get_qemu_version(), fixed virtio audio bug. 2023-12-26 18:02:43 +01:00
Jörg Thalheim
de38ce47ee switch to virtio-audio 2023-12-21 15:39:27 +01:00
a-kenji
8e84f7997a vms/run: remove superfluous command 2023-12-14 15:45:45 +01:00
a-kenji
7b5fffdaf4 vms/run: fix virtual machines spawning multiple windows 2023-12-14 08:55:12 +01:00
Qubasa
d4b8cef242 Added clan flakes inspect command. Improved ClanURI. Added democlan as dependency in flake.nix 2023-12-09 00:09:21 +01:00
Jörg Thalheim
9704b5bd6f disable tty0 when using wayland
we don't vga output and use our serial console instead
2023-12-08 16:19:09 +01:00
Jörg Thalheim
4b9635c706 move clanName into nixos machine configuration 2023-12-08 16:03:29 +01:00
Jörg Thalheim
1496f45fe2 prefix nixpkgs# explicitly in nix_shell
This makes the function usage less confusing (you can now tell from the call side what are flags and what is passed to nix-shell) and allows to use different flakes to download packages.
2023-12-08 15:14:14 +01:00
Jörg Thalheim
f6d4c721c4 vms/run: split large vm run method into smaller ones 2023-12-08 15:09:48 +01:00
Jörg Thalheim
c4a8193047 add wayland option 2023-12-08 14:13:47 +01:00
Jörg Thalheim
a98b5e205f make vm inspect non-async 2023-12-08 13:59:24 +01:00
Jörg Thalheim
b8b4bedfdb vms/run: rename flake_url to flake-url 2023-12-08 13:40:28 +01:00
Jörg Thalheim
48d7d5f38c vms/run/inspect: also make it more type-safe
nix will show proper error messages when it cannot find a flake.
2023-12-08 12:08:48 +01:00
Jörg Thalheim
31196e3d3c vms/run: make flake field option always have a value 2023-12-08 12:08:45 +01:00
Jörg Thalheim
fa0a7ce122 make cli options more type safe using a dataclass 2023-12-08 11:31:29 +01:00
Jörg Thalheim
f261578187 make sure that flake url is always set in the cli 2023-12-08 11:05:22 +01:00
Jörg Thalheim
7bc54cb524 get rid of task_manager 2023-12-06 15:53:23 +01:00
Jörg Thalheim
3ae1c9cf75 integegrate remote-viewer instead of spicy 2023-11-29 16:07:12 +01:00
Jörg Thalheim
f1b223d0a1 modernisation for python 3.11 2023-11-29 13:29:45 +00:00
Jörg Thalheim
26e3e3872c enable more linting 2023-11-29 13:29:45 +00:00
Jörg Thalheim
884c200061 rename vms create to vms run 2023-11-24 15:00:08 +01:00
Jörg Thalheim
81512b99a3 start spice in background 2023-11-23 17:56:05 +01:00
Jörg Thalheim
63a74ced2e spice: use unix socket instead of tcp 2023-11-23 17:34:06 +01:00
Jörg Thalheim
8a0ecd802e switch to spice for graphical vms 2023-11-23 16:59:07 +01:00
Jörg Thalheim
47d0dd297f vms: start with cpu=max
This unlocks some cpu extensions
2023-11-23 16:55:36 +01:00
Jörg Thalheim
7afaaf8c5a get rid of pydantic in cli 2023-11-21 12:48:35 +00:00
lassulus
1ea13646ea clan_cli: flake_name -> flake_dir 2023-11-15 16:23:28 +01:00
Jörg Thalheim
9358dfb666 drop verbose command logging in task manager 2023-11-15 07:21:26 +01:00
Jörg Thalheim
54ede8a0ff vms/create: drop extra flake argument and make it work with local flakes 2023-11-10 13:43:14 +01:00
lassulus
7b3d3e20b4 clan-cli secrets: flake_name -> flake_dir 2023-11-05 16:58:48 +01:00
Qubasa
efa48052cf API: Added /api/flake/list. Added API grouping and description for better visibility 2023-11-03 22:05:33 +01:00
Jörg Thalheim
5cb4019942 switch from black to ruff for formatting 2023-11-03 13:38:13 +01:00
Jörg Thalheim
e1efaedc38 add nix option flag that is passed to underlying nix commands 2023-11-03 12:28:26 +01:00
Jörg Thalheim
d562c6ac5f vms/create: try virtio for vga
seems to suck less than std.
2023-10-31 15:34:53 +01:00
Jörg Thalheim
06aaa35119 vms/create: use tmpdir again 2023-10-31 13:53:54 +01:00
Jörg Thalheim
60721e442d vms/create: allow xchg/secrets dir to exist 2023-10-31 13:53:54 +01:00
Qubasa
674d84a43a Fixing test_vms_api test 2023-10-27 19:26:03 +02:00
Qubasa
b1d0129fc0 Commit only for debugging Container 2023-10-27 19:26:03 +02:00
Qubasa
c1b4fa6d55 nix fmt 2023-10-27 19:21:50 +02:00
Qubasa
3581e0c9a8 Fixing a multitude of tests 2023-10-27 19:21:50 +02:00
Qubasa
d1c35301e3 Added repro_env_break debugging command. This spawn a terminal inside the temp home folder with the same environment as the python test 2023-10-27 19:20:17 +02:00
Qubasa
26bfb793b1 Added ref to Qubasa-main in template/new-clan/flake.nix 2023-10-27 19:20:17 +02:00