Jörg Thalheim
ef202a8150
switch to sops-nix experimental branch
2024-02-13 11:45:23 +01:00
Jörg Thalheim
d6b3e03d70
vms: integrate virtiofsd
2024-02-13 11:44:17 +01:00
Qubasa
0ce8bcd018
clan_vm_manager: Added VM shutdown timeout
2024-02-12 14:16:44 +07:00
DavHau
02dd132e08
vms: init graceful shutdown for GUI
...
- add python modules for qemu protocols: QMP (hardware interactions) and QGA (guest service interaction)
- refactor state directory: remove name from path (already contains url)
- add impure vm test for basic qmp interaction
- simplify existing vm persistance test (factor out shared code)
- integrate graceful shutdown into GUI
the GUI integration still needs to be improved later:
- add fallback in case system doesn't react to powerdown button
- shutdown GUI switch fails if VM hasn't been started yet, and then remains in a wrong position
2024-02-09 19:55:18 +07:00
a-kenji
533012af7d
vms: rename wayland attrs to waypipe
...
And remove the options from the cli interface.
2024-02-01 10:14:36 +07:00
a-kenji
f89c9b00dd
vms: wayland attr specified in configuration
2024-02-01 09:00:43 +07:00
DavHau
59fa63eba9
Reapply "vm-state: fix and improve testing"
...
This reverts commit 99092f6e76 .
vm-state: revert sysusers, improve testing
zerotier: enable persistence
vm-state: cleanup tests
2024-01-31 11:02:16 +07:00
Jörg Thalheim
c417157941
clan-cli: implement waypipe backend
2024-01-30 10:37:52 +07:00
DavHau
99092f6e76
Revert "vm-state: fix and improve testing"
...
This reverts commit 6adc68a354 .
2024-01-29 15:16:10 +07:00
DavHau
6adc68a354
vm-state: fix and improve testing
...
Also adds qemu qga protocol implementation to execute commands
2024-01-26 19:41:05 +07:00
lassulus
6b004fca6f
machines.Machine: refactor flake_dir -> flake; use Machine class in vm
2024-01-24 15:49:12 +01:00
lassulus
aee0ee4d5e
move secret stores into clan_cli codebase
2024-01-24 15:49:12 +01:00
Qubasa
60c4d231f8
Wrapped vm.run in cmd.run. Working --wayland
2024-01-19 13:56:17 +01:00
Jörg Thalheim
1d2f003210
use upstream qemu for wayland feature
2024-01-17 11:00:45 +01:00
Qubasa
abfa2f218c
cmd.py refactor part 7
2024-01-12 17:37:59 +01:00
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
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
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