Commit Graph

146 Commits

Author SHA1 Message Date
57e9b27ff8 add option to set defaultGroups for secrets 2024-02-16 17:26:20 +01:00
280bee0861 clan-vm-manager: Fixing vm starting.
All checks were successful
checks-impure / test (pull_request) Successful in 2m7s
checks / test (pull_request) Successful in 2m53s
2024-02-16 16:10:49 +07:00
4f7f34f9b4 clan-vm-manager: Added clan icon to trayicon 2024-02-16 12:25:06 +07:00
4943c33307 add file prefix for nix 2.19 or newer
All checks were successful
checks-impure / test (pull_request) Successful in 1m55s
checks / test (pull_request) Successful in 2m45s
2024-02-15 12:24:18 +01:00
6871b29d15 vms: use vm fact/secret-store
All checks were successful
checks-impure / test (pull_request) Successful in 1m56s
checks / test (pull_request) Successful in 2m17s
2024-02-15 10:41:25 +01:00
98139ac48d add factsStore modules 2024-02-15 10:41:25 +01:00
03b9183e04 clan_cli: Added lazy qmp 2024-02-13 16:44:09 +07:00
87dbc99cab clan_cli: Made qmp implementation lazy 2024-02-13 16:44:09 +07:00
7d301b7e3c update flake lock
Some checks failed
checks-impure / test (pull_request) Successful in 1m42s
checks / test (pull_request) Failing after 29s
2024-02-12 14:52:01 +07:00
0ce8bcd018 clan_vm_manager: Added VM shutdown timeout
All checks were successful
checks-impure / test (pull_request) Successful in 1m42s
checks / test (pull_request) Successful in 2m48s
2024-02-12 14:16:44 +07:00
eebd9d0b4a allow passing of extra_config into machines
All checks were successful
checks-impure / test (pull_request) Successful in 1m40s
checks / test (pull_request) Successful in 2m41s
2024-02-11 08:40:41 +01:00
02dd132e08 vms: init graceful shutdown for GUI
All checks were successful
checks-impure / test (pull_request) Successful in 1m43s
checks / test (pull_request) Successful in 2m44s
- 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
6fe6229498 add requireExplicitUpdate option for mobile devices
All checks were successful
checks-impure / test (pull_request) Successful in 1m46s
checks / test (pull_request) Successful in 3m1s
2024-02-06 17:55:34 +01:00
be3a75bbd7 add support for build machines 2024-02-06 17:21:42 +01:00
2315dba2a9 rename machine.host to machine.target_host 2024-02-06 17:21:42 +01:00
6e57122da8 rename target_host to target_host_address 2024-02-06 17:21:42 +01:00
301a6b6a23 machines/update: get flake_attr from machine class 2024-02-06 17:21:42 +01:00
c66c25aeb7 machines: don't ignore errors when parsing secretsData json
All checks were successful
checks-impure / test (pull_request) Successful in 1m46s
checks / test (pull_request) Successful in 2m44s
2024-02-06 15:15:21 +01:00
91f26a4743 skip machines without target_host when running clan machines update
All checks were successful
checks-impure / test (pull_request) Successful in 1m45s
checks / test (pull_request) Successful in 2m57s
2024-02-06 15:04:19 +01:00
ad1a87fc14 move checks if targetHost/buildHost is set to cli
All checks were successful
checks-impure / test (pull_request) Successful in 1m39s
checks / test (pull_request) Successful in 2m45s
2024-02-06 14:51:44 +01:00
31188648f0 clan-cli update: remove legacy argument
All checks were successful
checks-impure / test (pull_request) Successful in 1m33s
checks / test (pull_request) Successful in 2m44s
2024-02-03 07:53:15 +01:00
6a62065cdf clan-cli update: upload only local paths from localhost 2024-02-03 07:53:15 +01:00
315cdea6ce clan-cli machines: remove debug prints
All checks were successful
checks-impure / test (pull_request) Successful in 1m31s
checks / test (pull_request) Successful in 2m39s
2024-02-02 17:40:19 +01:00
3538cf2e46 rename deployment address to target address
All checks were successful
checks-impure / test (pull_request) Successful in 1m35s
checks / test (pull_request) Successful in 2m43s
This is a prepares having a build server for deployment
2024-02-02 16:39:29 +07:00
16562946fe vm-manager: Added log console printing on vm start. Added python logging module
All checks were successful
checks-impure / test (pull_request) Successful in 1m34s
checks / test (pull_request) Successful in 2m41s
2024-02-02 12:04:30 +07:00
649e345585 Machine __str__ impl
All checks were successful
checks-impure / test (pull_request) Successful in 1m24s
checks / test (pull_request) Successful in 2m37s
2024-01-30 15:32:35 +07:00
0366147235 clan-cli machines: get flake path via flake metadata
All checks were successful
checks-impure / test (pull_request) Successful in 1m22s
checks / test (pull_request) Successful in 2m39s
2024-01-29 09:54:30 +01:00
f6c811e531 UI: Display error logs on VM crash. Fixed inspect_vm problem.
All checks were successful
checks-impure / test (pull_request) Successful in 1m32s
checks / test (pull_request) Successful in 2m41s
2024-01-29 15:11:57 +07:00
abaa218e27 clan-cli install: use new Machine interface, fix mypy error
All checks were successful
checks-impure / test (pull_request) Successful in 1m18s
checks / test (pull_request) Successful in 2m38s
2024-01-24 15:49:24 +01:00
6ba641c974 clan-cli update: use new Machine class interface 2024-01-24 15:49:12 +01:00
e1237499d0 clan-cli Machine: make deployment info lazy 2024-01-24 15:49:12 +01:00
6b004fca6f machines.Machine: refactor flake_dir -> flake; use Machine class in vm 2024-01-24 15:49:12 +01:00
aee0ee4d5e move secret stores into clan_cli codebase 2024-01-24 15:49:12 +01:00
09887037f5 WIP: clan-cli secrets: add secret_store as python class 2024-01-23 15:04:40 +01:00
16b043f508 cmd.py: Fixing bug: missing output because of forgotten flush() call 2024-01-11 21:11:49 +01:00
0133ccd5f7 Fixed missing log.BOTH and error_msg at prev refactors 2024-01-11 21:11:49 +01:00
2ae439ec52 cmd.py refactor part 4 2024-01-11 21:11:49 +01:00
ba05589af2 Refactor subprocess to cmd.py part 2
Some checks failed
checks-impure / test (pull_request) Failing after 16s
checks / test (pull_request) Failing after 40s
2024-01-10 12:11:29 +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
ed643e3829 cli/install: add option to specify alternative kexec url
All checks were successful
checks-impure / test (pull_request) Successful in 1m6s
checks / test (pull_request) Successful in 3m2s
2023-12-26 14:36:51 +01:00
56dafff109 machines build_machine_data: raise ClanError on error 2023-12-16 21:46:19 +01:00
1a36ef242f Fixed failing tests in machines and history cli, removed test_machines_api.py
Some checks failed
checks / test (pull_request) Failing after 1m14s
checks-impure / test (pull_request) Successful in 1m15s
2023-12-14 18:25:42 +01:00
c90053834a Reworked machines list, and history commands 2023-12-14 18:21:10 +01:00
8340d8f5f2 clan-cli Machines: implement eval/build-cache
All checks were successful
checks-impure / test (pull_request) Successful in 1m15s
checks / test (pull_request) Successful in 2m24s
2023-12-08 19:09: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
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
f3b3aba6c5 run_upload_secrets: don't swallow stdout output
All checks were successful
checks-impure / test (pull_request) Successful in 1m13s
checks / test (pull_request) Successful in 2m12s
2023-11-29 11:38:01 +01:00
977bbbbd59 install: fix secrets upload 2023-11-29 11:38:01 +01:00
5640b84433 machines.update: remove redundant flake argument
All checks were successful
checks-impure / test (pull_request) Successful in 1m55s
checks / test (pull_request) Successful in 2m28s
2023-11-15 21:57:08 +01: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
1652b5c27b api/machines: init put_machine replacing create_machine and set_machine_config
All checks were successful
checks-impure / test (pull_request) Successful in 1m36s
checks / test (pull_request) Successful in 1m59s
This allows creating and configuring a machine in one single step.
2023-11-13 20:25:52 +07: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
17176f25de cli machines update: find flake dir automatic if not provided, support flake as path
Some checks failed
checks-impure / test (pull_request) Failing after 1m34s
checks / test (pull_request) Successful in 2m20s
2023-10-29 20:52:38 +01:00
00ef406713 Updated to main branch. Removed cluttering asyncio and httpx log messages 2023-10-27 23:36:45 +02:00
a28f910e35 nix fmt 2023-10-27 19:26:03 +02:00
3581e0c9a8 Fixing a multitude of tests 2023-10-27 19:21:50 +02:00
d02acbe04b nix fmt 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
8cc1c2c4bd Fixed cyclic dependencie AND swapped pytest-parallel for pytest-xdist to fix deadlock in tests 2023-10-27 19:18:45 +02:00
2ca54afe7f Added new type FlakeName 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
fdcd7ad1d9 Updated to main 2023-10-27 19:15:11 +02:00
711c70d1f0 Added state directory. 2023-10-27 19:11:27 +02:00
79e707b044 fix updating multiple machines 2023-10-27 17:40:20 +02:00
a650d9c341 Merge pull request 'machines/install: call correct upload function' (#426) from Mic92-main into main
All checks were successful
assets1 / test (push) Successful in 14s
checks-impure / test (push) Successful in 37s
checks / test (push) Successful in 1m34s
2023-10-14 14:06:59 +00:00
c82a4df9f9 machines/install: call correct upload function
All checks were successful
checks-impure / test (pull_request) Successful in 53s
checks / test (pull_request) Successful in 2m5s
2023-10-14 15:56:04 +02:00
4af74ee5a5 machines update: add --target-host
All checks were successful
checks-impure / test (pull_request) Successful in 54s
checks / test (pull_request) Successful in 1m58s
2023-10-04 23:28:15 +02:00
3fb36b3ac1 secrets upload: skip on exit 23, cleanup
All checks were successful
checks-impure / test (pull_request) Successful in 33s
checks / test (pull_request) Successful in 1m32s
2023-10-04 21:29:19 +02:00
b25af9f0f4 clan_cli: refactor secrets code into Machine class
All checks were successful
checks-impure / test (pull_request) Successful in 19s
checks / test (pull_request) Successful in 1m27s
2023-10-04 16:41:16 +02:00
ffb7c63640 clan-cli: add machines install 2023-10-04 16:34:37 +02:00
af17c1bd7a Updated to main 2023-10-03 13:12:44 +02:00
89b7ffce6c clan-cli secrets upload: secrets are populated into tmpdir 2023-09-29 20:05:35 +02:00
7ca9c49163 restore clanInternals with valid nixos config 2023-09-29 19:39:35 +02:00
b366beeb2e fix secrets script not beeing fetched
All checks were successful
checks-impure / test (pull_request) Successful in 8s
checks / test (pull_request) Successful in 24s
2023-09-28 15:51:09 +02:00
16b33eb0a8 add toplevel machines-json that can deploy all hosts 2023-09-28 15:23:25 +02:00
3f814c1e5f clan update: fix deploymentAddress
All checks were successful
checks-impure / test (pull_request) Successful in 8s
checks / test (pull_request) Successful in 22s
2023-09-27 21:11:52 +02:00
756820e4ca clanInternals.machines: invert system and machine name
All checks were successful
checks-impure / test (pull_request) Successful in 8s
checks / test (pull_request) Successful in 24s
2023-09-27 17:26:44 +02:00
0314132a1a rewrite sops backend for secret generation and add tests 2023-09-21 17:22:20 +02:00
dc51ca5803 factor out deployment address parsing into a function 2023-09-21 17:22:20 +02:00
3cb916d50f clan-cli/update: also use correct flake attr for generating secret
All checks were successful
checks-impure / test (pull_request) Successful in 6s
checks / test (pull_request) Successful in 1m27s
2023-09-19 15:20:11 +02:00
2931b08b46 clan-cli/update: use correct flake attr when deploying
Some checks reported warnings
checks-impure / test (pull_request) Has been cancelled
checks / test (pull_request) Has been cancelled
2023-09-19 14:19:48 +02:00
a65413c98e use experimental flags everywhere 2023-09-19 13:12:10 +02:00
8d29d0e69c clan-cli: get deploymentAddress from clan.networking 2023-09-15 12:17:07 +00:00
c5786614bf clan-cli secrets: deploy -> upload 2023-09-15 12:17:07 +00:00
c487280ba9 clan-cli machines update: generate and deploy secrets 2023-09-15 12:17:07 +00:00
3b0701f275 deploy: use nix-flake-archive instead of rsync to upload 2023-09-15 12:17:07 +00:00
2d934d527a update: use run_local command to print executed command
All checks were successful
checks-impure / test (pull_request) Successful in 7s
checks / test (pull_request) Successful in 32s
2023-09-14 11:20:45 +02:00
b97db58316 deploy: use nix-flake-archive instead of rsync to upload 2023-09-13 20:33:53 +02:00
a56073b051 machines delete: fix - delete all existing files
All checks were successful
checks-impure / test (pull_request) Successful in 14s
checks / test (pull_request) Successful in 1m8s
2023-09-02 18:37:40 +02:00
2a11b1c5d1 machines api: always create empty settings.json
Some checks failed
checks-impure / test (pull_request) Successful in 15s
checks / test (pull_request) Failing after 1m6s
2023-09-02 18:29:12 +02:00
8c7ee25dc9 webui: fixes for machines endpoint
All checks were successful
build / test (pull_request) Successful in 1m8s
- fix machines settings file location
- raise 404 if machine doesn't exist
- improve machine api test
2023-08-26 14:17:25 +02:00
33b43ae146 add tests for machines api
All checks were successful
build / test (pull_request) Successful in 15s
2023-08-24 19:16:44 +02:00
58adf91af8 test machine subcommand
All checks were successful
build / test (pull_request) Successful in 27s
2023-08-24 18:28:33 +02:00
c5b16124ef add machine subcommand 2023-08-24 16:58:22 +02:00
56542ca5ef mv update command to machines update command 2023-08-24 16:25:06 +02:00