Commit Graph

1808 Commits

Author SHA1 Message Date
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
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
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
Michael Hoang
84e280e32d cli: fix machines update failing with protocol mismatch on macOS 2025-06-18 16:30:11 +07: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
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
e1091c0692 clan-cli: machine.get_inv_machine now uses actions.get_machine in the background 2025-06-12 16:36:55 +02:00
Qubasa
2540215f2e clan-cli: init machine from inventory 2025-06-12 16:36:55 +02:00
Johannes Kirschbauer
0b6c30e8ad Fix(morph): ensure machine dir exists 2025-06-11 20:38:15 +02:00
Johannes Kirschbauer
acc41be9b3 doc(cli/templates): improve help description 2025-06-11 17:00:10 +02:00
Johannes Kirschbauer
e80a3fd2fc fix(tess/morph): skip creating existing machine 2025-06-11 17:00:10 +02:00
Johannes Kirschbauer
b6a0c6cb38 Docs(cli/machines): improve description of '--template' 2025-06-11 17:00:10 +02:00
Johannes Kirschbauer
b80395af44 Chore(machine/templates): simplify template args for machines command 2025-06-11 17:00:08 +02:00
hsjobeki
1414c8e519 Merge pull request 'Chore(templates): move helper functions into a util file' (#3930) from hsjobeki/utils into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3930
2025-06-10 17:52:44 +00:00
Johannes Kirschbauer
8ca3dc36d7 Chore(templates): move helper functions into a util file 2025-06-10 19:38:10 +02:00
Johannes Kirschbauer
30fe01be7b Chore(complete_machines): simplify by using inventoryStore 2025-06-10 19:15:07 +02:00
hsjobeki
b9d7dac65f Merge pull request 'Refactor(autocompletions): use inventoryStore' (#3927) from hsjobeki/completions into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3927
2025-06-10 15:39:56 +00:00
Johannes Kirschbauer
3562c17514 Refactor(autocompletions): use inventoryStore 2025-06-10 17:02:16 +02:00
Johannes Kirschbauer
55a92f1893 Fix(tests/substitutions): use different substitutions for nix-build and local environment 2025-06-10 15:34:56 +02:00
Johannes Kirschbauer
de32037255 Fix(tests/templates): add narHash to allow local tests execution in devShell 2025-06-10 12:36:58 +02:00
Michael Hoang
11bc2c00c2 cli: fix clan secrets key update not working when age plugins defined 2025-06-10 14:07:10 +07:00
hsjobeki
9b5410a46d Merge pull request 'chore(api/create_clan): remove unused reponse class' (#3907) from api-narrowing into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3907
2025-06-09 19:00:27 +00:00
Johannes Kirschbauer
03a2412227 chore(inspect): use simple list_machines 2025-06-09 20:33:17 +02:00
Qubasa
65a0843de7 clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser 2025-06-09 19:27:01 +02:00
DavHau
7cf065ae8c buildClan function: export all machines via nixosModules/darwinModules
We want each machine not only to be exposed via nixosConfigurations but also as a module.
This allows re-importing the machine in tests and override the architecture for example.
2025-06-09 12:51:22 +00:00
hsjobeki
1af826e0df Merge pull request 'Refactor(api/update_machine): rename to set_machine; use name, flake' (#3899) from api-narrowing into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3899
2025-06-09 11:55:28 +00:00
Johannes Kirschbauer
665b2095b2 Refactor(cli/list_machines): rename to list_full_machines
This makes it clear that this should be used with care
It is potentially more expensive to create the full object, therefore it should be discouraged by its longer name
This listing is implemented based on the basic listing, where each item is turned into the bigger machine class
2025-06-09 13:40:57 +02:00
Johannes Kirschbauer
0b6bc81efe Refactor(api/list_machines): rename from list_inv_machines 2025-06-09 13:33:25 +02:00
Johannes Kirschbauer
155f3721eb refactor: cleanup unused imports
They are registered already if they are located as module in clan_lib
2025-06-09 13:33:25 +02:00
Johannes Kirschbauer
6a8604f2b8 refactor(clan_lib): move show_clan_meta to clan_lib 2025-06-09 13:33:25 +02:00
Johannes Kirschbauer
ea65ca448d refactor(clan_lib): move update to clan_lib.clan 2025-06-09 13:33:25 +02:00
lassulus
2460ac970f Revert "clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser"
This reverts commit 2ca3b5d698.
2025-06-09 11:28:15 +02:00
hsjobeki
2a576a604b Merge pull request 'Chore(api): narrow down get_machine' (#3863) from api-narrowing into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3863
2025-06-09 08:59:36 +00:00
Qubasa
2ca3b5d698 clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser 2025-06-07 00:51:24 +02:00
Jörg Thalheim
9fecd0cc47 cli: fix buildHost source upload destination
Sources were being uploaded to target host instead of build host,
causing nixos-rebuild to fail with "no such file or directory".
2025-06-06 14:51:12 +02:00
Michael Hoang
9479f33f6e cli: don't generate a sops key that is world readable
Fixes https://git.clan.lol/clan/clan-core/issues/3808
2025-06-06 12:15:19 +10:00
Johannes Kirschbauer
8261ff09cc Chore(api): narrow down get_machine
Dont require the user to pass the machine into the same getter function
The workflow contradicts itself here
2025-06-04 20:38:45 +02:00
DavHau
65d9ef02dc generate-test-vars: fake prompt inputs
Use fake prompt inputs when generating vars for testing
2025-05-31 17:14:26 +07:00
DavHau
7ecc142ba9 sops: initialize age_plugins early
This avoids re-initializing the Flake object deep in the tree, which in turn leads to issue when overriding the Flake for testing, eg the URl would reset.
2025-05-31 11:27:17 +07:00
Jörg Thalheim
229401e6ef vars upload: also add become_root 2025-05-28 20:35:45 +02:00
Jörg Thalheim
e733619139 test_upload_single_file: add missing ssh_control_master 2025-05-28 20:25:53 +02:00
Jörg Thalheim
14324a059b move test_ssh_remote to remote_test 2025-05-28 20:13:48 +02:00