Commit Graph

2354 Commits

Author SHA1 Message Date
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
Johannes Kirschbauer
0e88b0ff66 feat(flake/select): add apply argument 2025-06-11 20:21:29 +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
Johannes Kirschbauer
43bc5f0812 Feat(template_url): substitute local refs
To execute the CLI in foreign directories
.#new-machine needs to get tranformed into /path/to/clan#new-machine
Otherwise it might pick-up some random flake that is in scope where the cli started executing
2025-06-11 16:59:32 +02:00
Johannes Kirschbauer
a9c933ac01 Feat(templates): init with_machine_template context handler 2025-06-11 16:52:52 +02:00
Johannes Kirschbauer
d166f73c00 Feat(templates): add template selector tranformation 2025-06-11 16:52:50 +02:00
lassulus
be0a5202e7 Merge pull request 'bugfix for persistent loginctl sessions' (#3903) from pr-3886 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3903
2025-06-11 13:15:04 +00:00
lassulus
35a7bbf5d8 clan-cli: reduce ssh controlmaster timeout to 1min 2025-06-11 14:39:50 +02:00
adeci
31f79abb53 bugfix for persistent loginctl sessions 2025-06-11 14:38:37 +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
Johannes Kirschbauer
b2785d3b24 Chore(flake.py): remove unused uncached_nix_eval_with_args 2025-06-10 19:15:07 +02:00
Johannes Kirschbauer
0837a8ecd7 Refactor(clanInternals): remove depending on clanInternals.inventory 2025-06-10 17:43:59 +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
6e5de97a30 Feat(inventoryStore): add get_raw to read all the values unsafe 2025-06-10 17:02:16 +02:00
hsjobeki
585e6b677a Merge pull request 'Chore(show_clan_meta): use data from inventoryStore' (#3926) from hsjobeki/show_clan_meta into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3926
2025-06-10 14:58:58 +00:00
Johannes Kirschbauer
0f36041054 Chore(show_clan_meta): use data from inventoryStore 2025-06-10 16:46:18 +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
8360ee58b5 chore(flake): move 'inputs-from' into templates handling 2025-06-09 20:40:20 +02:00
Johannes Kirschbauer
03a2412227 chore(inspect): use simple list_machines 2025-06-09 20:33:17 +02:00
Johannes Kirschbauer
25875422f2 chore(api/create_clan): remove unused reponse class 2025-06-09 20:30:20 +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
Johannes Kirschbauer
ebf3964197 Refactor(api/update_machine): rename to set_machine; use name, flake 2025-06-09 13:33:19 +02:00