Commit Graph

2317 Commits

Author SHA1 Message Date
hsjobeki
931f0b00d0 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
ca8a228fba chore(flake): move 'inputs-from' into templates handling 2025-06-09 20:40:20 +02:00
Johannes Kirschbauer
217df6b98c chore(inspect): use simple list_machines 2025-06-09 20:33:17 +02:00
Johannes Kirschbauer
7a1cab1412 chore(api/create_clan): remove unused reponse class 2025-06-09 20:30:20 +02:00
Qubasa
ee802ad723 clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser 2025-06-09 19:27:01 +02:00
DavHau
d37c7c4c05 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
78c0ad24d9 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
2685db33d7 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
57e71e6c66 Refactor(api/list_machines): rename from list_inv_machines 2025-06-09 13:33:25 +02:00
Johannes Kirschbauer
e65cba43f7 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
7c4b836963 refactor(clan_lib): move show_clan_meta to clan_lib 2025-06-09 13:33:25 +02:00
Johannes Kirschbauer
ad948ec097 refactor(clan_lib): move update to clan_lib.clan 2025-06-09 13:33:25 +02:00
Johannes Kirschbauer
7f478bffe2 Refactor(api/update_machine): rename to set_machine; use name, flake 2025-06-09 13:33:19 +02:00
lassulus
8ce860f0d3 Revert "clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser"
This reverts commit b1ef5f00bf.
2025-06-09 11:28:15 +02:00
hsjobeki
4faec2c4d2 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
b1ef5f00bf clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser 2025-06-07 00:51:24 +02:00
Mic92
5842d64da5 Merge pull request 'cli: fix buildHost source upload destination' (#3884) from clan-core-update-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3884
2025-06-06 13:06:54 +00:00
Jörg Thalheim
b4263caf37 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
lassulus
d3d5cd70cb Merge pull request 'fix select escaping' (#3857) from lassulus/test into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3857
2025-06-06 10:58:14 +00:00
lassulus
4d07e90930 select: fix error message showing nonsense 2025-06-06 10:12:15 +02:00
lassulus
e96099d588 select: fix non escaped ' 2025-06-06 10:12:15 +02:00
Michael Hoang
4b26108b3d 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
Qubasa
4fa73e4b92 clan_lib: Fix quoting issues 2025-06-05 17:24:36 +02:00
Johannes Kirschbauer
730ab8a25e Chore(specific_machine_dir): use protocol to avoid direct dependency on machine class 2025-06-04 20:51:27 +02:00
Johannes Kirschbauer
ea1c1a5185 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
hsjobeki
6679a64dea Merge pull request 'feat(inventory/instances): add option for extraModules to roles' (#3830) from flake-models into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3830
2025-06-03 18:58:13 +00:00
Johannes Kirschbauer
ac0477e710 Fix(inventory/extraModules): use more narrow type for better persistence 2025-06-03 18:57:34 +02:00
Johannes Kirschbauer
724e307cac Chore: update clan nix_models 2025-06-03 18:18:12 +02:00
Johannes Kirschbauer
77c2fc7ba1 chore: delete duplicate inventory models 2025-06-03 17:52:07 +02:00
Jörg Thalheim
97209c53e4 fix buildhost re-using control socket for updates
this is actually a serious issue because it also would result doing ssh
to the wrong host: https://git.clan.lol/clan/clan-core/issues/3822
2025-06-03 14:01:49 +02:00
Michael Hoang
06d0612b5f cli: allow using commands from local flakerefs for debugging 2025-06-03 14:07:45 +10:00
Qubasa
2bbf97199f clan-cli: Fix test_create::test_clan_create_api 2025-06-02 15:39:50 +02:00
Qubasa
ae41bfad8c inventory: Add buildHost argument 2025-06-02 14:52:13 +02:00
DavHau
d9f69d7007 generate-test-vars: fake prompt inputs
Use fake prompt inputs when generating vars for testing
2025-05-31 17:14:26 +07:00
DavHau
0060424152 tests: test vars generation for all clan service tests 2025-05-31 12:17:52 +07:00
DavHau
de3a08ab63 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
hsjobeki
526a992101 Merge pull request 'Tests(inventoryStore): add tests for intersecting nix/json lists' (#3783) from flake-models into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3783
2025-05-30 08:35:13 +00:00
Johannes Kirschbauer
e4b95b5465 Test(InventoryPersistence): improve error message 2025-05-30 10:23:57 +02:00
Jörg Thalheim
dcb430037f vars upload: also add become_root 2025-05-28 20:35:45 +02:00
Jörg Thalheim
1cbc1d9af8 test_upload_single_file: add missing ssh_control_master 2025-05-28 20:25:53 +02:00
Jörg Thalheim
1688972bce move test_ssh_remote to remote_test 2025-05-28 20:13:48 +02:00
Jörg Thalheim
ddab4b5b94 re-store controllmaster in various places where it got removed. 2025-05-28 16:21:30 +02:00
Jörg Thalheim
f3cdcef523 no longer require controlmaster for interactive ssh
we only run one ssh command, so control master is not needed
2025-05-28 16:21:30 +02:00
Jörg Thalheim
7b8b23b39b ssh/remote: Improve error message if _control_path_dir is not set 2025-05-28 16:21:30 +02:00
Jörg Thalheim
2ef379b4df update/upload_sources remove ssh_control_master again from upload_sources 2025-05-28 16:21:30 +02:00
Jörg Thalheim
cedc5113ea add sudo_askpass_proxy 2025-05-28 16:21:30 +02:00
Jörg Thalheim
6839b9616d ssh/remote: make sure we also cleanup clan-ssh in the error case 2025-05-28 16:21:30 +02:00
Jörg Thalheim
37840dd203 remove unused method 2025-05-28 16:21:30 +02:00
Johannes Kirschbauer
976c4d52cb Tests(inventoryStore): add tests for intersecting nix/json lists 2025-05-28 15:39:52 +02:00
Johannes Kirschbauer
07a574cbb0 Tests(inventoryStore): add fixture, make extensible 2025-05-28 15:06:17 +02:00