DavHau
37a49a14f4
vars: fix re-generate behavior for dependencies of shared vars ( #5001 )
...
fixes https://git.clan.lol/clan/clan-core/issues/3791
This fixes multiple issues we had when re-generating shared vars.
Problem 1: shared vars are re-generated for each individual machine instead of just once (see #3791 )
Problem 2: When a shared var was re-generated for one machine, dependent vars on other machines did not get re-generated, leading to broken state
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5001
2025-09-02 14:54:24 +00:00
DavHau
3d2127ce1e
vars: always generate dependents
...
Even for the minimal closure case (when a specific generator was picked), we should still force regeneration of all dependents, as otherwise we risk keeping outdated dependents from previous generations
2025-08-27 11:47:46 +07:00
DavHau
6e4c3a638d
vars: move graph tests to separate file
2025-08-27 11:47:46 +07: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
d4bdaec586
SIM102: fix
2025-08-26 15:22:25 +02:00
Jörg Thalheim
b2a54f5b0d
PLC0415: fix
2025-08-26 14:46:42 +02:00
DavHau
501d020562
vars: retrieve generators for multiple machines
...
This is necessary ground work for fixing regeneration behavior spanning over multiple machines
2025-08-26 18:55:54 +07:00
Jörg Thalheim
ac20514a8e
EXE001: fix
2025-08-26 12:01:47 +02:00
Jörg Thalheim
b38b10c9a6
automatic ruff fixes
2025-08-26 11:07:57 +02:00
Jörg Thalheim
31cbb7dc00
PLC0415: fix
2025-08-26 11:07:57 +02:00
DavHau
648aa7dc59
Merge pull request 'API: fix serialization of union types' ( #4963 ) from serde into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4963
2025-08-26 08:26:13 +00:00
DavHau
3073969c92
vars/tests: add comments
2025-08-26 15:17:41 +07:00
pinpox
4934884e0c
Enable state-version in defaults
2025-08-26 09:32:36 +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
d9e6e0c540
D417: fix
2025-08-25 14:56:48 +02:00
Jörg Thalheim
ef5ab0c2f4
D404: fix
2025-08-25 14:56:48 +02:00
Mic92
05665b1c7e
Merge pull request 'ruff-3-arg-fixes' ( #4934 ) from ruff-3-arg-fixes into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4934
2025-08-25 12:54:04 +00:00
Jörg Thalheim
04457b1272
ARG001: fix
2025-08-25 14:46:12 +02:00
Jörg Thalheim
e208c02be7
S311: fix random usage
2025-08-25 14:07:59 +02:00
Jörg Thalheim
7747e3cc0d
S604: ignore
2025-08-25 14:07:59 +02:00
Jörg Thalheim
1c24b4c6cb
S604: fix
2025-08-25 14:07:59 +02:00
Jörg Thalheim
0a70ed6268
S108: ignore our uses
2025-08-25 13:43:33 +02:00
DavHau
c308fd63a7
vars: delete old var when changing share
...
When changing a password from non-shared to shared, we want to remove the old one
2025-08-25 10:37:46 +00:00
Mic92
0803d9c864
Merge pull request 'Apply automatic ruff lints' ( #4919 ) from ruff-1 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4919
2025-08-25 09:53:41 +00:00
Jörg Thalheim
ea2d6aab65
ruff: apply automatic fixes
2025-08-25 11:34:41 +02:00
Johannes Kirschbauer
00bd003be4
tests/dirs: unify test files
2025-08-25 10:14:02 +02:00
Johannes Kirschbauer
f4d6edc501
api/modules: unify frontmatter with module manifest
2025-08-20 20:15:41 +02:00
DavHau
527b4b2e40
vars: ensure shared generators don't depend on machine specific generators
...
A dependency relation like this would not make sense as it would not be clear which machines generator the shared generator would depend on
2025-08-20 15:39:17 +07:00
DavHau
de0b1b2d70
vars: fix regenerating a specific generator
...
This was broken after re-designing the API -> added a test
2025-08-20 14:49:27 +07:00
DavHau
ef2a2bdb67
vars: improve tests for --regenerate
...
Ensures that all generators values actually change after running with --regenerate
2025-08-20 11:59:18 +07:00
DavHau
7b61a668e9
vars: refactor: use Machine objects instead of base_dir strings
...
Replace base_dir string parameters with Machine objects throughout the vars
module for better type safety and consistency.
2025-08-20 11:59:18 +07:00
Jörg Thalheim
cdf9fa1753
move vm configuration into a stand-alone module and include it in our test vms
...
This hasn't reduced the extra deps we have to pass to our nixos build
unfortunally, but maybe at least it can safe us a few in the future.
2025-08-19 15:45:57 +00:00
Jörg Thalheim
2d264a8e5e
mark vm tests as pure
2025-08-19 15:28:25 +02:00
Jörg Thalheim
5b1a9d6848
vms: also prebuild for aarch64
2025-08-19 14:49:52 +02:00
Jörg Thalheim
4074a184b2
make vm test pure
2025-08-19 14:47:12 +02:00
DavHau
815c6c9438
vars: move generation functions to clan_lib
2025-08-19 18:05:53 +07:00
DavHau
ab274ce932
vars: refactor - remove generate_vars() in favor of run_generators()
...
The motivation is to have one shared entry point for the CLI as well as API/GUI
2025-08-19 16:26:53 +07:00
DavHau
aaca8f4763
vars: refactor - move generator specific code to Generator class
...
Several functions in generate.py were specific to generator instances. Let's move them into the Generator class
2025-08-19 07:41:31 +00:00
DavHau
ee87f20471
vars: refactor - remove create_machine_vars_interactive in favor of run_generators
...
The motivation is to create one powerful entrypoint shared by the GUI as well as the CLI in order to not having to maintain too much separate code paths.
As a next step, generate_vars can probably also be removed.
2025-08-19 13:26:38 +07:00
Johannes Kirschbauer
f82d18d649
API: rename util file to 'type_to_jsonschema'
2025-08-18 19:30:43 +02:00
hsjobeki
e109361e81
Merge pull request 'clanModules: remove unused code' ( #4785 ) from clean-dead-code into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4785
2025-08-16 11:03:16 +00: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
Jörg Thalheim
3ef0a7919d
vms/inspect: mark test as pure
2025-08-15 13:31:27 +02:00
Jörg Thalheim
36812d5f95
test_vars_deployment: simplify test to just start one vm
2025-08-15 13:30:30 +02:00
Jörg Thalheim
b69ad0eca5
backups/list: mark as pure
2025-08-15 13:10:41 +02:00
Jörg Thalheim
b221c29694
flakes/inspect: mark test as pure
2025-08-15 13:08:30 +02:00