Commit Graph

3329 Commits

Author SHA1 Message Date
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
Brian McGee
ac8e639348 feat(ui): Typography V2 2025-05-30 14:58:50 +01:00
Brian McGee
d417901dab feat(ui): update border and background colors
To match latest design.
2025-05-30 13:46:57 +01:00
Brian McGee
359624c8af feat(ui): update primary colors
To match latest design.
2025-05-30 13:46:56 +01:00
Brian McGee
ed4581e4ea chore(ui): setup base for Typography V2
Also removes Button stories for V1 component.
2025-05-30 13:46:55 +01:00
Brian McGee
93e7ff78f6 fix(ui): disable storybook devshell and package on Darwin 2025-05-30 11:06:14 +01:00
Brian McGee
41f7ae08a8 feat(ui): enable storybook snapshot tests
- adds a process-compose namespace for running `storybook` and `luakit` together to replicate the `webkit`-based rendering that happens inside of `webview`
- adds some helper scripts for running storybook tests and updating snapshots, with documentation in the README.
- adds a `clan-app-ui-storybook` package which builds and tests the storybook, checking for rendering changes

Currently, we’re only doing markup-based snapshot tests. We’re also using headless chromium for the tests by default as I couldn't get webkit to work in the nix build.

As we’re only markup-based for the time being, this should be ok. But eventually I'd like to get it working with webkit.
2025-05-30 11:06:14 +01: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
Johannes Kirschbauer
4b5880d1cb 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
104343a334 feat(InventoryStore): return a restricted view of the inventory 2025-05-28 14:04:34 +02:00
Johannes Kirschbauer
bac3e6c2b2 Chore: update clan nix_models 2025-05-28 14:03:23 +02:00
Johannes Kirschbauer
d482e22610 chore(nix_models): migrate import to use exported clan models 2025-05-28 14:03:22 +02:00
Johannes Kirschbauer
1ef2e13c85 feat(nix_models): replace inventory model by holistic clan model 2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
7957fbaa4f feat(classgen): make type generation more predictable across 2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
db31b91401 Fix(inventoryStore): use 'nix_eval' wrapper to set the store correct 2025-05-28 11:34:16 +02:00
Johannes Kirschbauer
3e160d6392 Fix(clan_cli): filter tests files from source 2025-05-28 11:34:12 +02:00
Johannes Kirschbauer
84622222d8 Fix(tests): fix failing pytests 2025-05-28 11:01:54 +02:00
Johannes Kirschbauer
4c6063c75e Tests(inventoryStore): fixup tests to run in ci 2025-05-28 10:42:47 +02:00
Johannes Kirschbauer
a49466e1a9 Feat(inventoryStore): add possibility to turn off output filtering 2025-05-28 10:42:47 +02:00
Johannes Kirschbauer
8ea35b2b99 Tests(clan_lib): enable clan_lib pytests not marked with_core 2025-05-28 10:42:47 +02:00
Johannes Kirschbauer
dd9ea44770 refactor(persist/utils): rename apply_patch to 'set_value_by_path' 2025-05-28 10:16:48 +02:00
Brian McGee
32cdbd2530 chore: fmt 2025-05-28 08:24:03 +01:00
Brian McGee
c9a3f6ea33 fix(ui): use asterisk html entity code
It wasn't rendering for me when using "*".
2025-05-28 08:20:45 +01:00
Brian McGee
1a31f12366 feat(ui): improve tags display in machine detail
Also introduces a new TagList component.
2025-05-28 08:20:45 +01:00
Brian McGee
4bdbe94dcd fix(ui): normalize font sizes in machine detail view 2025-05-28 08:20:44 +01:00
Brian McGee
14a58238be feat(ui): refine Button stories
Add separate examples of start and end icon
2025-05-28 08:20:44 +01:00
Brian McGee
2e9d3e8dbb fix(ui): add default css in storybook preview 2025-05-28 08:20:43 +01:00
Johannes Kirschbauer
63733f2c14 Fix(test): migrate machine cli command tests to use the new functions 2025-05-27 17:57:08 +02:00
Johannes Kirschbauer
f591ac0c32 Feat(inventoryStore): add 'invalidate_cache' to the Flake protocol 2025-05-27 17:56:35 +02:00
Johannes Kirschbauer
e6d1f71907 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
c32d196428 Fix: configure deferred setting module path correctly 2025-05-27 16:31:54 +02:00
Johannes Kirschbauer
2312a65c17 Chore: rename secrets.get_machine to avoid ambiguity 2025-05-26 17:52:46 +02:00
Johannes Kirschbauer
90d9dbb242 Refactor(lib/inventory): move machine actions into clan_lib/machines/actions.py 2025-05-26 17:51:12 +02:00
hsjobeki
91a6f814d6 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
Johannes Kirschbauer
55195e57e0 fix(morph/test): temporary workaround for morph test 2025-05-26 16:06:12 +02:00
Johannes Kirschbauer
14701fda01 chore: add todo comments for template logic in create machine 2025-05-26 16:05:20 +02:00