Commit Graph

70 Commits

Author SHA1 Message Date
Qubasa
c6a0cd9398 clan-vm-manager: Fix waypipe regression in nix code 2024-07-23 13:20:02 +02:00
Qubasa
728f8f5758 clan-vm-manager: Restore to known good version 2024-07-19 22:07:34 +02:00
DavHau
0e335f7ecc impure-checks: improve performance by disabling dynamic deps 2024-07-16 12:42:45 +07:00
Mic92
3e6c41593d Merge branch 'main' into DavHau-dave 2024-07-09 09:33:11 +00:00
DavHau
3447a98bee vars: implement generating public variables via in_repo 2024-07-09 14:26:56 +07:00
Johannes Kirschbauer
2ebc0902c1 Test: fixup 2024-07-06 17:51:46 +02:00
DavHau
4cde2d96be Reapply "clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking}"
This reverts commit 9778444706.

workaround upstream bug: https://github.com/NixOS/nixpkgs/issues/324802
2024-07-05 19:29:01 +07:00
Jörg Thalheim
9778444706 Revert "clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking}"
This reverts commit afbd4a984d.

The old configuration cannot be updated like this:

eve] error:
[eve]        … while calling the 'head' builtin
[eve]          at /nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/lib/attrsets.nix:1575:11:
[eve]          1574|         || pred here (elemAt values 1) (head values) then
[eve]          1575|           head values
[eve]              |           ^
[eve]          1576|         else
[eve]
[eve]        … while evaluating the attribute 'value'
[eve]          at /nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/lib/modules.nix:809:9:
[eve]           808|     in warnDeprecation opt //
[eve]           809|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
[eve]              |         ^
[eve]           810|         inherit (res.defsFinal') highestPrio;
[eve]
[eve]        … while evaluating the option `system.build.toplevel':
[eve]
[eve]        … while evaluating definitions from `/nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/nixos/modules/system/activation/top-level.nix':
[eve]
[eve]        … while evaluating the option `assertions':
[eve]
[eve]        … while evaluating definitions from `/nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/nixos/modules/system/boot/systemd.nix':
[eve]
[eve]        … while evaluating the option `systemd.services':
[eve]
[eve]        … while evaluating definitions from `/nix/store/kpzcdgndym0qm1w490mjvk9c2qmz03h5-source/nixosModules/clanCore/zerotier':
[eve]
[eve]        … while evaluating the option `clan.core.networking.zerotier.networkId':
[eve]
[eve]        (stack trace truncated; use '--show-trace' to show the full, detailed trace)
[eve]
[eve]        error: A definition for option `clan.core.networking.zerotier.networkId' is not of type `null or string'. Definition values:
[eve]        - In `/nix/store/kpzcdgndym0qm1w490mjvk9c2qmz03h5-source/nixosModules/clanCore/networking.nix':
[eve]            {
[eve]              _type = "override";
[eve]              content = "267efd4a15b69623";
[eve]              priorit
2024-07-05 11:16:05 +02:00
DavHau
afbd4a984d clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking} 2024-07-04 17:05:37 +07:00
Jörg Thalheim
b4698528ef make machine class now a dataclass 2024-07-03 12:34:43 +02:00
Jörg Thalheim
cc583dd79e simplify clan uri further 2024-07-02 12:52:10 +02:00
Jörg Thalheim
47010f458c machines/machines: drop unused qmp wrapper 2024-07-02 11:42:02 +02:00
Jörg Thalheim
2ae50b7398 allow to override nix options in update/install/flash commands 2024-05-29 10:14:14 +02:00
a-kenji
eee99730d1 clan: add run_no_stdout function suppressing stdout
Add the `run_no_stdout` function suppressing stdout by default.This
keeps the noise down on most commands, while still
stayingdebuggable.Stdout will be active when the `--debug` flag is
passed to the cli.

Fixes #1443
2024-05-28 11:13:55 +02:00
Jörg Thalheim
b3522b73aa fix case when secrets are regenerated during update/install 2024-04-12 14:46:51 +02:00
lassulus
a8d35d37e7 refactor clanCore.secrets -> clanCore.facts 2024-03-27 16:03:16 +01:00
clan-bot
5fd4a63e17 Merge pull request 'clan-vm-manager: Basic pytest framework established' (#1026) from Qubasa-main into main 2024-03-24 22:41:07 +00:00
Qubasa
8ab9d20342 clan-vm-manager: Working pytest skeleton. clan-cli: Fixing devshell depending on itself 2024-03-24 23:36:00 +01:00
lassulus
f16667e25a refactor secrets & facts -> secret_facts & public_facts 2024-03-23 05:46:54 +01:00
Qubasa
372e212c0c clan_cli: Renamed ClanUrl to FlakeId 2024-03-08 23:47:27 +07:00
Qubasa
f4f3176374 clan-vm-manager: Fix ClanUrl not pickable 2024-03-08 23:23:18 +07:00
Qubasa
e4896814f2 clan_cli: Add TimeTable class to cmd.py. Fix bugs in Machine rewrite 2024-03-08 22:01:54 +07:00
Qubasa
068f89e453 clan_vm_manager: Rewrite of Machine Class Part 1 2024-03-08 15:32:12 +07:00
Qubasa
31190ed8e5 clan_vm_manager: Extracted VMObject to own component 2024-03-04 12:38:20 +07:00
lassulus
108a37b0a3 clan-cli machines: cache machines_func via store 2024-03-02 11:20:05 +01:00
Qubasa
183c1f4235 clan_vm_manager: Fix qmp shutdown command, bad socket error on retried shutdown 2024-02-26 01:18:13 +07:00
Qubasa
27b9c8915b clan_vm_manager: Improve VM start and stop switch. Switch will be disabled while stopping vm 2024-02-26 01:04:09 +07:00
clan-bot
36b20f18d4 Merge pull request 'add option to set defaultGroups for secrets' (#858) from Mic92-target_host into main 2024-02-16 16:29:28 +00:00
Jörg Thalheim
57e9b27ff8 add option to set defaultGroups for secrets 2024-02-16 17:26:20 +01:00
Qubasa
280bee0861 clan-vm-manager: Fixing vm starting. 2024-02-16 16:10:49 +07:00
Qubasa
4f7f34f9b4 clan-vm-manager: Added clan icon to trayicon 2024-02-16 12:25:06 +07:00
Jörg Thalheim
4943c33307 add file prefix for nix 2.19 or newer 2024-02-15 12:24:18 +01:00
lassulus
6871b29d15 vms: use vm fact/secret-store 2024-02-15 10:41:25 +01:00
lassulus
98139ac48d add factsStore modules 2024-02-15 10:41:25 +01:00
Qubasa
03b9183e04 clan_cli: Added lazy qmp 2024-02-13 16:44:09 +07:00
Qubasa
87dbc99cab clan_cli: Made qmp implementation lazy 2024-02-13 16:44:09 +07:00
Qubasa
7d301b7e3c update flake lock 2024-02-12 14:52:01 +07:00
Qubasa
0ce8bcd018 clan_vm_manager: Added VM shutdown timeout 2024-02-12 14:16:44 +07:00
lassulus
eebd9d0b4a allow passing of extra_config into machines 2024-02-11 08:40:41 +01: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
Jörg Thalheim
be3a75bbd7 add support for build machines 2024-02-06 17:21:42 +01:00
Jörg Thalheim
2315dba2a9 rename machine.host to machine.target_host 2024-02-06 17:21:42 +01:00
Jörg Thalheim
6e57122da8 rename target_host to target_host_address 2024-02-06 17:21:42 +01:00
Jörg Thalheim
c66c25aeb7 machines: don't ignore errors when parsing secretsData json 2024-02-06 15:15:21 +01:00
Jörg Thalheim
91f26a4743 skip machines without target_host when running clan machines update 2024-02-06 15:04:19 +01:00
Jörg Thalheim
ad1a87fc14 move checks if targetHost/buildHost is set to cli 2024-02-06 14:51:44 +01:00
lassulus
315cdea6ce clan-cli machines: remove debug prints 2024-02-02 17:40:19 +01:00
Jörg Thalheim
3538cf2e46 rename deployment address to target address
This is a prepares having a build server for deployment
2024-02-02 16:39:29 +07:00
Qubasa
16562946fe vm-manager: Added log console printing on vm start. Added python logging module 2024-02-02 12:04:30 +07:00
Qubasa
649e345585 Machine __str__ impl 2024-01-30 15:32:35 +07:00