Commit Graph

3052 Commits

Author SHA1 Message Date
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
DavHau
b72145d4aa vars/list: reduce cache misses to 1
This improves the performance for clan vars list
2025-10-01 12:43:09 +07:00
DavHau
d2728bea27 Merge pull request 'vars: make list/get fast' (#5316) from vars into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5316
2025-09-30 10:15:08 +00:00
Jörg Thalheim
d67e23890b inline stringify_vars 2025-09-30 12:10:44 +02:00
Jörg Thalheim
597eb46c47 vars: speedup get/list
no longer get the full closure that is only needed for generating vars
2025-09-30 12:10:44 +02:00
Michael Hoang
51bf7c8848 cli: support machines init-hardware-config --debug 2025-09-25 22:10:01 +02:00
Qubasa
a28270f43a docs: extensive backup documentation 2025-09-25 18:59:27 +02:00
hsjobeki
becb32a947 Merge pull request 'lib/introspect: use valueMeta to expose more information' (#5262) from update-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5262
2025-09-24 16:38:14 +00: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
Luis Hebendanz
8da25d5295 Merge pull request 'hardware-update-split' (#5261) from Qubasa/clan-core:hardware-update-split into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5261
2025-09-24 14:54:32 +00:00
Qubasa
ed069c48d3 clan-cli: rename to init-hardware-config 2025-09-24 16:51:06 +02:00
Qubasa
ac79bfb35f clan-cli: Split up update-hardware info into kexec-hardware-info 2025-09-24 15:47:33 +02:00
Qubasa
5595b2f862 clan-cli: Don't print trace on Keyboard Interrupt 2025-09-24 15:43:04 +02:00
lassulus
8567c2c09d clan-cli vars: speedup vars retrieval 2025-09-23 13:55:33 +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
Qubasa
8ff060c589 clan_lib: Remote add to arguments override func 2025-09-22 11:20:49 +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
Luis Hebendanz
4ec6ec0090 Merge pull request 'clan-cli: Increase test coverage for clan flash list' (#5194) from Qubasa/clan-core:add_flash_test into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5194
2025-09-20 00:19:33 +00:00
Qubasa
ec98cdf097 clan-cli: Increase test coverage for clan flash list 2025-09-20 02:15:33 +02:00
Luis Hebendanz
fb4c151969 Merge pull request 'clan machines generations' (#4848) from Qubasa/clan-core:add_generate_cli into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4848
2025-09-19 23:30:19 +00:00
Qubasa
455268f6ce clanServices: add ca certs for monitoring/telegraf 2025-09-19 01:29:23 +02:00
Jörg Thalheim
47be7d6865 fix pytest 2025-09-18 17:07:50 +02:00
hsjobeki
1e18d7b897 Merge pull request 'clan_lib: fix update_service:_instance api name' (#5201) from api-update-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5201
2025-09-18 14:46:00 +00:00
Johannes Kirschbauer
668fc39dba clan_lib: fix update_service:_instance api name 2025-09-18 16:45:03 +02:00
hsjobeki
1a344f759a Merge pull request 'clan_lib/api: init update service instance' (#5199) from api-update-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5199
2025-09-18 14:33:18 +00:00
Johannes Kirschbauer
3cc1ea6d83 clan_lib/api: init update service instance 2025-09-18 16:31:07 +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
Johannes Kirschbauer
0fef161391 clan_lib: add inventory json argument 2025-09-18 16:27:05 +02:00
Qubasa
74f853bd7c clan-cli: Add a clan machines generations command
improvements

stash
2025-09-18 15:18:33 +02:00
Jörg Thalheim
4b549365f7 telegraf: move telegraf.json into runtime directory
No need to persist this type of data. We also don't need to allocate a
persistent user for telegraf.

Also make it a directory because otherwise thre is a potential race
condition on startup.
2025-09-18 12:11:48 +02:00
Michael Hoang
9a9d6bf22d cli: don't commit the target host for privacy 2025-09-17 12:09:26 +02:00
Qubasa
4aff2a9d40 vars: add machine name to errors 2025-09-16 21:13:54 +02:00
Qubasa
9b39ca42e0 clan_lib: implement check_zerotier_running for network overview 2025-09-16 21:13:54 +02:00
Moritz Böhme
3d8fab062d feat: add zerotier to network cli 2025-09-16 17:24:11 +02:00
clan-bot
e4b316c14a Merge pull request 'Update nixpkgs' (#4821) from update-nixpkgs into main 2025-09-16 14:19:39 +00:00
Luis Hebendanz
125a882938 Merge pull request 'bundle nix packagemanager by default' (#5166) from nix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5166
2025-09-16 14:10:29 +00:00
Michael Hoang
2152646df6 cli: don't hardcode system for flash list 2025-09-16 16:07:54 +02:00
Michael Hoang
479d7d536e cli/persist: explicitly annotate type to assist mypy 2025-09-16 16:07:54 +02:00