hsjobeki
f0e3b753dc
Merge pull request 'Feat(machine/templates): simplify template args for machines command' ( #3937 ) from hsjobeki/template-ux into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3937
2025-06-14 08:25:28 +00:00
lassulus
a267cc2f69
generate_test_vars: add support for darwin
2025-06-12 14:49:12 +02:00
Johannes Kirschbauer
4a126fee12
Feat(templates): export clan templates statically
2025-06-11 16:52:52 +02:00
DavHau
b13f64c96d
clan tests: allow testing CLI interactions
...
This is an improvement of the clanTest nixos vm test module.
The module now has a new option clan.test.fromFlake that allows to specify a flake.nix as the source for the test clan instead of specifying clan.XXX options.
This in turn allows accessing the `flake.nix` inside the test driver allowing to use the clan cli on it
2025-06-11 19:30:13 +07:00
Johannes Kirschbauer
17527082f4
chore(clanInternals): remove unused 'templates' attribute"
2025-06-10 19:26:04 +02:00
Johannes Kirschbauer
7b7e1cf246
feat(clanInternals): dont allow superfluous options
2025-06-10 19:16:26 +02:00
Johannes Kirschbauer
b429aed8f4
Fix(tests/buildClan): reduce expected attributes
2025-06-10 19:00:57 +02:00
Johannes Kirschbauer
78563b0544
Fix(clan.nix): create public attributes from 'clan', dont expose them from clanInternals
...
ClanInternals is already exposed at the toplevel the API can access anything
This also deduplicated 'templates' and 'modules' into 'clan.modules' and 'clan.templates' repsectively
Only this one path is its source
2025-06-10 18:51:42 +02:00
Johannes Kirschbauer
e322c92b2e
Chore(clanInternals): remove unused attributes
2025-06-10 18:27:16 +02:00
DavHau
7cf065ae8c
buildClan function: export all machines via nixosModules/darwinModules
...
We want each machine not only to be exposed via nixosConfigurations but also as a module.
This allows re-importing the machine in tests and override the architecture for example.
2025-06-09 12:51:22 +00:00
DavHau
ae611e8fde
lib: mkOfflineFlakeLock init
...
copied from the clan-core-flake module
I plan to re-use this function to improve the clan test framework to allow cli execution
2025-06-09 15:23:09 +07:00
DavHau
4616545cba
build-clan: refactor: don't only use imports
2025-06-09 13:24:27 +07:00
hsjobeki
22db6ace21
Merge pull request 'Feat(jsonschema): simplify isRequired, look into default and defaultText' ( #3861 ) from json-schema into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3861
2025-06-04 18:34:40 +00:00
Johannes Kirschbauer
e8608f5af3
feat(jsonschema): filter out $exportedModuleInfo by default
2025-06-04 20:22:54 +02:00
Johannes Kirschbauer
cdaa35ca5f
feat(jsonschema): remove 'default' if 'defaultText' is present
...
default is likely to contain an error thunk if defaultText is set
including it into $exportedModuleInfo makes it non-serializable
2025-06-04 20:22:32 +02:00
Johannes Kirschbauer
f99ddab70f
Feat(jsonschema): simplify isRequired, look into default and defaultText
2025-06-04 19:57:39 +02:00
Johannes Kirschbauer
e4e39f4b86
Fix(tests/inventory): fix test by adding passtrhough
...
Since nixosModule is not inspectable during unit test
2025-06-04 14:30:12 +02:00
Johannes Kirschbauer
c9398fab12
Feat(clanServices): expose all other instance options than nixosModule
...
This is usefull for augmenting the perInstance module
2025-06-04 14:29:36 +02:00
Johannes Kirschbauer
04106b24d2
docs(service-modules): add description and docs for options
2025-06-04 12:40:37 +02:00
pinpox
11fd796d44
Fix test runner for tests without vars
2025-06-03 22:35:10 +02:00
Johannes Kirschbauer
e5c0c1e69c
Fix(inventory/extraModules): use more narrow type for better persistence
2025-06-03 18:57:34 +02:00
Johannes Kirschbauer
bbbc13c973
Fix(tests/inventory): fix test assertions due to change in the exported structure
2025-06-03 18:30:04 +02:00
Johannes Kirschbauer
682da0e396
feat(inventory/instances): add option for extraModules to roles
2025-06-03 18:17:16 +02:00
Johannes Kirschbauer
5601423ed5
chore(inventory/instances): add forward all role attributes to the service
2025-06-03 17:38:02 +02:00
Johannes Kirschbauer
9c2bf0bbfe
feat(inventory/instances): map over all machines and return lazy attributes
2025-06-03 17:37:04 +02:00
DavHau
01737d2bf7
clan tests: convert makeTestClan to a module
...
Let's not put yet another wrapper around runTest, instead expose our logic as a module that can be imported into any nixos-vm-test
2025-06-03 19:38:02 +07:00
DavHau
a0cbc815e8
makeTestClan: simplify - move parameters into module
...
... in preparation of removing the makeTestClan wrapper and make this a module instead that can be imported into any test.
2025-06-03 19:38:02 +07:00
Qubasa
27791477b1
inventory: Add buildHost argument
2025-06-02 14:52:13 +02:00
DavHau
65d9ef02dc
generate-test-vars: fake prompt inputs
...
Use fake prompt inputs when generating vars for testing
2025-05-31 17:14:26 +07:00
DavHau
d27834b565
tests: actually execute vars checks in CI
2025-05-31 16:16:09 +07:00
DavHau
e81771a724
tests: test vars generation for all clan service tests
2025-05-31 12:17:52 +07:00
Mic92
1523ac18c9
Merge pull request 'Add inputs to specialArgs and make templates use it' ( #3798 ) from templates into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3798
2025-05-30 18:33:33 +00:00
Jörg Thalheim
646a3d56ce
add inputs to specialArgs and make templates use it.
2025-05-30 19:53:12 +02:00
Jörg Thalheim
1a1898b5f1
container-test: better error message for nsenter
2025-05-30 12:27:51 +02:00
Jörg Thalheim
795ace408a
container-test: disable UsePam for ssh
...
doesn't work without setuid, which we currently do not support.
2025-05-30 11:53:20 +02:00
Johannes Kirschbauer
8eb2ad6c6d
feat(nix_models): replace inventory model by holistic clan model
2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
e2e4344d83
fix(clan/interface): minor fixes
2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
8576016b32
fix(clanLib): propagate clanLib into module apply
2025-05-21 20:44:56 +02:00
Johannes Kirschbauer
2510b2bb77
Tests(deferred custom module): add more tests, dissallow nested imports
2025-05-21 18:54:07 +02:00
Johannes Kirschbauer
9f298ecb86
Feat(settings): use uniqueDeferredSerializableModule for settings
2025-05-21 18:41:20 +02:00
Johannes Kirschbauer
df0b8cfd45
Feat(clanLib): init types {uniqueDeferredSerializableModule}
2025-05-21 18:41:14 +02:00
Johannes Kirschbauer
b628b12b3e
Fix(introspection): 'lazyAttrsOf' needs to get the same handling as 'attrsOf'
2025-05-21 16:45:19 +02:00
hsjobeki
38159d85f7
Merge pull request 'feat(docs,api): expose inventory.instances interface' ( #3721 ) from hsjobeki/clan-core:inventory-services-1 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3721
2025-05-20 15:29:14 +00:00
Johannes Kirschbauer
d8cb43ae8d
feat(clanServices): add 'readme' to module manifest
2025-05-20 17:00:53 +02:00
Johannes Kirschbauer
40e34d9307
feat(docs,api): expose inventory.instances interface"
2025-05-20 16:10:32 +02:00
Johannes Kirschbauer
6863ce136f
chore(inventory/tags): remove unsupported settings from tags interface
2025-05-20 16:10:32 +02:00
Johannes Kirschbauer
f6544d1cda
Feat(jsonschema): convert deferredModule to unknown
2025-05-20 15:48:28 +02:00
Jörg Thalheim
72073494a1
Stop warning about inventory.instances
...
we now marked inventory.modules as deprecated, so this new api can be no
longer under development
2025-05-20 10:12:34 +02:00
Johannes Kirschbauer
88f7b3410e
Docs: unify 'manual' with 'guides' folder
...
This is one of the final steps towards strictly following
https://diataxis.fr/
2025-05-18 20:40:40 +02:00
hsjobeki
1bcf5a82a6
Merge pull request 'refactor: move clan_cli.error to clan_lib.error' ( #3677 ) from hsjobeki/clan-core:chores-1 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3677
2025-05-16 15:17:41 +00:00