Commit Graph

253 Commits

Author SHA1 Message Date
Jörg Thalheim
75dd389c2c 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
31274212a8 ssh/remote: Improve error message if _control_path_dir is not set 2025-05-28 16:21:30 +02:00
Jörg Thalheim
f06313d5b2 add sudo_askpass_proxy 2025-05-28 16:21:30 +02:00
Jörg Thalheim
5a560ff219 ssh/remote: make sure we also cleanup clan-ssh in the error case 2025-05-28 16:21:30 +02:00
Jörg Thalheim
91406b2016 remove unused method 2025-05-28 16:21:30 +02:00
Johannes Kirschbauer
1582402634 Tests(inventoryStore): add tests for intersecting nix/json lists 2025-05-28 15:39:52 +02:00
Johannes Kirschbauer
dc94749647 Tests(inventoryStore): add fixture, make extensible 2025-05-28 15:06:17 +02:00
Johannes Kirschbauer
2da7ebaa21 Fix(machines/create): use 'InventorySnapshot' as init argument
Inventory as a model is generally not json serializable
InventorySnapshot is the return value of InventoryStore.{read, write}
And should be used in API calls, because the other fields might not be compatible in general
2025-05-28 14:09:45 +02:00
Johannes Kirschbauer
e57c8f6f9a feat(InventoryStore): return a restricted view of the inventory 2025-05-28 14:04:34 +02:00
Johannes Kirschbauer
467aa546c4 Chore: update clan nix_models 2025-05-28 14:03:23 +02:00
Johannes Kirschbauer
19dbc0ff73 chore(nix_models): migrate import to use exported clan models 2025-05-28 14:03:22 +02:00
Johannes Kirschbauer
8eb2ad6c6d feat(nix_models): replace inventory model by holistic clan model 2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
5271b5c599 Fix(inventoryStore): use 'nix_eval' wrapper to set the store correct 2025-05-28 11:34:16 +02:00
Johannes Kirschbauer
673b6bb31f Fix(tests): fix failing pytests 2025-05-28 11:01:54 +02:00
Johannes Kirschbauer
6f0a4549a5 Tests(inventoryStore): fixup tests to run in ci 2025-05-28 10:42:47 +02:00
Johannes Kirschbauer
c6c43ba737 Feat(inventoryStore): add possibility to turn off output filtering 2025-05-28 10:42:47 +02:00
Johannes Kirschbauer
dac30c4dd7 refactor(persist/utils): rename apply_patch to 'set_value_by_path' 2025-05-28 10:16:48 +02:00
Johannes Kirschbauer
c293d813cc Feat(inventoryStore): add 'invalidate_cache' to the Flake protocol 2025-05-27 17:56:35 +02:00
Johannes Kirschbauer
3ed3cdddc9 Feat(inventory): remove legacy action functions
Inventory should only and always be accessed through the inventory store.
Manually reading and writing to the json file is highly insecure
2025-05-27 17:20:04 +02:00
Johannes Kirschbauer
38b83c41cf Fix: configure deferred setting module path correctly 2025-05-27 16:31:54 +02:00
Johannes Kirschbauer
349968c631 Refactor(lib/inventory): move machine actions into clan_lib/machines/actions.py 2025-05-26 17:51:12 +02:00
hsjobeki
d7b111ef0a Merge pull request 'Feat(persist): add support for deferredModule read/write' (#3752) from deferredModule-serde into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3752
2025-05-26 14:18:53 +00:00
Qubasa
8a40d46e96 clan-cli: Fix too long path for socket issue #3756 2025-05-25 22:16:51 +02:00
Johannes Kirschbauer
d8a835c7ae test(persist/inventory): add test for adding deferredModule
This feature will allow us to read/write to 'settings' of service
'instances' which are of type deferredModule.
Usually a deferredModule needs to be evaulated, but because we use our
own type, which forces some constraints, we can safely perform read and
write
2025-05-23 21:49:16 +02:00
Johannes Kirschbauer
f746184bf6 fix(persist/delete): delete explizitly 2025-05-23 21:47:12 +02:00
Johannes Kirschbauer
bb2955d9ad feat(persist/inventory): add transformation and filtering to support deferredModules 2025-05-23 21:45:52 +02:00
Johannes Kirschbauer
467c1e7f28 fixes(persist/util): fix some expected error messages in tests 2025-05-23 21:43:49 +02:00
Johannes Kirschbauer
4c3dcfe8b5 test(persist/util): add test for adding empty submodules 2025-05-23 21:43:09 +02:00
Johannes Kirschbauer
2170235958 refactor(persist/util): improve calc_patches 2025-05-23 21:42:35 +02:00
Johannes Kirschbauer
60bd7bc3ce feat(persist/util): init parent_is_dict
Check if a parent value is of type dict
This utility is helpfull for cross checking of flattened dicts
2025-05-23 21:41:34 +02:00
Johannes Kirschbauer
634b4f8e46 chore(inventory): find_deleted_paths rename variables 2025-05-23 21:40:02 +02:00
Johannes Kirschbauer
8c9e1538fb fix(inventory/store): keep empty dicts as leafs 2025-05-23 21:39:23 +02:00
Johannes Kirschbauer
3974bd1580 test(inventory/store): clean up simple test 2025-05-23 21:38:16 +02:00
Johannes Kirschbauer
ed764a2f0f feat(inventory/store): init path_match utility 2025-05-23 21:36:14 +02:00
lassulus
98b0f97d45 clan_lib flake_test: fix on darwin 2025-05-23 12:29:34 +02:00
Qubasa
0ca7600439 clan-cli: Move Machine object to clan_lib 2025-05-22 19:11:19 +02:00
Qubasa
9b714aa048 clan-cli: Fix ctrl+c cancelling tasks 2025-05-22 15:01:58 +02:00
Qubasa
cff5d61f26 clan-cli: Rename Host -> Remote move to clan_lib and mark as frozen 2025-05-22 14:08:27 +02:00
lassulus
0e9124d322 clan-cli: split clan into cli and lib 2025-05-21 20:28:41 +02:00
Johannes Kirschbauer
15ec2067a6 Test(InventoryPersistence): add persist integration tests 2025-05-21 17:55:43 +02:00
Johannes Kirschbauer
74ceb95eb7 Feat(inventoryStore): add FlakeInterface protocol 2025-05-21 16:44:28 +02:00
lassulus
66f35ae637 clan-cli: split backups into cli and lib 2025-05-21 13:46:35 +02:00
hsjobeki
1c0b383183 Merge pull request 'Fix: don't try to persist 'inventory.instances'' (#3731) from hsjobeki/clan-core:fix-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3731
2025-05-21 10:36:29 +00:00
lassulus
ce00c63721 clan-cli: clan_cli.bwrap -> clan_lib.bwrap 2025-05-21 12:06:38 +02:00
lassulus
80229c5e77 clan-cli: clan_cli.inventory -> clan_lib.inventory 2025-05-21 12:06:38 +02:00
Johannes Kirschbauer
39b81a17c3 Fix: don't try to persist 'inventory.instances' 2025-05-21 11:42:29 +02:00
Johannes Kirschbauer
73ab00ac7c chore(clan_lib) add api.serde tests for typed_dict 2025-05-21 10:01:27 +02:00
Johannes Kirschbauer
25e3d27bf2 docs: add doc-string to api serde utilities 2025-05-21 10:00:42 +02:00
Johannes Kirschbauer
d9e4c93509 Refactor(clan_lib): move serde tests next to serde module 2025-05-21 09:36:00 +02:00
Mic92
bfe158c9fa Merge pull request 'fix sudo in clan flash when restoring auto-updates' (#3717) from restore-automount into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3717
2025-05-20 16:49:39 +00:00