Commit Graph

2341 Commits

Author SHA1 Message Date
Qubasa
29a5fbed53 clan-cli: Move delete.py to clan_lib/machines 2025-06-24 12:16:38 +02:00
Qubasa
e53a490edc clan-cli: Move list.py to clan_lib/machines 2025-06-24 12:16:38 +02:00
Qubasa
48ea1c757f clan-cli: Move morph.py to clan_lib/machines 2025-06-24 12:16:38 +02:00
DavHau
03fe06285b inventory interface: add description for module.name 2025-06-24 10:09:05 +00:00
kenji
f288b8c1ef Merge pull request 'pkgs/clan: Add --tags support to clan machines update' (#4061) from kenji/pkgs/clan: Add --tags support to clan machines update into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4061
2025-06-24 09:43:35 +00:00
Luis Hebendanz
1b6a3ba335 Merge pull request 'clan-cli: Move hardware.py to clan_lib/machines part2' (#4066) from Qubasa/clan-core:move_to_clan_lib2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4066
2025-06-24 09:19:41 +00:00
Qubasa
b26aad3619 clan-cli: Move hardware.py to clan_lib/machines 2025-06-24 11:07:37 +02:00
Qubasa
7eb90acfc4 clan-cli: Add missining propagation of host-key-check in machines.update 2025-06-24 10:35:53 +02:00
a-kenji
5b04cfc06a pkgs/clan: Add --tags support to clan machines update 2025-06-23 23:51:43 +02:00
hsjobeki
afc001cc54 Merge pull request 'pkgs/clan-cli: Remove confusing note from the CLI help' (#4045) from kenji/pkgs/clan-cli: Remove confusing note from the CLI help into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4045
2025-06-23 14:22:28 +00:00
hsjobeki
a6f94987f9 Merge pull request 'Feat(inventory): simplify instance module spec, by applying a default' (#4054) from hsjobeki/module-default into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4054
2025-06-23 14:21:55 +00:00
Johannes Kirschbauer
5dc80e43cd Chore(classes): update classes 2025-06-23 16:11:12 +02:00
Qubasa
046d13bd50 clan-lib: Rename parse_deployment_address to parse_ssh_uri 2025-06-23 15:32:35 +02:00
Qubasa
c3a631de7e clan-lib: Remove override args from parse_deployment_address, instead use the Remote.override method where necessary 2025-06-23 15:28:22 +02:00
Qubasa
217f55adec clan-cli: Simplify HostKeyCheck to a Literal instead of an Enum 2025-06-23 15:08:44 +02:00
Qubasa
c4b3b26fa6 clan-cli: Move clan_cli/ssh/host_key.py to clan_lib/ssh 2025-06-23 15:07:18 +02:00
Qubasa
c65bd82e98 clan-lib: Rename check_machine_online to can_ssh_login. Move to Remote object 2025-06-23 14:21:51 +02:00
a-kenji
6ff64f7e0a pkgs/clan-cli: Remove confusing note from the CLI help
Remove a now obsolete and thus confusing note from the help output
of `clan show`.
2025-06-23 08:57:43 +02:00
Qubasa
fae4d39a10 clan-lib: machines.py: Remove host_key attribute 2025-06-19 17:55:56 +02:00
Qubasa
cce4d561e4 clan-lib: machines.py: Remove private_key attribute 2025-06-19 17:28:50 +02:00
Luis Hebendanz
03b68afaa5 Merge pull request 'UI create a separate ui-2d folder' (#3998) from Qubasa/clan-core:ui_overhaul into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3998
2025-06-18 18:11:28 +00:00
Luis Hebendanz
f4a7016ece Merge pull request 'pkgs/cli(machines): Move inventory warning to debug information' (#4012) from kenji/ke-iventory-warning-debug into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4012
2025-06-18 15:39:08 +00:00
kenji
659d2a4c04 Merge pull request 'pkgs/clan: Improve machines list tests' (#4014) from kenji/pkgs/clan: Improve machines list tests into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4014
2025-06-18 14:39:54 +00:00
DavHau
7e18dc6bb4 vars-check: enable debug logging for cache misses 2025-06-18 14:22:57 +00:00
a-kenji
c83d3a595e pkgs/clan: Improve machines list tests
Extend and Improve `clan machines list` testing as well as the `--tags`
subcommand.
2025-06-18 16:03:02 +02:00
a-kenji
52c3006d9b pkgs/cli(machines): Move inventory warning to debug information
Move the inventory warning to debug information and improve the error.

This is an alternative proposal to: #4009
2025-06-18 13:15:37 +02:00
Luis Hebendanz
100e01b32c Merge pull request 'pkgs/clan: Rename target_host_str' (#4010) from kenji/ke-iventory into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4010
Reviewed-by: Luis Hebendanz <consulting@qube.email>
2025-06-18 10:58:58 +00:00
Qubasa
3835624040 clan-lib: Set "root" as default user in Remote object 2025-06-18 12:49:43 +02:00
a-kenji
c1a4de843a pkgs/clan: Rename target_host_str
The `target_host_str` is a confusing choice, since it can be either
the `targetHost` or `buildHost`.
2025-06-18 12:03:57 +02:00
Michael Hoang
84e280e32d cli: fix machines update failing with protocol mismatch on macOS 2025-06-18 16:30:11 +07:00
Jörg Thalheim
d9c97fcb10 fix: correctly check existence of CLAN_TEST_STORE paths in cache
The flake cache was only checking existence for paths starting with
NIX_STORE_DIR (defaulting to /nix/store), but not for paths in the
test store when CLAN_TEST_STORE is set. This caused the cache to
return stale references to paths that had been garbage collected.

This fix updates the is_cached method to also check for paths in 
the test store, preventing cache misses during tests.
2025-06-17 17:21:06 +02:00
Jörg Thalheim
5dbe44bb43 machines: fix remote-program for darwin nix copy
MacOS doesn't come with a proper login shell for ssh and therefore
doesn't have nix in $PATH as it doesn't source /etc/profile.
This restores the remote-program parameter that was accidentally
removed in commit cff5d61f26.
2025-06-17 16:30:04 +02:00
Qubasa
2c57c35517 clan-lib: Refactor remote host handling to function parameters
This refactoring improves the separation of concerns by moving remote host creation logic from the Machine class to the calling functions, making the code more flexible and testable.
2025-06-17 14:04:22 +02:00
Qubasa
fa4160dda1 clan-lib: Make Remote overridable over function arguments 2025-06-17 13:53:43 +02:00
Jörg Thalheim
7ce65f429c install: correctly pass nix options to nixos-anywhere
The nix_options were collected but never passed to the nixos-anywhere command.
This fix adds the options to the command before the target host argument.
2025-06-17 12:43:20 +02:00
a-kenji
80ad10b8e5 pkgs/*: Remove pytest coverage testing from every single test run
There was no noticeable positive impact from having coverage reports on
every single test run.

While adding a separate command to check coverage might be added in the
future, the overhead of collecting the coverage for every test run made
seems not worth it currently.
2025-06-16 15:46:36 +00:00
hsjobeki
f0e3b753dc Merge pull request 'Feat(machine/templates): simplify template args for machines command' (#3937) from hsjobeki/template-ux into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3937
2025-06-14 08:25:28 +00:00
Johannes Kirschbauer
8b72d569e7 Docs(cli/flash): improve disk instructions 2025-06-13 11:37:39 +02:00
Michael Hoang
6b4df65412 cli: don't error when more than one SOPS key found locally 2025-06-13 14:37:19 +07:00
Michael Hoang
362a889d0f cli: fix secrets key update failing when used with Nix in Nix 2025-06-13 13:36:29 +07:00
Qubasa
85537b7816 clan-lib: unify get_taget_host and get_build_host 2025-06-12 16:42:28 +02:00
Qubasa
e1091c0692 clan-cli: machine.get_inv_machine now uses actions.get_machine in the background 2025-06-12 16:36:55 +02:00
Qubasa
82299a5361 clan-cli: Fix check_machine_online to use Remote object instead of machine, this makes it possible to override HostKeyCheck properly 2025-06-12 16:36:55 +02:00
Qubasa
2540215f2e clan-cli: init machine from inventory 2025-06-12 16:36:55 +02:00
Qubasa
e6025493c4 clan-lib: Add LogManager class 2025-06-12 16:24:40 +02:00
Qubasa
726b8f4c6c clan-lib: Move task functions to own file 2025-06-12 16:23:53 +02:00
Johannes Kirschbauer
0b6c30e8ad Fix(morph): ensure machine dir exists 2025-06-11 20:38:15 +02:00
Johannes Kirschbauer
8c02119ac0 fix(templates): add error handling 2025-06-11 20:22:20 +02:00
Johannes Kirschbauer
70bc7d3f0c feat(templates_urls): short circuit input names 2025-06-11 20:21:29 +02:00
Johannes Kirschbauer
2d2af10c78 feat(flake): add function to get input names 2025-06-11 20:21:29 +02:00