Johannes Kirschbauer
a32a5151dc
api: remove unused validation method
2025-10-15 16:19:21 +02:00
Johannes Kirschbauer
16d245b179
api: check deletions if possible
2025-10-15 16:15:54 +02:00
Johannes Kirschbauer
8609538756
clan_lib: allow explicit readonly access to inventory attributes
2025-10-14 17:21:39 +02:00
Johannes Kirschbauer
0c245f8eda
persistence: generate properties for data by traversing data
2025-10-14 14:51:06 +02:00
Johannes Kirschbauer
40de60946a
api: migrate to use persistence attributes everywhere
2025-10-13 17:04:01 +02:00
Johannes Kirschbauer
63fdc13928
persist: add attributes props to accumulator
2025-10-12 17:45:14 +02:00
Johannes Kirschbauer
c13879ce69
persist: rename write map to attribute map
2025-10-12 17:45:14 +02:00
Johannes Kirschbauer
f57bc30c5a
persist/writeability: rename non_writeable to readonly
2025-10-12 17:45:14 +02:00
DavHau
5a6ffbf916
vars: optimize generate - reduce cache misses
...
optimize the `clan vars generate` procedure by pre-caching more selectors.
To achieve this, helper functions are added to several classes.
Also a debugging feature is added to the Flake class in order to track stack traces of cache misses
2025-10-02 18:46:11 +07:00
Johannes Kirschbauer
bcadf6b0fb
clan_lib: write_rules complete internal keys
2025-09-24 18:34:09 +02:00
Johannes Kirschbauer
75121767d3
lib/introspect: use valueMeta to expose more information
2025-09-24 17:24:44 +02:00
Johannes Kirschbauer
9ea5156f32
clan_lib: disable static checks temporarily
2025-09-22 18:32:58 +02:00
Johannes Kirschbauer
3574b37a29
clan_lib: fix inventory test message assertions
2025-09-22 12:10:51 +02:00
Johannes Kirschbauer
b273cc9c6a
clan_lib: temporarily allow missing paths again
2025-09-21 17:33:35 +02:00
Johannes Kirschbauer
51f3ffec42
clan_lib: rename writeability to write_map
2025-09-21 17:30:33 +02:00
Johannes Kirschbauer
48ddf22879
clan_lib: split utils into meaningfull files
2025-09-21 17:24:28 +02:00
Johannes Kirschbauer
9a03644a80
clan_lib: deprecate is_writeable_key
2025-09-21 16:37:50 +02:00
Johannes Kirschbauer
381c190ba2
clan_lib: inventory store use structured keys
2025-09-21 16:25:54 +02:00
Johannes Kirschbauer
bd50e1ee40
clan_lib: use structured keys for def calc_patches
...
This allows key that contain dot and other potentially ambigous unicode
2025-09-21 16:02:10 +02:00
Johannes Kirschbauer
00d38180d3
clan_lib: use flatten_data_structured
2025-09-21 16:02:10 +02:00
Johannes Kirschbauer
7e1b7b056d
clan_lib: use flatten_data_structured
2025-09-21 16:02:10 +02:00
Johannes Kirschbauer
4ec3043a4e
clan_lib: init flatten_data_structured
...
Avoids ambiguity issues with keys that contain dots or other separators.
2025-09-21 16:02:10 +02:00
Johannes Kirschbauer
78634d0165
clan_lib: persist, compute static data for simpler patch validation
2025-09-21 16:02:10 +02:00
Jörg Thalheim
47be7d6865
fix pytest
2025-09-18 17:07:50 +02:00
Johannes Kirschbauer
09af3f38ee
clan_lib: allow delete on non-existing data
2025-09-18 16:29:55 +02:00
Johannes Kirschbauer
0f71ffd3c7
clan_lib: typecast return of get_value_by_path
2025-09-18 16:29:55 +02:00
Michael Hoang
479d7d536e
cli/persist: explicitly annotate type to assist mypy
2025-09-16 16:07:54 +02:00
Jörg Thalheim
4cb17d42e1
PLR2004: fix
2025-08-26 16:21:15 +02:00
Jörg Thalheim
8ba8fda54b
RUF100: fix
2025-08-26 16:21:15 +02:00
Jörg Thalheim
d5b09f18ed
RET504: fix
2025-08-26 15:55:23 +02:00
Jörg Thalheim
8f8426de52
PGH003: fix
2025-08-26 11:36:38 +02:00
Jörg Thalheim
1d0e0f243e
PLW2901: fix
2025-08-25 15:17:06 +02:00
Mic92
8134ffd787
Merge pull request 'ruff-4-perf-fixes' ( #4935 ) from ruff-4-perf-fixes into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4935
2025-08-25 13:12:14 +00:00
Jörg Thalheim
c65bb0b1ce
PERF401: fix
2025-08-25 15:06:32 +02:00
Jörg Thalheim
4986fe30c3
ARG002/ARG005: fix
2025-08-25 14:36:36 +02:00
Jörg Thalheim
0ec2c32ff8
ruff: apply automatic unsafe fixes
2025-08-25 11:34:41 +02:00
Jörg Thalheim
ea2d6aab65
ruff: apply automatic fixes
2025-08-25 11:34:41 +02:00
Johannes Kirschbauer
2f27b3941e
lib/inventory: limit access to defined keys
2025-08-16 12:56:30 +02:00
Johannes Kirschbauer
4a51aa9316
clanModules: remove unused test code
2025-08-16 11:58:55 +02:00
Johannes Kirschbauer
cbd3b08296
api/tags: add from all possible sources
2025-08-12 11:05:10 +01:00
Johannes Kirschbauer
4f29f2e2ca
api/machines: add tests for tags readOnly
2025-08-11 18:07:02 +02:00
Johannes Kirschbauer
1009c61c9f
api/machines: use get_value_by_path utility for nested dict access
2025-08-11 17:49:25 +02:00
Johannes Kirschbauer
9f48b7a2fa
inventory: rename 'unmerge-lists' to 'list_difference'
2025-08-11 17:35:31 +02:00
Johannes Kirschbauer
fbdbcfa6d5
InventoryStore: factor write into _write for actual disk interaction
2025-07-27 00:02:47 +02:00
Johannes Kirschbauer
414e412e7e
persist/writeability: expose is writeable key helper
2025-07-27 00:01:36 +02:00
Johannes Kirschbauer
c2e84f11af
persist/util: add field helper
2025-07-27 00:01:07 +02:00
Johannes Kirschbauer
0043870882
merge_objects: add unit tests
2025-07-22 15:01:00 +02:00
Johannes Kirschbauer
0ea42ae541
store: move merge_objects into persistence helpers
2025-07-22 15:01:00 +02:00
Qubasa
cd1d49b603
clan-lib: Move nix_options from Machine class to Flake class
2025-06-24 19:03:20 +02:00
Johannes Kirschbauer
10cf0bfafe
Feat(inventoryStore): add get_raw to read all the values unsafe
2025-06-10 17:02:16 +02:00