Commit Graph

125 Commits

Author SHA1 Message Date
d20f47ad5b CLI: History supports multiple attrs from the same url now. Errors when executing the cli are formatted better
All checks were successful
checks-impure / test (pull_request) Successful in 1m30s
checks / test (pull_request) Successful in 2m26s
2024-01-16 16:16:12 +01:00
abfa2f218c cmd.py refactor part 7
All checks were successful
checks-impure / test (pull_request) Successful in 1m29s
checks / test (pull_request) Successful in 2m53s
2024-01-12 17:37:59 +01:00
eeac4902ab re-anble pulseaudio in qemu
All checks were successful
checks-impure / test (pull_request) Successful in 1m36s
checks / test (pull_request) Successful in 3m0s
2024-01-10 15:32:37 +01:00
520ff0b334 VMs: ensure state dirs don't collide between clans
All checks were successful
checks-impure / test (pull_request) Successful in 1m20s
checks / test (pull_request) Successful in 2m37s
2024-01-09 17:22:48 +07:00
c29e0086a4 VMs: persist state folders on host
All checks were successful
checks-impure / test (pull_request) Successful in 1m24s
checks / test (pull_request) Successful in 2m40s
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
3f55c688d9 Refactor subprocess to cmd.py part 1. Fixed clan_uri test. 2024-01-02 17:21:06 +01:00
33afa04b38 cli: fixed run vm not working with url
All checks were successful
checks-impure / test (pull_request) Successful in 1m11s
checks / test (pull_request) Successful in 2m47s
2023-12-31 13:56:55 +01:00
c4799f1e9a Added gcroot for clan Icon and VM
All checks were successful
checks-impure / test (pull_request) Successful in 1m12s
checks / test (pull_request) Successful in 2m52s
2023-12-31 00:49:57 +01:00
330ef00a7c Removed python deal.
All checks were successful
checks-impure / test (pull_request) Successful in 1m17s
checks / test (pull_request) Successful in 2m48s
2023-12-30 23:10:43 +01:00
cb06353451 pytest: Removed -s flag for CI
All checks were successful
checks-impure / test (pull_request) Successful in 1m3s
checks / test (pull_request) Successful in 2m39s
2023-12-26 18:20:41 +01:00
ca265b0c59 UI: Added process executor. Display vm status correctly in list. | CLI: Added get_qemu_version(), fixed virtio audio bug.
Some checks failed
checks-impure / test (pull_request) Successful in 1m16s
checks / test (pull_request) Failing after 2m46s
2023-12-26 18:02:43 +01:00
de38ce47ee switch to virtio-audio 2023-12-21 15:39:27 +01:00
8e84f7997a vms/run: remove superfluous command
All checks were successful
checks-impure / test (pull_request) Successful in 1m33s
checks / test (pull_request) Successful in 2m3s
2023-12-14 15:45:45 +01:00
7b5fffdaf4 vms/run: fix virtual machines spawning multiple windows
All checks were successful
checks-impure / test (pull_request) Successful in 1m13s
checks / test (pull_request) Successful in 2m1s
2023-12-14 08:55:12 +01:00
d4b8cef242 Added clan flakes inspect command. Improved ClanURI. Added democlan as dependency in flake.nix 2023-12-09 00:09:21 +01:00
9704b5bd6f disable tty0 when using wayland
All checks were successful
checks-impure / test (pull_request) Successful in 1m31s
checks / test (pull_request) Successful in 2m5s
we don't vga output and use our serial console instead
2023-12-08 16:19:09 +01:00
4b9635c706 move clanName into nixos machine configuration
All checks were successful
checks-impure / test (pull_request) Successful in 1m33s
checks / test (pull_request) Successful in 2m11s
2023-12-08 16:03:29 +01:00
1496f45fe2 prefix nixpkgs# explicitly in nix_shell
All checks were successful
checks-impure / test (pull_request) Successful in 1m27s
checks / test (pull_request) Successful in 2m3s
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
f6d4c721c4 vms/run: split large vm run method into smaller ones 2023-12-08 15:09:48 +01:00
c4a8193047 add wayland option 2023-12-08 14:13:47 +01:00
a98b5e205f make vm inspect non-async
All checks were successful
checks-impure / test (pull_request) Successful in 1m25s
checks / test (pull_request) Successful in 2m18s
2023-12-08 13:59:24 +01:00
b8b4bedfdb vms/run: rename flake_url to flake-url
All checks were successful
checks-impure / test (pull_request) Successful in 1m28s
checks / test (pull_request) Successful in 2m4s
2023-12-08 13:40:28 +01:00
48d7d5f38c vms/run/inspect: also make it more type-safe
All checks were successful
checks-impure / test (pull_request) Successful in 1m5s
checks / test (pull_request) Successful in 2m1s
nix will show proper error messages when it cannot find a flake.
2023-12-08 12:08:48 +01:00
31196e3d3c vms/run: make flake field option always have a value 2023-12-08 12:08:45 +01:00
fa0a7ce122 make cli options more type safe using a dataclass
All checks were successful
checks-impure / test (pull_request) Successful in 1m7s
checks / test (pull_request) Successful in 2m1s
2023-12-08 11:31:29 +01:00
f261578187 make sure that flake url is always set in the cli
All checks were successful
checks-impure / test (pull_request) Successful in 1m27s
checks / test (pull_request) Successful in 2m4s
2023-12-08 11:05:22 +01:00
7bc54cb524 get rid of task_manager
All checks were successful
checks-impure / test (pull_request) Successful in 1m7s
checks / test (pull_request) Successful in 1m36s
2023-12-06 15:53:23 +01:00
3ae1c9cf75 integegrate remote-viewer instead of spicy
Some checks failed
checks-impure / test (pull_request) Successful in 1m24s
checks / test (pull_request) Failing after 2m37s
2023-11-29 16:07:12 +01:00
f1b223d0a1 modernisation for python 3.11 2023-11-29 13:29:45 +00:00
26e3e3872c enable more linting 2023-11-29 13:29:45 +00:00
884c200061 rename vms create to vms run
All checks were successful
checks-impure / test (pull_request) Successful in 1m34s
checks / test (pull_request) Successful in 2m51s
2023-11-24 15:00:08 +01:00
81512b99a3 start spice in background
All checks were successful
checks-impure / test (pull_request) Successful in 1m36s
checks / test (pull_request) Successful in 2m50s
2023-11-23 17:56:05 +01:00
63a74ced2e spice: use unix socket instead of tcp
All checks were successful
checks-impure / test (pull_request) Successful in 1m24s
checks / test (pull_request) Successful in 3m8s
2023-11-23 17:34:06 +01:00
8a0ecd802e switch to spice for graphical vms
All checks were successful
checks-impure / test (pull_request) Successful in 1m11s
checks / test (pull_request) Successful in 2m49s
2023-11-23 16:59:07 +01:00
47d0dd297f vms: start with cpu=max
This unlocks some cpu extensions
2023-11-23 16:55:36 +01:00
7afaaf8c5a get rid of pydantic in cli 2023-11-21 12:48:35 +00:00
1ea13646ea clan_cli: flake_name -> flake_dir
Some checks failed
checks / test (pull_request) Failing after 1m7s
checks-impure / test (pull_request) Successful in 1m31s
2023-11-15 16:23:28 +01:00
9358dfb666
drop verbose command logging in task manager
All checks were successful
checks-impure / test (pull_request) Successful in 1m35s
checks / test (pull_request) Successful in 1m46s
2023-11-15 07:21:26 +01:00
54ede8a0ff vms/create: drop extra flake argument and make it work with local flakes
All checks were successful
checks-impure / test (pull_request) Successful in 1m54s
checks / test (pull_request) Successful in 2m59s
2023-11-10 13:43:14 +01:00
7b3d3e20b4 clan-cli secrets: flake_name -> flake_dir
All checks were successful
checks / test (pull_request) Successful in 46s
checks-impure / test (pull_request) Successful in 1m26s
2023-11-05 16:58:48 +01:00
efa48052cf API: Added /api/flake/list. Added API grouping and description for better visibility
Some checks failed
checks-impure / test (pull_request) Successful in 1m52s
checks / test (pull_request) Failing after 2m43s
2023-11-03 22:05:33 +01:00
5cb4019942 switch from black to ruff for formatting 2023-11-03 13:38:13 +01:00
e1efaedc38 add nix option flag that is passed to underlying nix commands
All checks were successful
checks-impure / test (pull_request) Successful in 1m22s
checks / test (pull_request) Successful in 2m9s
2023-11-03 12:28:26 +01:00
d562c6ac5f vms/create: try virtio for vga
seems to suck less than std.
2023-10-31 15:34:53 +01:00
06aaa35119 vms/create: use tmpdir again
All checks were successful
checks-impure / test (pull_request) Successful in 1m36s
checks / test (pull_request) Successful in 2m21s
2023-10-31 13:53:54 +01:00
60721e442d vms/create: allow xchg/secrets dir to exist 2023-10-31 13:53:54 +01:00
674d84a43a Fixing test_vms_api test 2023-10-27 19:26:03 +02:00
b1d0129fc0 Commit only for debugging Container 2023-10-27 19:26:03 +02:00
c1b4fa6d55 nix fmt 2023-10-27 19:21:50 +02:00
3581e0c9a8 Fixing a multitude of tests 2023-10-27 19:21:50 +02:00
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
26bfb793b1 Added ref to Qubasa-main in template/new-clan/flake.nix 2023-10-27 19:20:17 +02:00
a71584d9d2 Added clanName argument to clan-core.lib.builClan 2023-10-27 19:20:17 +02:00
d02acbe04b nix fmt 2023-10-27 19:19:45 +02:00
9f464dd14e Added ipdb as breakpoint console. Improved logging. 2023-10-27 19:19:45 +02:00
af3f04736b Improved logging messages. Added ClanError if flake create or machine create already exist 2023-10-27 19:18:45 +02:00
32e60f5adc Added flake_name:str argument everywhere, nix fmt doesn't complain anymore 2023-10-27 19:15:40 +02:00
711c70d1f0 Added state directory. 2023-10-27 19:11:27 +02:00
fa5f39f226 API: Added Path validators. api/flake/create inits git repo. Fixed vscode interpreter problem 2023-10-27 19:11:27 +02:00
3dad667f97 vms.create: don't generate secrets if clan is remote
All checks were successful
checks-impure / test (pull_request) Successful in 59s
checks / test (pull_request) Successful in 2m4s
2023-10-11 12:01:42 +02:00
b49433958b API: Added /api/flake/create. Fixed vscode search settings. Moved clan create to clan flake create
All checks were successful
checks-impure / test (pull_request) Successful in 57s
checks / test (pull_request) Successful in 2m3s
2023-10-09 14:01:34 +02:00
bc36ec4c1a vms: support secrets and fix cross compilation
Some checks failed
checks-impure / test (pull_request) Failing after 13s
checks / test (pull_request) Successful in 1m29s
2023-10-04 18:04:27 +02:00
fe1a3f0541 task_manager: fix race conditions 2023-10-04 17:52:06 +02:00
018590d30b Merge pull request 'improve task manager to report exceptions better' (#402) from Mic92-main into main
All checks were successful
checks-impure / test (push) Successful in 18s
checks / test (push) Successful in 1m27s
assets1 / test (push) Successful in 6s
2023-10-04 14:51:41 +00:00
04ba80f614 improve task manager to report exceptions better
All checks were successful
checks-impure / test (pull_request) Successful in 19s
checks / test (pull_request) Successful in 31s
2023-10-04 16:49:58 +02:00
966a33e711 vm.create: define tmpdir
All checks were successful
checks / test (pull_request) Successful in 1m29s
checks-impure / test (pull_request) Successful in 19s
2023-10-04 16:46:30 +02:00
4abb7d7bf0 make vm test also work in ci
All checks were successful
checks / test (pull_request) Successful in 30s
checks-impure / test (pull_request) Successful in 20s
2023-10-03 18:50:14 +02:00
b23d2b65e1 task_manager: return task directly instead of uuid
All checks were successful
checks-impure / test (pull_request) Successful in 13s
checks / test (pull_request) Successful in 1m23s
2023-10-03 17:48:56 +02:00
ff11340507 move out vm logic out of controller 2023-10-03 17:24:08 +02:00
cb2815c4d0 nix fmt
Some checks failed
checks-impure / test (pull_request) Failing after 12s
checks / test (pull_request) Successful in 1m23s
2023-10-03 14:39:29 +02:00
d8b69ec883 Added newlines against buffering for log streaming. Fixed cli
Some checks failed
checks / test (pull_request) Failing after 1m25s
checks-impure / test (pull_request) Failing after 12s
2023-10-03 14:38:51 +02:00
c1c68ee1d8 Fixed failing tests 2023-10-03 13:15:01 +02:00
7e180d2f12 CLI: Restructured TaskManager and log collection 2023-10-03 13:15:01 +02:00
af17c1bd7a Updated to main 2023-10-03 13:12:44 +02:00
a5f181a430 clan-cli: init vm command 2023-09-29 19:18:27 +02:00