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
Jörg Thalheim
c4d9b39a17
tests_secrets_generate: mark as pure
2025-08-15 12:51:20 +02:00
Jörg Thalheim
716b74bc02
test_machines_cli: remove more tests from the impure set
2025-08-14 17:14:35 +02:00
Jörg Thalheim
9cdc6a27b6
test_copy_from_nixstore_symlink: drop test.
...
seems a bit overkill to have a test for two lines of python code...
2025-08-14 16:53:39 +02:00
Jörg Thalheim
96014c02c5
clan-cli/templates: mark tests as pure
2025-08-14 16:35:25 +02:00
pinpox
35e5f4a42a
Remove clanModules
...
- Removes clanModules in favor of the new clanServices
- Adds a warning and link to the migration guide
2025-08-14 12:02:40 +02:00
DavHau
72d3ad09a4
vars: refactor - pass Machine objects to run_generators
2025-08-13 12:45:47 +00:00
DavHau
a535450ec0
vars: refactor - unify get_generators and _get_closure
2025-08-13 12:45:47 +00:00
lassulus
c14a5fcc69
refactor: move ssh/upload.py from cli to lib
...
Move the upload module to clan_lib to better organize SSH-related
utilities. Updated all imports across the codebase.
2025-08-13 12:04:14 +07:00
DavHau
ee8e44d255
vars/generators: refactor - identify generators by name + machine
...
This brings us one step closer towards re-generating over multiple machines reliably
2025-08-11 21:02:55 +07:00
DavHau
d0374c0d7c
vars/keygen: add --no-interactive flags
...
This is useful to force on-interactive mode with automatic key selection. In unit tests this is necessary. When debugging a test on a real terminal interactive mode is not desired
2025-08-11 11:29:25 +07:00
Johannes Kirschbauer
31d3997358
Secrets: fix tests
2025-08-10 13:06:42 +02:00
a-kenji
b6bccd218a
templates(flake-parts-minimal): Fix erroneous removal
2025-08-09 00:56:21 +02:00
Johannes Kirschbauer
915178765b
Vars: rename classmethod to get_machine_generators
2025-08-07 15:31:17 +02:00
DavHau
b74193514d
ssh: refactor callers to use new Host interface
2025-08-05 13:16:59 +02:00
Johannes Kirschbauer
cf6c3604ca
generators_from_flake: vars always bind to store
2025-07-31 16:16:36 +02:00
Johannes Kirschbauer
96fc3d409a
vars/list: untangle generators_from_flake and get_generators
2025-07-31 15:17:57 +02:00
Kenji Berthold
5d0ca5aff8
Merge pull request 'pkgs/clan/lib: Fix clan template creation when already in a flake' ( #4501 ) from kenji/ke-clan-flakes-create-existing-flake-fix into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4501
2025-07-29 11:19:04 +00:00
a-kenji
3ef6b2f715
pkgs/clan/cli: Add test for builtin flakeref
2025-07-29 13:07:48 +02:00
hsjobeki
6a8d7aa5fd
Merge pull request 'api: init get_machine_writeability' ( #4504 ) from cli-fixes into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4504
2025-07-28 08:47:43 +00:00
Johannes Kirschbauer
e73350f6af
test: fix add modules
2025-07-27 12:48:04 +02:00
a-kenji
0a43721a45
pkgs/clan/lib: Fix clan template creation when already in a flake
...
Fix clan template creation when already in a flake.
Currently we already fail with very clear and descriptive error when
trying to evaluate the template of the flake we are in:
```
Failed to select template 'flake-parts' from flake '/tmp/superclan' (via attribute path: /tmp/superclan#clanInternals.templates.clan."flake-parts")
```
This is undesired behavior.
When we are trying to create a clan with `clan flakes create`.
We can't rely on the fact that the flake we are currently in exports flake templates.
Now we *try* to evaluate the flake we are in upon creation.
If there are no clan templates available, we now will fall back to
builtin templates.
Closes : #4472
2025-07-26 15:21:44 +02:00
a-kenji
326f418c88
pkgs/cli: Remove uncommented logic from creation test
2025-07-25 14:44:20 +02:00
Jörg Thalheim
377056e80c
clan flakes create: initialize keys automatically ( #4435 )
...
fixes https://git.clan.lol/clan/clan-core/issues/2665
fixes https://git.clan.lol/clan/clan-core/issues/4407
Co-authored-by: DavHau <d.hauer.it@gmail.com >
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4435
Co-authored-by: Jörg Thalheim <joerg@thalheim.io >
Co-committed-by: Jörg Thalheim <joerg@thalheim.io >
2025-07-23 04:44:55 +00:00
hsjobeki
341f444fa0
revert bd3861c580
...
revert Merge pull request 'Remove clanModules/*' (#4202 ) from remove-modules into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4202
See: https://git.clan.lol/clan/clan-core/issues/4365
Not all modules are migrated.
If they are not migrated, we need to write migration docs and please display the link to the migration docs
2025-07-15 17:51:36 +00:00
pinpox
0e53499f40
Remove clanModules
2025-07-15 11:53:32 +02:00
hsjobeki
e8ecd22bab
Merge pull request 'clan_cli: move __init__.py into cli.py' ( #4323 ) from cli into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4323
2025-07-13 16:14:21 +00:00
Johannes Kirschbauer
3e82e63443
clan_cli: rename references
2025-07-13 15:53:10 +02:00
Johannes Kirschbauer
6d2f522cbb
lib/modules: list modules consistent argument
2025-07-13 13:57:02 +02:00