Johannes Kirschbauer
39d0347c22
Fix(clan-services): allMachines might not contain the machineName
2025-06-20 14:41:17 +02:00
Johannes Kirschbauer
aa26d2ebf2
feat(clan-services): enable recursive services
...
Using recursive services is potentially complex and requires carefully
designed services. Nested Services create nixos modules which must be
mergable as always.
2025-06-15 20:06:02 +02:00
Johannes Kirschbauer
aa65e8e533
chore(clan-service): remove and unify unecessary bindings
2025-06-14 20:03:53 +02:00
Johannes Kirschbauer
216494c3db
feat(clan-service): add module context for better error messages
2025-06-14 20:03:53 +02:00
Johannes Kirschbauer
b3321d5482
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
4883b11bb6
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
0180013e68
docs(service-modules): add description and docs for options
2025-06-04 12:40:37 +02:00
Johannes Kirschbauer
9214559d38
Fix(tests/inventory): fix test assertions due to change in the exported structure
2025-06-03 18:30:04 +02:00
Johannes Kirschbauer
c6947a8fab
feat(inventory/instances): add option for extraModules to roles
2025-06-03 18:17:16 +02:00
Johannes Kirschbauer
97d7c38ba7
chore(inventory/instances): add forward all role attributes to the service
2025-06-03 17:38:02 +02:00
Johannes Kirschbauer
582841ba05
feat(inventory/instances): map over all machines and return lazy attributes
2025-06-03 17:37:04 +02:00
DavHau
1add6a6314
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
Johannes Kirschbauer
4f79c3e47d
feat(clanServices): add 'readme' to module manifest
2025-05-20 17:00:53 +02:00
Johannes Kirschbauer
4b36a6c170
Feat(inventory/manifest): vendor {description, categories} from 'clanModules'
2025-05-12 14:19:04 +02:00
Johannes Kirschbauer
38b76aa5e5
Refactor(inventory/manifest): move into seperate file
2025-05-10 13:58:21 +02:00
Johannes Kirschbauer
b71e5378d6
Refactor(inventory/modules): add support for local clan.modules and migrate all checks
2025-05-08 17:17:46 +02:00
Johannes Kirschbauer
f83a823e49
fix(services): features.API set to true and readOnly
2025-05-06 18:58:40 +02:00
Johannes Kirschbauer
dfa5a228e8
feat(clanLib): init evalServiceSchema
2025-05-05 21:55:29 +02:00
Johannes Kirschbauer
c88c68749e
API(clanInternals): add 'evalServiceSchema' endpoint
2025-05-05 21:46:20 +02:00
Johannes Kirschbauer
2d5e337f81
tests: add error prefix for json schema in checks
2025-05-05 21:46:16 +02:00
Johannes Kirschbauer
662787f96e
Checks: add json-compat check wrapper to ensure all clan.modules stay json-compatible
2025-04-29 15:31:02 +02:00
Johannes Kirschbauer
d6714355b5
refactor(clan.service): make evalClanService a standalone function to interact with standalone modules
2025-04-29 15:12:44 +02:00
Johannes Kirschbauer
12709227ee
Feat(clan.service): require roles.interface to be json serializable
2025-04-29 14:42:47 +02:00
Johannes Kirschbauer
be165c1462
Feat(clan.service): init automatic assertions for api schema checks
2025-04-27 11:49:56 +02:00
Johannes Kirschbauer
5253c155c0
feat(services): init feature flags in the module manifest: 'manifest.features.API'
2025-04-27 11:07:45 +02:00
Johannes Kirschbauer
1bad82b5c0
Fix: manually define empty tags for testing
2025-04-21 17:17:56 +02:00
Johannes Kirschbauer
b0fb0752e9
fix(checks/data-mesher): format, dont pass a duplicate data-mesher module
2025-04-09 18:03:04 +02:00
Johannes Kirschbauer
3ccfcdc0c1
fix(eval/inventory): fix some test arguments to buildInventory
2025-04-09 17:38:06 +02:00
Johannes Kirschbauer
7c955f2820
chore(lib/getModuleClass): remove unused library function
2025-04-08 22:09:10 +02:00
Johannes Kirschbauer
8c970dc04a
chore(inventory/instances): don't eagerly test the service modules _class
2025-04-08 20:30:35 +02:00
Johannes Kirschbauer
375b18fd32
feat(inventory/instances): dont set module location to allow underlying error location to bubble up
2025-04-08 14:36:29 +02:00
Johannes Kirschbauer
5db084e011
feat(inventory/instances): add extendSettings as argument to perInstance, perMachine
2025-04-08 13:15:06 +02:00
Michael Hoang
ce85aebc17
tests: add --show-trace to nix-unit tests
2025-04-08 08:53:29 +02:00
Johannes Kirschbauer
bc2e353dff
feat(lib/inventory): fix arguments discrepancy on perInstance and perMachine
2025-04-04 14:22:36 +02:00
Johannes Kirschbauer
3358eb1bfa
chore(lib/select): init simple test
2025-04-04 14:06:05 +02:00
Johannes Kirschbauer
11f213f8e2
feat(inventory/instances): prevent modules without explizit class from beeing used
2025-04-02 14:57:21 +02:00
Johannes Kirschbauer
f6f0c1b356
fix(inventory/interface): use explizit file dependency, until dependency injection works properly
2025-04-02 11:12:16 +02:00
Johannes Kirschbauer
6e16d1345e
chore(lib/treewide): cleanup directory struture of lib. See lib/readme.md for details
2025-04-02 11:11:21 +02:00