Johannes Kirschbauer
8bb28b7ba7
Fix(clan-services): allMachines might not contain the machineName
2025-06-20 14:41:17 +02:00
Johannes Kirschbauer
aabe253bf9
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
e14fbb66b1
chore(clan-service): remove and unify unecessary bindings
2025-06-14 20:03:53 +02:00
Johannes Kirschbauer
ca0a56292e
feat(clan-service): add module context for better error messages
2025-06-14 20:03:53 +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
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
Johannes Kirschbauer
d8cb43ae8d
feat(clanServices): add 'readme' to module manifest
2025-05-20 17:00:53 +02:00
Johannes Kirschbauer
77ec1e9e48
Feat(inventory/manifest): vendor {description, categories} from 'clanModules'
2025-05-12 14:19:04 +02:00
Johannes Kirschbauer
bbed94d6de
Refactor(inventory/manifest): move into seperate file
2025-05-10 13:58:21 +02:00
Johannes Kirschbauer
0af36d0a4d
Refactor(inventory/modules): add support for local clan.modules and migrate all checks
2025-05-08 17:17:46 +02:00
Johannes Kirschbauer
7d55511d6f
fix(services): features.API set to true and readOnly
2025-05-06 18:58:40 +02:00
Johannes Kirschbauer
e44d34ef99
feat(clanLib): init evalServiceSchema
2025-05-05 21:55:29 +02:00
Johannes Kirschbauer
9fbd943f44
API(clanInternals): add 'evalServiceSchema' endpoint
2025-05-05 21:46:20 +02:00
Johannes Kirschbauer
d42d9ad943
tests: add error prefix for json schema in checks
2025-05-05 21:46:16 +02:00
Johannes Kirschbauer
3d09c98ed3
Checks: add json-compat check wrapper to ensure all clan.modules stay json-compatible
2025-04-29 15:31:02 +02:00
Johannes Kirschbauer
a4a1363195
refactor(clan.service): make evalClanService a standalone function to interact with standalone modules
2025-04-29 15:12:44 +02:00
Johannes Kirschbauer
9b5f100ac6
Feat(clan.service): require roles.interface to be json serializable
2025-04-29 14:42:47 +02:00
Johannes Kirschbauer
6dfc324661
Feat(clan.service): init automatic assertions for api schema checks
2025-04-27 11:49:56 +02:00
Johannes Kirschbauer
8495106ec4
feat(services): init feature flags in the module manifest: 'manifest.features.API'
2025-04-27 11:07:45 +02:00
Johannes Kirschbauer
cd0e8eafce
Fix: manually define empty tags for testing
2025-04-21 17:17:56 +02:00
Johannes Kirschbauer
c344d57298
fix(checks/data-mesher): format, dont pass a duplicate data-mesher module
2025-04-09 18:03:04 +02:00
Johannes Kirschbauer
ec2aee3013
fix(eval/inventory): fix some test arguments to buildInventory
2025-04-09 17:38:06 +02:00
Johannes Kirschbauer
f399aad06e
chore(lib/getModuleClass): remove unused library function
2025-04-08 22:09:10 +02:00
Johannes Kirschbauer
9af20ad8b5
chore(inventory/instances): don't eagerly test the service modules _class
2025-04-08 20:30:35 +02:00
Johannes Kirschbauer
07e6df35a5
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
4913d2db87
feat(inventory/instances): add extendSettings as argument to perInstance, perMachine
2025-04-08 13:15:06 +02:00
Michael Hoang
67745e1b27
tests: add --show-trace to nix-unit tests
2025-04-08 08:53:29 +02:00
Johannes Kirschbauer
f326c307eb
feat(lib/inventory): fix arguments discrepancy on perInstance and perMachine
2025-04-04 14:22:36 +02:00
Johannes Kirschbauer
6d4bbc3e92
chore(lib/select): init simple test
2025-04-04 14:06:05 +02:00
Johannes Kirschbauer
788d9b9670
feat(inventory/instances): prevent modules without explizit class from beeing used
2025-04-02 14:57:21 +02:00
Johannes Kirschbauer
2715c398cc
fix(inventory/interface): use explizit file dependency, until dependency injection works properly
2025-04-02 11:12:16 +02:00
Johannes Kirschbauer
2ab53b05fe
chore(lib/treewide): cleanup directory struture of lib. See lib/readme.md for details
2025-04-02 11:11:21 +02:00